Our specification language is linear temporal logic (LTL), 
with program point predicates 
 as atomic propositions
but omitting the type predicate 
. 
The choice of linear temporal logic as the specification language, 
instead of for instance the modal 
-calculus for which 
the model checking problem for our encoding
into pushdown systems
is also efficiently decidable, was solely motivated by the existence
of the efficient model checker Moped [8] for LTL.
The operators of the logic
are the standard ones. If 
and 
 are formulas then so are
, 
, 
,
 and
.
The meaning of formulas is defined with respect
to runs of infinite length 
. We let 
 denote
the suffix of 
 starting in configuration 
.
Then satisfaction 
of a formula 
 by a run 
 is
defined as:
| 
 | 
iff | 
point  | 
| 
 | 
iff | not 
 | 
| 
 | 
iff | 
 | 
| 
 | 
iff | 
 | 
| 
 | 
iff | 
 | 
| 
 | 
iff | there is an  | 
| 
 | 
||
| for all  | 
Henceforth
let 
 abbreviate 
 for some atomic predicate 
,
 abbreviate 
,
 abbreviate 
,
and 
 abbreviate 
and 
 abbreviate 
.
Further define
 and
.
The weak until operator 
abbreviates 
.
Finally let 
.
Given a PDS 
let the notation
express the judgement that all
runs starting in the entry program point of
the method 
 satisfy 
.
More formally:
The definition of a judgement 
 is
motivated by the Moped tool which implements
an algorithm for checking an
initial configuration against an LTL formula.