Libzipperposition.BBoxThis 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.ttype inductive_case = Cover_set.casetype payload = private | Fresh| Clause_component of Logtk.Literals.t| Lemma of Cut_form.t| Case of inductive_case listmodule Lit : Bool_lit_intf.S with type payload = payloadtype t = Lit.tval 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 : 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
Obtain 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 return Some p, else return None
val as_lemma : t -> Cut_form.t optionval as_lits : t -> Logtk.Literals.t optionval must_be_kept : t -> boolmust_be_kept lit means that lit should survive in boolean splitting, that is, that if C <- lit, Gamma then any clause derived from C recursively will have lit in its trail.
val is_lemma : t -> boolreturns true if the bool literal represents a lemma
val to_s_form : t -> Logtk.TypedSTerm.Form.tThose printers print the content (injection) of a boolean literal, if any
val pp : t CCFormat.printerval pp_tstp : t CCFormat.printerval pp_zf : t CCFormat.printerval pp_bclause : t list CCFormat.printer