mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 11:15:43 -05:00
- getting closer to having the SMT solver compile again - dummy proof implementation - DRUP proof implementation for pure SAT solver
31 lines
827 B
OCaml
31 lines
827 B
OCaml
|
|
(*
|
|
(** Proofs of unsatisfiability
|
|
|
|
Proofs are used in sidekick when the problem is found {b unsatisfiable}.
|
|
A proof collects inferences made by the solver into a list of steps,
|
|
each with its own kind of justification (e.g. "by congruence"),
|
|
and outputs it in some kind of format.
|
|
|
|
Currently we target {{: https://c-cube.github.io/quip-book/ } Quip}
|
|
as an experimental proof backend.
|
|
*)
|
|
|
|
open Base_types
|
|
|
|
include Sidekick_core.PROOF
|
|
with type term = Term.t
|
|
and type ty = Ty.t
|
|
|
|
val isa_split : ty -> term Iter.t -> t
|
|
val isa_disj : ty -> term -> term -> t
|
|
val cstor_inj : Cstor.t -> int -> term list -> term list -> t
|
|
|
|
val bool_eq : term -> term -> t
|
|
val bool_c : string -> term list -> t
|
|
val ite_true : term -> t
|
|
val ite_false : term -> t
|
|
|
|
val lra : lit Iter.t -> t
|
|
val lra_l : lit list -> t
|
|
*)
|