Module Prop


module Prop: sig  end
Propositional logic
Author(s): Harald Ruess


type t
val pp : t Pretty.printer
Parameters:
fmt : Format.formatter
?? : t


Constructors


val mk_true : t
val mk_false : t
val mk_var : Name.t -> t
Parameters:
n : Name.t
val mk_poslit : Atom.t -> t
Parameters:
a : Atom.t
val mk_neglit : Atom.t -> t
Parameters:
a : Atom.t
val mk_ite : t -> t -> t -> t
Parameters:
p : t
q : t
r : t
val mk_conj : t list -> t
Parameters:
? : t list
val mk_disj : t list -> t
Parameters:
? : t list
val mk_iff : t -> t -> t
Parameters:
p : t
q : t
val mk_neg : t -> t
Parameters:
p : t
val mk_let : Name.t -> t -> t -> t
Parameters:
x : Name.t
p : t
q : t


Recognizers


val is_true : t -> bool
Parameters:
? : t
val is_false : t -> bool
Parameters:
? : t
val is_var : t -> bool
Parameters:
? : t
val is_atom : t -> bool
Parameters:
? : t
val is_ite : t -> bool
Parameters:
? : t
val is_disj : t -> bool
Parameters:
? : t
val is_iff : t -> bool
Parameters:
? : t
val is_neg : t -> bool
Parameters:
? : t
val is_let : t -> bool
Parameters:
? : t


Destructors


val d_var : t -> Name.t
Parameters:
? : t
val d_atom : t -> Atom.t
Parameters:
? : t
val d_disj : t -> t list
Parameters:
? : t
val d_iff : t -> t * t
Parameters:
? : t
val d_ite : t -> t * t * t
Parameters:
? : t
val d_neg : t -> t
Parameters:
? : t
val d_let : t -> Name.t * t * t
Parameters:
? : t


Satisfiability checker


val set_verbose : bool -> unit
Parameter settings for SAT solver
Parameters:
? : bool
val set_assertion_frequency : int -> unit
Parameters:
? : int
val set_remove_subsumed_clauses : bool -> unit
Parameters:
? : bool
val set_validate : bool -> unit
Parameters:
b : bool
val set_polarity_optimization : bool -> unit
Parameters:
? : bool
val set_clause_relevance : int -> unit
Parameters:
? : int
val set_cleanup_period : int -> unit
Parameters:
? : int
val set_num_refinements : int -> unit
Parameters:
? : int
val statistics : bool Pervasives.ref
val show_explanations : bool Pervasives.ref
module Assignment: sig  end
Assignments for propositional formulas over literals including equalities and arithmetic inequalities.
val sat : Context.t -> t -> (Assignment.t * Context.t) option
might fail if already in use.
Parameters:
s : Context.t
p : t