3.11 Problem: Finite State Machines

Implement a reduction relation that executes a given finite-state machine with a given initial state on a given input sequence. Your representation for finite-state machine should accommodate a non-deterministic set of transition rules.

Challenge Implement a metafunction that converts a non-deterministic machine to a deterministic one.