Sanitize header files and add a timestamp mark in each source file.
[tatoo.git] / src / sigs.ml
index 9fc3e86..a3cf635 100644 (file)
 (*                                                                     *)
 (***********************************************************************)
 
+(*
+  Time-stamp: <Last modified on 2013-01-30 19:07:19 CET by Kim Nguyen>
+*)
+
 (** This module contains all the signatures of the project, to avoid
     code duplication. Each toplevel module (HCONS, PTSET, ...)
     corresponds to an existing module in the project. The AUX modules
@@ -199,3 +203,31 @@ struct
     val inj_negative : set -> t
   end
 end
+
+module FORMULA =
+struct
+  module type ATOM =
+  sig
+    type t
+    type ctx
+    val eval : ctx -> t -> bool
+    val neg : t -> t
+    include HCONS.S with type t := t
+    include AUX.Printable with type t := t
+  end
+  module type S =
+  sig
+    module Atom : ATOM
+    include HCONS.S
+    include AUX.Printable with type t := t
+    val of_bool : bool -> t
+    val true_ : t
+    val false_ : t
+    val or_ : t -> t -> t
+    val and_ : t -> t -> t
+    val not_ : t -> t
+    val diff_ : t -> t -> t
+    val eval : Atom.ctx -> t -> bool
+  end
+
+end