X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Fsigs.ml;h=a3cf635421ec47e7124bfdd0357cf021517245c4;hp=9fc3e866616ffff6f130dc8b4a8a7b5edd834a12;hb=6b66008811639324be623a42037b60e02056772c;hpb=ddd758716b1cd691c8748d2e86c179e803b1d3af diff --git a/src/sigs.ml b/src/sigs.ml index 9fc3e86..a3cf635 100644 --- a/src/sigs.ml +++ b/src/sigs.ml @@ -13,6 +13,10 @@ (* *) (***********************************************************************) +(* + Time-stamp: +*) + (** 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