X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fformula.mli;h=bea2ff5f8ea434a0ebe633072d7cfa66dc8b66ba;hb=07a2770a48f51b2e09b3be2d1608516b2377618e;hp=6c54386e212f43d74dcd4e29d1e315fadfd88d62;hpb=83c90cb5eeebfffa05d0383430eb80e7905b46a0;p=tatoo.git diff --git a/src/formula.mli b/src/formula.mli index 6c54386..bea2ff5 100644 --- a/src/formula.mli +++ b/src/formula.mli @@ -15,7 +15,7 @@ (** Implementation of hashconsed Boolean formulae *) -type move = [ `Left |`Right ] +type move = [ `Left |`Right | `Self ] (** Direction for automata predicates *) type 'hcons expr = @@ -43,8 +43,8 @@ val equal : t -> t -> bool val expr : t -> t expr (** Equality over formulae *) -val st : t -> StateSet.t * StateSet.t -(** states occuring left and right, positively or negatively *) +val st : t -> StateSet.t * StateSet.t * StateSet.t +(** States occuring self, left and right, positively or negatively *) val compare : t -> t -> int (** Comparison of formulae *) @@ -52,11 +52,11 @@ val compare : t -> t -> int val size : t -> int (** Syntactic size of the formula *) -val eval_form : (StateSet.t * StateSet.t) -> t -> bool -(** [eval_form sf,sn F] evaluates the formula [F] on [(sf,sn)] *) +val eval_form : (StateSet.t * StateSet.t * StateSet.t) -> t -> bool +(** [eval_form (s,sf,sn) F] evaluates the formula [F] on [(s,sf,sn)] *) -val infer_form : (StateSet.t * StateSet.t) -> (StateSet.t * StateSet.t) -> t -> bool -(** [eval_form S1 S2 F] infers S1; S2 |- F *) +val infer_form : (StateSet.t * StateSet.t) -> (StateSet.t * StateSet.t) -> (StateSet.t * StateSet.t) -> t -> bool +(** [eval_form S Sf Sn F] infers S; (S1,S2) |- F *) val print : Format.formatter -> t -> unit (** Pretty printer *)