sidekick/src/smtlib/Process.mli

38 lines
808 B
OCaml

(** {1 Process Statements} *)
open Sidekick_base_term
module Solver
: Sidekick_msat_solver.S with type A.Term.t = Term.t
and type A.Term.state = Term.state
and type A.Ty.t = Ty.t
val th_bool : Solver.theory
type 'a or_error = ('a, string) CCResult.t
(* TODO: record type for config *)
val conv_ty : Ast.Ty.t -> Ty.t
val conv_term : Term.state -> Ast.term -> Term.t
module Check_cc : sig
(** theory that check validity of conflicts *)
val theory : Solver.theory
end
val process_stmt :
?hyps:Solver.Atom.t list Vec.t ->
?gc:bool ->
?restarts:bool ->
?pp_cnf:bool ->
?dot_proof:string ->
?pp_model:bool ->
?check:bool ->
?time:float ->
?memory:float ->
?progress:bool ->
Solver.t ->
Ast.statement ->
unit or_error