Go to the first, previous, next, last section, table of contents.
NuSMV allows for specifications expressed in LTL. Model checking
of LTL specifications is based on the construction of a tableau
corresponding to the LTL formula and on CTL model checking, along the
lines described in [CGH97]. This construction is completely
transparent to the user.
LTL specifications are introduced by the keyword `LTLSPEC'. The syntax of this declaration is:
ltlspec_declaration :: "LTLSPEC" ltl_expr
where
ltl_expr ::
        simple_expr                ;; a simple boolean expression
        | "(" ltl_expr ")"
        | "!" ltl_expr             ;; logical not
        | ltl_expr "&" ltl_expr    ;; logical and
        | ltl_expr "|" ltl_expr    ;; logical or
        | ltl_expr "->" ltl_expr   ;; logical implies
        | ltl_expr "<->" ltl_expr  ;; logical equivalence
        | "G" ltl_expr             ;; globally
        | "X" ltl_expr             ;; next state
        | "F" ltl_expr             ;; finally
        | ltl_expr "U" ltl_expr    ;; until
As for CTL formulas, simple_expr can not contain case statements.
The counterexample generated to show the falsity of a LTL specification
may contain state variables which have been introduced by the tableau
construction procedure. Currently it is not possible to navigate the
counterexamples for LTL formulas.