mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-10 21:24:06 -05:00
20 lines
444 B
OCaml
20 lines
444 B
OCaml
|
|
type ('formula, 'proof) res =
|
|
| Sat | Unsat of 'formula list * 'proof
|
|
|
|
type ('form, 'proof) slice = {
|
|
start : int;
|
|
length : int;
|
|
get : int -> 'form;
|
|
push : 'form list -> 'proof -> unit;
|
|
}
|
|
|
|
module type S = sig
|
|
val dummy : level
|
|
val backtrack : level -> unit
|
|
val current_level : unit -> level
|
|
val assume : (formula, proof) slice
|
|
-> (formula, proof) res
|
|
val if_sat : (formula, proof) slice
|
|
-> (formula, proof) res
|
|
end
|