mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-10 05:03:59 -05:00
33 lines
1.4 KiB
OCaml
33 lines
1.4 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* Cubicle *)
|
|
(* Combining model checking algorithms and SMT solvers *)
|
|
(* *)
|
|
(* Mohamed Iguernelala *)
|
|
(* Universite Paris-Sud 11 *)
|
|
(* *)
|
|
(* Copyright 2011. This file is distributed under the terms of the *)
|
|
(* Apache Software License version 2.0 *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
module Make (F : Formula_intf.S)
|
|
(St : Solver_types.S with type formula = F.t)
|
|
(Ex : Explanation.S with type atom = St.atom)
|
|
(Th : Theory_intf.S with type formula = F.t and type explanation = Ex.t) : sig
|
|
|
|
exception Sat
|
|
exception Unsat of St.clause list
|
|
|
|
type state
|
|
|
|
val solve : unit -> unit
|
|
val assume : F.t list list -> cnumber : int -> unit
|
|
val clear : unit -> unit
|
|
|
|
val eval : F.t -> bool
|
|
val save : unit -> state
|
|
val restore : state -> unit
|
|
|
|
end
|
|
|