type t = termtype view = | True |
| False |
| Atom of t |
| Eq of t * t |
| Neq of t * t |
| Equiv of t * t |
| Xor of t * t |
| Imply of t * t |
| And of t list |
| Or of t list |
| Not of t |
| Forall of t Var.t * t |
| Exists of t Var.t * t |
val view : t -> view
val true_ : tval false_ : tval atom : t -> tval eq : ?loc:location -> t -> t -> tval neq : ?loc:location -> t -> t -> tval equiv : ?loc:location -> t -> t -> tval xor : ?loc:location -> t -> t -> tval imply : ?loc:location -> t -> t -> tval and_ : ?loc:location -> t list -> tval or_ : ?loc:location -> t list -> tval not_ : ?loc:location -> t -> tval ite : ?loc:location -> t -> t -> t -> tval forall : ?loc:location -> t Var.t -> t -> tval exists : ?loc:location -> t Var.t -> t -> tval eq_or_equiv : t -> t -> tval neq_or_xor : t -> t -> tval forall_l : ?loc:location -> t Var.t list -> t -> tval exists_l : ?loc:location -> t Var.t list -> t -> tval unfold_binder : Binder.t -> t -> t Var.t list * tval unfold_forall : t -> t Var.t list * tval close_forall : ?loc:location -> t -> tval box_opaque : t -> t