Tautology Decision May be able to use unateness to simplify process Unate Function – one that has either the uncomplemented or complemented literals for each variable Function F is weakly unate with respect to the variable Xi when there is a variable Xi and at least one constant a Pi satisfying F(|Xi = a) F (X1 , . . , Xi , . . , Xn ) The SOP F is weakly unate with respect to the variable Xi when in an array F there is a sub-array of cubes that depend on Xi and in this sub-array all the values in a column are 0.
Weakly Unate SOP F Example c3 and c4 depend on variable X1 first column of c3 and c4 are all 0. Therefore F is weakly unate with respect to the variable X1 X1 X2 X3 1111 – 1110 – 1110 c1 1111 – 1101 – 1101 c2 0110 – 0110 – 1101 c3 0101 – 0111 – 1101 c4 F =
Tautology Decision - Weakly Unate Simplification Theorems Let an SOP F be weakly unate with respect to the variable Xj. Among the cubes of F, let G be the set of cubes that do not depend on the variable Xj. Then, G 1 F 1. Theorem 9.7 Let c1 = XjSA and c2 = XjS B where SA SB = Pj and SA SB = Then, F 1 F(|c1) 1 and F(|c2) 1.
Tautology Decision Algorithm If F has a column with all 0’s, then F is not a tautology. Let F = {c1,c2 , . . . ,ck}, where ci is a cube. If the sum of the number of minterms in all cubes ci is less the total number in the univeral, cube then F is not a tautology. If there is a cube with all 1’s in F, then F is a tautology. When we consider only the active columns in F, if they are all two-valued, and if the number of variables is less than 7, then decide the tautology of F by the truth table.
Tautology Decision Algorithm (continued) When there is a weakly unate variable, simplify the problem by using Theorem 9.6 When F consists of more than one cube: F is a tautology iff F(|c1) 1 and F(|c2) 1 where c1 = XjSA and c2 = XjS , SA SB = Pj and SA SB = .
Tautology Decision Examples: G = 01 – 100 – 1100 11 – 111 – 0010 Examples: X3 variable has column with all 0’s, so not a tautology. F does not depend on X1. Let c1= (11- 110 - 1111) and c2= (11- 110 - 1111) By Thm 9.7, F is a tautology. G = 11 – 110 – 1110 11 – 110 – 0001 11 – 001 – 1111 F= 11 – 111 – 1110 11 – 111 – 0001 11 – 111 – 1111 F1= F(|c1) = 1 11 – 111 – 1111 F2= F(|c2) = 1
Generation of Prime Implicants Definitions: Prime Implicant - an implicant contained by no other implicant. A set of prime implicants for a function F is denoted by PI(F ) Strongly Unate - Let X be a variable that takes a value in P={0, 1, 2, …, p-1}. If there a total order () on the values of variable X in function F, such that j k ( j, k P) implies F(| X = j) F(| X = k), then the function F is strongly unate with respect to X. If F is strongly unate with respect to all the variables, then the function F is strongly unate.
Generation of Prime Implicants Definitions: Strongly Unate – Next, assume that F is an SOP. If there is a total order () among the values of variable X, and if j k ( j, k P), then each product term of the SOP F(| X = j) is contained by all the product term of the SOP F(| X = k). In this case the SOP F is strongly unate with respect to X. If F is strongly unate with respect to Xi, then F is weakly unate with respect to Xi.
Strongly Unate Example 1111 – 1001 0111 – 0111 0011 – 0110 0001 – 0101 F(|X2= 0) = (1111 – 1111) F(|X2= 1) = F(|X2= 2) = F(|X2= 3) = F(|X2= 2) < F(|X2= 1) < F(|X2= 0) = F(|X2= 3) F = F(|X1= 0) = (1111 – 1001) F(|X1= 1) = F(|X1= 2) = F(|X1= 3) = F(|X1= 0) < F(|X1= 1) = F(|X1= 2) = F(|X1= 3) F is strongly unate with respect to X1 and to X2 0111 – 1111 0011 – 1111 0001 – 1111 1111 – 1001 1111 – 0111 1111 – 1001 1111 – 0111 1111 – 0110 0111 – 1111 0011 – 1111 1111 – 1001 1111 – 0111 1111 – 0110 1111 – 0101 1111 – 1111 0111 – 1111 0001 – 1111
Generation of Prime Implicants Generation of Prime Implicants Algorithm
Generation of Prime Implicants Example:
Generation of Prime Implicants Example:
Generation of Prime Implicants Example:
Sharp Operation Sharp Operation: (#) Used to computer F G, assume For 2-valued inputs and F = U, n-variable function generates (3n / n) prime implicants, so sharp function time consuming. Disjoint Sharp Operation: ( # ) Used to compute F G. Cubes are disjoint, n-variable function has at most 2n cubes.
Sharp Operation
Sharp Operation
Sharp Operation Example:
Sharp Operation Example:
Sharp Operation Example:
Sharp Operation Example: