Module Libzipperposition__BBox
BBox (Boolean Box)
This module defines a way to encapsulate clauses and some meta-level properties into boolean literals, and maintains a bijection between encapsulated values and boolean literals
val section : Logtk.Util.Section.t
type inductive_case= Libzipperposition.Cover_set.casetype payload= private|Fresh|Clause_component of Logtk.Literals.t|Lemma of Libzipperposition.Cut_form.t|Case of inductive_case list
module Lit : Libzipperposition.Bool_lit_intf.S with type payload = payloadtype t= Lit.t
val dummy : tval pp_payload : payload CCFormat.printerval find_boolean_lit : Logtk.Literals.t -> t optionFind a boolean literal that abstracts given clause component and the new sign of the abstracted literal. If no boolean literal exists, None will be the first component.
val inject_lits : Logtk.Literals.t -> tInject a clause into a boolean literal. No other clause will map to the same literal unless it is alpha-equivalent to this one. The boolean literal can be negative is the argument is a unary negative clause
val inject_lemma : Libzipperposition.Cut_form.t -> tMake a new literal from this formula that we are going to cut on. This is generative, meaning that calling it twice with the same arguments will produce distinct literals.
val inject_case : inductive_case list -> tInject
cst = case
val payload : t -> payloadObtain the payload of this boolean literal, that is, what the literal represents
val is_case : t -> boolval as_case : t -> inductive_case list optionIf
payload t = Case p, then returnSome p, else returnNone
val as_lemma : t -> Libzipperposition.Cut_form.t optionval as_lits : t -> Logtk.Literals.t optionval must_be_kept : t -> boolmust_be_kept litmeans thatlitshould survive in boolean splitting, that is, that ifC <- lit, Gammathen any clause derived fromCrecursively will havelitin its trail.
val is_lemma : t -> boolreturns
trueif the bool literal represents a lemma
val to_s_form : t -> Logtk.TypedSTerm.Form.t
Printers
Those printers print the content (injection) of a boolean literal, if any