mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-09 20:55:39 -05:00
28 lines
514 B
OCaml
28 lines
514 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 = Proof_step.id
|
|
type lit = Lit.t
|
|
|
|
type data = {
|
|
rule_name: string;
|
|
lit_args: lit list;
|
|
term_args: Term.t list;
|
|
subst_args: Subst.t list;
|
|
premises: step_id list;
|
|
}
|
|
|
|
type t = unit -> data
|
|
|
|
include Sidekick_sigs.PRINT with type t := t
|
|
|
|
val make_data :
|
|
?lits:lit list ->
|
|
?terms:Term.t list ->
|
|
?substs:Subst.t list ->
|
|
?premises:step_id list ->
|
|
string ->
|
|
data
|