Module Context


module Context: sig  end
Logical contexts
Author(s): Harald Ruess


A logical context is simply a conjunction ctxt of atoms. When atoms are added to a logical context, the following datastructures are maintained.


type t
Representation of logical contexts.

module Mode: sig  end
Pretty-printing mode for processing.
val pp : t Pretty.printer
Pretty-printing the context of a state.
Parameters:
fmt : Format.formatter
s : t
val eq : t -> t -> bool
Identity test on contexts.
Parameters:
s1 : t
s2 : t
val empty : t
The empty logical context
val ctxt_of : t -> Atom.t list
ctxt_of s returns the logical context of s as a list of atoms.
Parameters:
s : t
val partition_of : t -> Partition.t
p_of s returns the partitioning associated with s.
Parameters:
s : t
val eqs_of : t -> Combine.E.t
Parameters:
s : t
val config_of : t -> Combine.E.t * Partition.t
Parameters:
s : t
val upper_of : t -> int
upper_of s returns an upper bound on the indices of all fresh variables in s.
Parameters:
s : t
module Status: sig  end
Result of processing.
val add : t -> Atom.t -> t Status.t
process s a extends the logical context s with an atom a. The return value is
Parameters:
s : t
atm : Atom.t
val statistics : bool Pervasives.ref
Statistics.
val verbose : bool Pervasives.ref
val coi_enabled : int Pervasives.ref
Enable/Disable cone of influence.
val semantic_coi_min : int Pervasives.ref
val syntactic_coi_min : int Pervasives.ref
val addl : t -> Atom.t list -> t Status.t
Parameters:
atms : t
? : Atom.t list
val is_inconsistent : t -> Atom.t list -> bool
is_inconsistent s al is true iff the conjunction of atoms in al is inconsistent in s.
Parameters:
? : t
? : Atom.t list
val is_valid : t -> Atom.t list -> bool
is_valid s al is true iff the conjunction of atoms in al is valid in s.
Parameters:
? : t
? : Atom.t list
val check_sat : t -> t option
check_sat s performs case-splitting and returns
Parameters:
s : t
val diff : t -> t -> t
Difference.
Parameters:
s1 : t
s2 : t