X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fsigs.ml;h=a3cf635421ec47e7124bfdd0357cf021517245c4;hb=73755ec720254766e4504ac72684be5e357b6939;hp=9fc3e866616ffff6f130dc8b4a8a7b5edd834a12;hpb=9b75e9a2074c357fc2c823156451209d2a4cef8b;p=tatoo.git 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