mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 03:05:31 -05:00
26 lines
488 B
OCaml
26 lines
488 B
OCaml
(** Proof terms.
|
|
|
|
A proof term is the description of a reasoning step, that yields a clause. *)
|
|
|
|
open Sidekick_core_logic
|
|
|
|
type step_id = int32
|
|
type lit = Lit.t
|
|
|
|
type t = {
|
|
rule_name: string;
|
|
lit_args: lit Iter.t;
|
|
term_args: Term.t Iter.t;
|
|
subst_args: Subst.t Iter.t;
|
|
premises: step_id Iter.t;
|
|
}
|
|
|
|
include Sidekick_sigs.PRINT with type t := t
|
|
|
|
val make :
|
|
?lits:lit Iter.t ->
|
|
?terms:Term.t Iter.t ->
|
|
?substs:Subst.t Iter.t ->
|
|
?premises:step_id Iter.t ->
|
|
string ->
|
|
t
|