Module Proof.Step
An inference step is composed of a set of premises, a rule, a status (theorem/trivial/equisatisfiable…), and is used to deduce new result using these premises and metadata.
A single step can be used to deduce several results.
type t= step
val kind : t -> kindval parents : t -> parent listval infos : t -> infosval compare : t -> t -> intval hash : t -> intval equal : t -> t -> boolval src : t -> source optionval trivial : tval by_def : ID.t -> tval define : ID.t -> source -> parent list -> tval define_internal : ID.t -> parent list -> tval lemma : source -> tval intro : source -> role -> tval assert_ : source -> tval assert' : ?loc:Loc.t -> file:string -> name:string -> unit -> tval goal : source -> tval goal' : ?loc:Loc.t -> file:string -> name:string -> unit -> tval inference : ?infos:infos -> ?tags:tag list -> rule:rule -> parent list -> tval simp : ?infos:infos -> ?tags:tag list -> rule:rule -> parent list -> tval esa : ?infos:infos -> rule:rule -> parent list -> tval to_attrs : t -> UntypedAST.attrsval is_trivial : t -> boolval is_by_def : t -> boolval is_assert : t -> boolProof: the statement was asserted in some file
val is_goal : t -> boolThe statement comes from the negation of a goal in some file
val distance_to_goal : t -> int optiondistance_to_conjecture preturnsNoneifphas no ancestor that is a conjecture (includingpitself). It returnsSome difdis the distance, in the proof graph, to the closest conjecture ancestor ofp
val pp : t CCFormat.printer