------------------------------------------------------------------ -- Temporal help nodes ------------------------------------------------------------------ -- Sofar(X) is true now iff X has been continuously true up to now node Sofar( X : bool ) returns ( Y : bool ); let Y = X and (true -> pre Y); tel ------------------------------------------------------------------ -- First(X) is a constant stream which has the value that X had -- in the first instant. node First( X : int ) returns ( a : int ); let a = X -> pre a; tel ------------------------------------------------------------------ -- Since(X,Y) is true now iff X has been true at some point, -- and Y has been continuously true since _after_ then. node Since( X, Y : bool ) returns ( SinceXY : bool ); let SinceXY = X or (Y and (false -> pre SinceXY)); tel ------------------------------------------------------------------ -- SinceIncl(X,Y) is true iff X has been true at some point, -- and Y has been continuously true since then. node SinceIncl( X, Y : bool ) returns ( SinceXY : bool ); let SinceXY = Y and (X or (false -> pre SinceXY)); tel