X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Flambda-delta%2Fsrc%2Fcommon%2Fccs.ml;fp=helm%2Fsoftware%2Flambda-delta%2Fsrc%2Fcommon%2Fccs.ml;h=db8a7786575ce3dca266a41c32fcbc9ded12ca51;hb=cee0c3ca597ebbff2250674c255ed1bc909521fb;hp=ca27ff93dce677b67dffedcde1576f6e40f2c421;hpb=30bbfa78612ca1ad0c131a75d7075cfd35bebbe1;p=helm.git diff --git a/helm/software/lambda-delta/src/common/ccs.ml b/helm/software/lambda-delta/src/common/ccs.ml index ca27ff93d..db8a77865 100644 --- a/helm/software/lambda-delta/src/common/ccs.ml +++ b/helm/software/lambda-delta/src/common/ccs.ml @@ -17,7 +17,9 @@ module G = Options type csys = { uri: E.uri; - mutable is : int list + mutable tp : int list; + mutable t1 : int list; + mutable tn : (int * int) list; } let mark a = E.mark C.err C.start a @@ -26,11 +28,23 @@ let mark a = E.mark C.err C.start a let init () = { uri = U.uri_of_string (G.get_baseuri ()); - is = []; + tp = []; t1 = []; tn = [] } -let add_infinite s a = +let add_nonzero s a = if !G.si && !G.cc then let i = abs (mark a) in - if L.mem i s.is then () else s.is <- i :: s.is + if L.mem i s.tp then () else s.tp <- i :: s.tp + else () + +let add_zero s a = + if !G.si && !G.cc then + let i = abs (mark a) in + if L.mem i s.t1 then () else s.t1 <- i :: s.t1 + else () + +let add_equal s xa ia = + if !G.si && !G.cc then + let i = abs (mark xa), abs (mark ia) in + if L.mem i s.tn then () else s.tn <- i :: s.tn else ()