Module LLTerm.Form
type t
= term
type view
= private
|
True
|
False
|
Or of t list
|
And of t list
|
Not of t
|
Equiv of t * t
|
Xor of t * t
|
Imply of t * t
|
Atom of t
|
Eq of t * t
|
Neq of t * t
|
Int_pred of Z.t linexp * Int_op.t
|
Rat_pred of Q.t linexp * Rat_op.t
|
Forall of
{
ty_var : ty;
body : t;
}
|
Exists of
{
ty_var : ty;
body : t;
}
val view : t -> view
val pp : t CCFormat.printer
val true_ : t
val false_ : t
val eq : t -> t -> t
val neq : t -> t -> t
val not_ : t -> t
val and_ : t list -> t
val or_ : t list -> t
val imply : t -> t -> t
val equiv : t -> t -> t
val xor : t -> t -> t
val int_pred : Linexp_int.t -> Int_op.t -> t
val rat_pred : Linexp_rat.t -> Rat_op.t -> t
val forall : ty_var:ty -> t -> t
val exists : ty_var:ty -> t -> t