<< Chapter < Page | Chapter >> Page > |
Decide whether each is true or false for following trace : (This is the same trace seen earlier .)
Give the formal semantics of Weak Until (in the same way we have given semantics for , , and Strong Until).
iff
Weak Until could be omitted from our core set of LTL connectives, since it can be defined in terms of the remaining connectives.Provide such a definition.That is, give an LTL formula equivalent to .
Here are three equivalent definitions. The first follows directly from the above exercise .
Any logic that includes temporal connectives is a temporal logic . More specifically, this is Linear Temporal Logic ( LTL ). The ``linear'' part of this name means thatwe are looking only at individual traces, rather than making formulas that discussall possible traces of a program. After all, a single program can result in many possible traces.An LTL formula does not allow us to say, for example, that a property holds in all possible executions of the program.However, SPIN overcomes some limitations by essentially testing an LTL formula against all possible traces.Will will return to SPIN in the next section .
In summary, the syntax used in SPIN is given by the following grammar.
ltl | ::= | atom | ||
| | (ltl binop ltl) | |||
| | unop ltl | |||
| | (ltl) | |||
unop | ::= | [] | ``Always'' | |
| | <> | ``Eventually'' | ||
| |
! |
``Not'' | ||
binop | ::= |
U |
``Strong Until'' | |
| |
W |
``Weak Until'' | ||
| |
&& |
``And'' | ||
| |
|| |
``Or'' | ||
atom | ::= |
true |
||
| |
false |
|||
| |
#define 'd identifiers |
We could use regular ol' first-order logic as our formal language for specifying temporal properties.We'd do this by adding an explicit time index to each proposition in , turning it into a unary relation.For example, instead of considering in state 17, we'd instead write , and so on.
This approach, though, quickly becomes cumbersome. Consider the everyday concept ``Someday, X will happen''.We have to go through some contortions to shoehorn this concept into first-order logic:``There exists a day , such that is today or later, and X will happen on ''. Quite a mouthful forwhat is about the simplest temporal concept possible!
Notification Switch
Would you like to follow the 'Model checking concurrent programs' conversation and receive update notifications?