State machines and rule sets

In connection with rule systems for grammars, Petersonn and Synek introduced the following class of structures (A,B,C,d) which admit a large number of applications, including one to rule sets (as in Peter Aczel's article "Inductive definitions" in the Handbook of Mathematical Logic), and one to the theory of state machines: Essentially the same structure can be expressed as a function from A to Fam (Fam A), where Fam of a type is the type SIGMA I : Set . I -> A. This defines two monotone functions from predicates over A to predicates over A :

The least fixed point of the function User is a set of states in which the user has a strategy, or interactive program which forces the machine to stop. A constructive proof that the machine can be forced to stop is essentially a well founded structure saying what commands to issue, and what to do with a possible response. It is something which can be used as a program. Note that the state of the user program is something quite different from the state of the user/machine protocol.

The least fixed point of the function Machine is a set of states in which the machine has a strategy, or interactive program which forces the user to stop. A constructive proof that the user can be forced to stop is essentially a well founded structure saying for any command what responses to give for it, and what to do next. It is something which can be used as a program for the state machine. Notice that the state of the machine is something quite different from the state of the user/machine protocol.

There are a number of other inductive constructions which arise in connection with interactive programs and state-machines. It is also interesting to consider notions of simulation, "virtual" machines, and refinement.