Module Transform.Smtlib2

Parameters

module State : State.S

Signature

val pipe : string
module S : sig ... end
type old_logic =
  1. | Not_seen_yet
  2. | Logic of (string * Typer_Types.typechecked Typer_Types.stmt) option
type acc = {
  1. seen_exit : bool;
  2. scan_acc : S.acc option;
  3. old_logic : old_logic;
  4. pre_logic_stmts : Typer_Types.typechecked Typer_Types.stmt list;
  5. post_logic_stmts : Typer_Types.typechecked Typer_Types.stmt list;
}
val init : compute_logic:bool -> acc
val need_logic : old_logic -> old_logic
val reduce_post_logic_stmts : 'a -> 'a

Try and simplify some series of statements. Note that the list here is in reverse order (so the first element is the last statement seen).

val add_post_logic_stmt : acc -> Typer_Types.typechecked Typer_Types.stmt -> acc
val add_pre_logic_stmt : acc -> Typer_Types.typechecked Typer_Types.stmt -> acc