| `Parent
| `Previous_sibling
| `Stay ]
+
+module Move :
+ sig
+ type t = move
+ type 'a table
+ val create_table : 'a -> 'a table
+ val get : 'a table -> t -> 'a
+ val set : 'a table -> t -> 'a -> unit
+ val iter : (t -> 'a -> unit) -> 'a table -> unit
+ val fold : (t -> 'a -> 'b -> 'b) -> 'a table -> 'b -> 'b
+ val for_all : (t -> 'a -> bool) -> 'a table -> bool
+ val exists : (t -> 'a -> bool) -> 'a table -> bool
+ end
+
(** Type of moves an automaton can perform *)
type predicate =
particular kind *)
val get_states : t -> StateSet.t
(** [get_state f] retrieves all the states occuring in [move] predicates in [f] *)
+ val get_states_by_move : t -> StateSet.t Move.table
end
(** Modules representing the Boolean formulae used in transitions *)