module Plugin:sig..end
A plugin is a bridge between OCaml code and some meta-level property
of the prover. For instance, a default plugin is bound to the predicate
"holds", which states that some (encoded) clause holds in the current
problem. The plugin for "holds" provides a view centered on the "holds"
predicate, and allows to add "holds" facts and filter on them.
Plugins can handle some inner type that can be encoded/decoded
to meta-prover-compatible types.
typeterm =Reasoner.term
typety =Reasoner.ty
class type core =object..end
class type['a]t =object..end
typefoclause =Encoding.foclause
module Set:sig..end
val holds : foclause tval axiom : (Libzipperposition.ID.t * term list) tval theory : (Libzipperposition.ID.t * term list) tval lemma : foclause tPlugin.holds, but explicitely used for facts
deduced by the meta-prover. In general lemma f => holds f.val pre_rewrite : (term * term) list tval rewrite : (Libzipperposition.FOTerm.t * Libzipperposition.FOTerm.t) list tmodule Base:sig..end
val facts : Reasoner.t -> 'a t -> 'a Sequence.tval of_consequence : Reasoner.consequence -> 'a t -> 'a optionval of_consequences : Reasoner.consequence Sequence.t -> 'a t -> 'a Sequence.t