We ALWAYS assume only one input variable changes at a time. (After an input variable changes, the circuit has time to reach a stable state before the input will change again.) State assignments: assume: * only one state variable (y1, y2, ...) changes at a time unicode -- one encoding for each state multicode -- more than one encoding for each state Connected Row Set State Assignments -- State assignment with the following properties: 1) multicode assignment 2) every encoding of one particular state differs in one variable from another encoding of that particular state. 3) For each transition from state I to state J, there is an encoding of state I that differs in just one variable from an encoding of state J. Shared Row Set State Assignment -- A state assignment where there is at least one encoding for a "don't care" state (the shared assignment). This means that transitions from one state to another may pass through the shared assignment. Single Transition Time (STT) state assignments: (EVERY possible transition in the flow table can happen with just one transition. Notice that this excludes connected row set assignments and shared row set assignments, because those include transitions that require multiple "hops.") Type I -- * Multicode assignments * Only one state variable (y1, y2, ...) changes at a time. Type I makes use of Universal One Shot State Assignments, which are generic state assignments that can be used for ANY flow table. Type II -- * Always unicode assignments * All state variables that change value do so CONCURRENTLY. (Of course they cannot all change at EXACTLY the same time, but it must be the case that the final state is independent of the order of the variable changes, ie. there must be no critical races in the state change.) Liu's method and Tracey's method produec Type II state assignments by explicitly ensuring the transition sub-cubes are non-intersecting for every transition in the table. You are not responsible for knowing Tracey's method.