module BBox:sig
..end
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 : Libzipperposition.Util.Section.t
typeinductive_path =
Ind_cst.path
type
payload = private
| |
Fresh |
| |
Clause_component of |
| |
Lemma of |
| |
Case of |
module Lit:Bool_lit_intf.S
with type payload = payload
typet =
Lit.t
val dummy : t
val pp_payload : payload CCFormat.printer
val inject_lits : Literals.t -> t
val inject_lemma : Literals.t list -> t
val inject_case : inductive_path -> t
cst = case
val payload : t -> payload
val as_case : t -> inductive_path option
payload t = Case p
, then return Some p
, else return None
val must_be_kept : t -> bool
must_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 pp : t CCFormat.printer
val pp_bclause : t list CCFormat.printer