-(*
- Time-stamp: <Last modified on 2013-02-04 16:04:03 CET by Kim Nguyễn>
-*)
-
-(** Implementation of hashconsed Boolean formulae *)
-
-type move = [ `Left | `Right | `Epsilon | `Up1 | `Up2 ]
-
-(** Direction for automata predicates *)
-
-type 'formula expr =
+module type ATOM =
+sig
+ type t
+ val neg : t -> t
+ include Hcons.Abstract with type t := t
+ include Common_sig.Printable with type t := t
+end
+
+type ('formula,'atom) expr =