Utility.ShannonExpansion
Back to table
/*
Logic-Function-Analysis
Utility.ShannonExpansion
[LogicFunction() g]=Utility.ShannonExpansion(LogicFunction F1, LogicFunction F2);
F1 : a logic function as a target.
F2 : a logic function as a factor.
g : two logic function (g1,g2) are returned.
Compute the Shannon expansion of $F_1$, where $F_1=g_1 \cdot F2 + g_2 \cdot \not{F_2}$ .
*/
//-------------------------------------------------------------------
// examples
f = AndOr()
{
1;
2;
3;
}
h=And(-1,2);
g=Utility.ShannonExpansion(f,h);
Print(f,h,g);
[r]=Or( And(h,List.Get(g,1)), And(Not(h),List.Get(g,2)) );
Print(r,And(Not(r),f));
//-------------------------------------------------------------------
// result
PermuteLogicFunction IsBiUnateFunctionTo ToAndOr Binary binaryioset ToOrAnd ToPOS ToShannonTree ToSOP ExcitationTable FeedbackSystem Imply Load LogicScript minterm() Nor LeastSignificantDigit PositiveDecimalToMantissa RadixToIndex To2LayerAndXor ToFullAnd Sequential Forwardly ToDigitalSystem Compatibility Full string() CreateDummyLogicFunction SemanticEval Zero