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