Simulation with Nondeterministic Machines

The nondeterministic machine

B = (StatesB , Inputs, Outputs, possibleUpdatesB , initialStateB )

simulates another machine with the same input and output alphabets

A = (StatesA , Inputs, Outputs, possibleUpdatesA , initialStateA )

if there is a set S Ì StatesA´ StatesB such that

and

S is called the simulation relation between A and B.

Unlike the simulation relation for deterministic machines, this says that B can match A, not that it must match A. Thus, this relation is not symmetric. It is not necessarily true that A simulates B.

Note that a deterministic machine is a special case of nondeterministic machines where possibleUpdates always returns a set with exactly one element. Thus, the above definition applies to all state machines, deterministic or not.