sig
  type t
  val empty : Conditions.??.t
  val vars : Conditions.??.-> Lang.F.Vars.t
  val is_empty : Conditions.??.-> bool
  val is_true : Conditions.??.-> Qed.Logic.maybe
  val add : Conditions.step -> Conditions.??.-> Conditions.??.t
  val factorize :
    Conditions.??.->
    Conditions.??.-> Conditions.??.t * Conditions.??.t * Conditions.??.t
  val big_inter : Conditions.??.t list -> Conditions.??.t
  val diff : Conditions.??.-> Conditions.??.-> Conditions.??.t
  val freeze : Conditions.??.-> Conditions.sequence
  val map : (Conditions.condition -> 'a) -> Conditions.??.-> 'a list
end