sig
val boolean : ?delay_on_negation:bool -> Cstr.t -> Var.Fd.t
val cstr : ?delay_on_negation:bool -> Cstr.t -> Var.Fd.t -> Cstr.t
val ( &&~~ ) : Cstr.t -> Cstr.t -> Cstr.t
val ( ||~~ ) : Cstr.t -> Cstr.t -> Cstr.t
val ( =>~~ ) : Cstr.t -> Cstr.t -> Cstr.t
val ( <=>~~ ) : Cstr.t -> Cstr.t -> Cstr.t
val xor : Cstr.t -> Cstr.t -> Cstr.t
val not : Cstr.t -> Cstr.t
end