Module Logtk_parsers.Trace_tstp
Trace of a TSTP prover
type id= Ast_tptp.nametype term= Logtk.STerm.ttype form= Logtk.STerm.ttype clause= term Logtk.SLiteral.t listtype t=|Axiom of string * string|Theory of string|InferForm of form * step lazy_t|InferClause of clause * step lazy_tand step={id : id;rule : string;parents : t array;esa : bool;Equisatisfiable step?
}
val equal : t -> t -> boolval compare : t -> t -> intval mk_f_axiom : id:id -> form -> file:string -> name:string -> tval mk_c_axiom : id:id -> clause -> file:string -> name:string -> tval mk_f_step : ?esa:bool -> id:id -> form -> rule:string -> t list -> tval mk_c_step : ?esa:bool -> id:id -> clause -> rule:string -> t list -> tval is_axiom : t -> boolval is_theory : t -> boolval is_step : t -> boolval is_proof_of_false : t -> boolval get_id : t -> idObtain the ID of the proof step.
- raises Invalid_argument
if the step is Axiom or Theory
val force : t -> unitForce the lazy proof step, if any
Proof traversal
type proof_set= unit StepTbl.t
val is_dag : t -> boolIs the proof a proper DAG?
val traverse : ?traversed:proof_set -> t -> (t -> unit) -> unitTraverse the proof. Each proof node is traversed only once, using the set to recognize already traversed proofs.
val depth : t -> intMax depth of the proof
val size : t -> intNumber of nodes in the proof
IO
val of_decls : form Ast_tptp.t Iter.t -> t or_errorTry to extract a proof from a list of TSTP statements.
Debug printing, non recursive
include Logtk.Interfaces.PRINT with type t := t
val pp1 : t CCFormat.printerPrint proof step, and its parents
val pp_tstp : t CCFormat.printerprint the whole proofs