mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-08 04:05:43 -05:00
38 lines
808 B
OCaml
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
|