Huffman Simplification For Sequential Logic
For a well-defined State-Transition-Table, the Huffman Simplification is the common algorithm to simplify state-transition. 
[table]=StateTransition()
{
	transitions
	{
	    1: [1] -> 1/1'b0, [2] -> 3/1'b0;
	    2: [1] -> 2/1'b1, [2] -> 4/1'b0;
	    3: [1] -> 3/1'b1, [2] -> 5/1'b0;
	    4: [1] -> 4/1'b0, [2] -> 1/1'b1;
	    5: [1] -> 5/1'b0, [2] -> 1/1'b1;
	}
}
[simtable]=Simplification.HuffmanMealy(table);
Print("result:");
Print(simtable);
/*
The result should be :
result:
StateTransition()
{
  transitions
  {
    1: [1] -> 1/1'b0, [2] -> 3/1'b0;
    2: [1] -> 2/1'b1, [2] -> 4/1'b0;
    3: [1] -> 3/1'b1, [2] -> 5/1'b0;
    4: [1] -> 4/1'b0, [2] -> 1/1'b1;
    5: [1] -> 5/1'b0, [2] -> 1/1'b1;
  }
  simplification
  {
    tabletype = "well-defined" ;
    algorithm = "equivalance" ;
    grouping
    {
      1:1;
      2:2,3;
      3:4,5;
    }
    transitions
    {
      1: [1] -> 1/1'b0, [2] -> 2/1'b0;
      2: [1] -> 2/1'b1, [2] -> 3/1'b0;
      3: [1] -> 3/1'b0, [2] -> 1/1'b1;
    }
  }
}
*/
 
 
     
 
 
            
                
                
                
                
                
                
                
                
                
                
                
                
                
                
             
            
            
            
            
            
MatchLogicFunction IsBlankFunction IsCovering IsSymmetricFunctionTo IsThresholdFunction IsUnateFunctionTo BCD bool ToShannonTree Equiv list() Count LogicScript Minus MantissaToPositiveDecimal MantissaToPositiveNumber To2LayerNor To2LayerAndXor Solve To2layerOrAnd Simplification ROBDD Full SimpleCover StateDeviceName TruthTable ShrinkLogicFunction var() XORP Zero