sidekick/src/th-cstor/Sidekick_th_cstor.mli

13 lines
337 B
OCaml

(** Theory for constructors *)
open Sidekick_core
module SMT = Sidekick_smt_solver
type ('c, 't) cstor_view = T_cstor of 'c * 't array | T_other of 't
module type ARG = sig
val view_as_cstor : Term.t -> (Const.t, Term.t) cstor_view
val lemma_cstor : Lit.t list -> Sidekick_proof.Pterm.t
end
val make : (module ARG) -> SMT.theory