Module Make.Smt2

val pipe : string
module S : sig ... end
type old_logic = Smtlib2(State)(Typer_Types).old_logic =
  1. | Not_seen_yet
  2. | Logic of (string * Typer_Types.typechecked Typer_Types.stmt) option
type acc = Smtlib2(State)(Typer_Types).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
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