sig   type t   val ty : State_selection.t Type.t   val empty : State_selection.t   val full : State_selection.t   val singleton : State.t -> State_selection.t   val of_list : State.t list -> State_selection.t   val is_empty : State_selection.t -> bool   val is_full : State_selection.t -> bool   val mem : State_selection.t -> State.t -> bool   module type S =     sig       val with_dependencies : State.t -> State_selection.t       val only_dependencies : State.t -> State_selection.t       val with_codependencies : State.t -> State_selection.t       val only_codependencies : State.t -> State_selection.t       val union : State_selection.t -> State_selection.t -> State_selection.t       val list_union : State_selection.t list -> State_selection.t       val diff : State_selection.t -> State_selection.t -> State_selection.t       val cardinal : State_selection.t -> int       val to_list : State_selection.t -> State.t list       val pretty : Format.formatter -> State_selection.t -> unit       val pretty_witness : Format.formatter -> State_selection.t -> unit       val iter_succ :         (State.t -> unit) -> State_selection.t -> State.t -> unit       val fold_succ :         (State.t -> '-> 'a) -> State_selection.t -> State.t -> '-> 'a       val iter : (State.t -> unit) -> State_selection.t -> unit       val fold : (State.t -> '-> 'a) -> State_selection.t -> '-> 'a       val iter_in_order : (State.t -> unit) -> State_selection.t -> unit       val fold_in_order :         (State.t -> '-> 'a) -> State_selection.t -> '-> 'a     end   module Static : S   val with_dependencies : State.t -> t   val only_dependencies : State.t -> t   val with_codependencies : State.t -> t   val only_codependencies : State.t -> t   val union : t -> t -> t   val list_union : t list -> t   val diff : t -> t -> t   val cardinal : t -> int   val to_list : t -> State.t list   val pretty : Format.formatter -> t -> unit   val pretty_witness : Format.formatter -> t -> unit   val iter_succ : (State.t -> unit) -> t -> State.t -> unit   val fold_succ : (State.t -> '-> 'a) -> t -> State.t -> '-> 'a   val iter : (State.t -> unit) -> t -> unit   val fold : (State.t -> '-> 'a) -> t -> '-> 'a   val iter_in_order : (State.t -> unit) -> t -> unit   val fold_in_order : (State.t -> '-> 'a) -> t -> '-> 'a end