Incorrect Answer.


       MODULE main
       VAR
           a : boolean;
           b : boolean;
       ASSIGN
           init(a) := 0;
           init(b) := 0;
           next(a) := case
                        !a : 1;
                        1  : {0, 1};
                       esac;
           next(b) := case
                        !a : 0;
                        b  : 1;
                        1  : {0, 1};
                       esac;
       FAIRNESS !a
       SPEC EG(!a)

Running the SMV program above, we obtain
nunk% smv test.smv
-- specification EG (!a) is false
-- as demonstrated by the following execution sequence
state 1.1:
a = 0
b = 0
so the specification is false for some initial state under the fairness constraint !a. Note that any path from the initial state !a!b must next go to the state a!b, where a is false. So EG a is false at the sole initial state. Observe that this is indeed what the SMV tool suggests.
Back to Question.
Next Question.