package setr

  1. Overview
  2. Docs
module DS = SETr_DS
type !'sym e =
  1. | Empty
  2. | Universe
  3. | DisjUnion of 'sym e * 'sym e
  4. | Union of 'sym e * 'sym e
  5. | Inter of 'sym e * 'sym e
  6. | Diff of 'sym e * 'sym e
  7. | Comp of 'sym e
  8. | Var of 'sym
type !'sym t =
  1. | Eq of 'sym e * 'sym e
  2. | SubEq of 'sym e * 'sym e
  3. | And of 'sym t * 'sym t
  4. | Not of 'sym t
  5. | True
  6. | False
type !'sym q = {
  1. get_eqs : unit -> ('sym * 'sym) list;
  2. get_eqs_sym : 'sym -> 'sym list;
}
val prec_e : 'a e -> int
val pp_noparen_e : ?parse:bool -> (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a e -> unit
val pp_e : ?parse:bool -> ?prec:int -> (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a e -> unit
val pp : ?parse:bool -> (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit
val to_string_e : (Format.formatter -> 'a -> unit) -> 'a e -> string
val to_string : (Format.formatter -> 'a -> unit) -> 'a t -> string
val iter_sym_e : ('a -> unit) -> 'a e -> unit
val iter_sym : ('a -> unit) -> 'a t -> unit
val map_sym_e : ('a -> 'b e) -> 'a e -> 'b e
val map_sym : ('a -> 'b e) -> 'a t -> 'b t
val map_symbol_e : ('a -> 'b) -> 'a e -> 'b e
val map_symbol : ('a -> 'b) -> 'a t -> 'b t
val normalize_e : 'a e -> 'a e * 'a t
val normalize : 'a t -> 'a t
val to_cnf_e : int e -> DS.CNF.LSet.elt list list * DS.CNF.LSet.elt list list
val to_cnf : int t -> DS.CNF.LSet.elt list list