N. Zhang et al. / Theoretical Computer Science 554 (2014) 229–253 233
1. Termination: ε
2. Assignment: x = e
3. Positive Immediate Assignment: x
⇐ e
def
= x = e ∧ p
x
4. State Frame: lbf(x)
def
=¬af(x) →∃b : (
-
x = b ∧ x = b)
5. Interval Frame: frame(x)
def
= 2(more →lbf(x))
6. Next: next φ
def
=φ
7. Always: always φ
def
= 2φ
8. Conditional: if b then φ
0
else φ
1
def
= (b → φ
0
) ∧ (¬b → φ
1
)
9. Existential Quantification: ∃x : φ(x)
10. Sequential: φ
0
; φ
1
11. Conjunction: φ
0
and φ
1
def
= φ
0
∧ φ
1
12. While: while b do φ
def
= (b ∧ φ)
∗
∧ 2(ε →¬b)
13. Selection: φ
0
or φ
1
def
= φ
0
∨ φ
1
14. Parallel: φ
0
φ
1
def
= φ
0
∧ (φ
1
; true) ∨ (φ
0
; true) ∧ φ
1
15. Projection: (φ
1
,...,φ
m
) prj φ
16. Synchronous Communication:
await(c)
def
= frame(x
1
, x
2
,...,x
n
) ∧ 2(ε ↔ c)
Notice that to synchronize communication of parallel processes in a parallel program, a synchronization construct, await(c)
is required. The await(c) does not change any variable, but waits until the condition c becomes true, at which point it
terminates. x
1
, x
2
,...,x
n
are dynamic variables appearing in c.
2.3. Propositional projection temporal logic
Propositional PTL (PPTL) is a subset of PTL which is confined to the set of atomic propositions. The details of the PPTL
can be found in [28,16,19].
Syntax. The
formula P of PPTL is given by the following grammar:
P ::= p |P |¬P | P
1
∨ P
2
| (P
1
,...,P
m
) prj P
P
1
,...,(P
i
,...,P
l
)
⊕
,...,P
m
prj P
where p ∈ Prop, P
1
,...,P
i
,...,P
l
,...,P
m
(1 i l m, i, l, m ∈ N
0
) and P are all well-formed PPTL formulas, and , prj
and prj
⊕ (projection-plus) are primitive temporal operators. A formula is called a state formula if it contains no temporal
operators, otherwise it is called a temporal formula.
Semantics. We
define a state s over Prop to be a mapping from Prop to B.
s : Prop → B
We use s[p] to denote the valuation of p at state s.Anintervalσ is a non-empty sequence of states, which can be finite or
infinite. The other notations are the same as in the PTL. An interpretation is a triple
I = (σ , k, j), where σ is an interval, k
integer, and j an integer or
ω such that 0 k j |σ |.Weusethenotation(σ , k, j) | P to indicate that some formula
P is interpreted and satisfied over the subinterval
s
k
,...,s
j
of σ with the current state being s
k
. The satisfaction relation
(| ) is inductively defined as follows.
I | p iff s
k
[p]=true, for any atomic proposition p.
I | ¬ P iff I | P .
I | P iff k < j and (σ , k + 1, j) | P.
I | P ∨ Q iff I | P or I | Q .
I | (P
1
,...,P
m
) prj Q iff there exist integers k = r
0
··· r
m−1
r
m
j;
for all 1 l m,(σ , r
l−1
, r
l
) | P
l
; σ
| Q for one of the following σ
:
•
r
m
< j and σ
= σ ↓ (r
0
,...,r
m
) · σ
(r
m
+1.. j)
, or
• r
m
= j and σ
= σ ↓ (r
0
,...,r
h
) for some 0 h m.