Boolean Algebra Logical Statements A proposition that may or may not be true: Today is Monday Today is Sunday It is raining Compound Statements More complicated expressions can be built from simpler ones: Today is Monday AND it is raining. Today is Sunday OR it is NOT raining Today is Monday OR today is NOT Monday Today is Monday AND today is NOT Monday (This is a tautology) (This is a contradiction) The expression as a whole is either true or false. Things can get a little tricky… Are these two statements equivalent? It is not nighttime and it is Monday OR it is raining and it is Monday. It is not nighttime or it is raining and Monday AND it is Monday. Boolean Algebra Boolean Algebra allows us to formalize this sort of reasoning. Boolean variables may take one of only two possible values: TRUE or FALSE. (or, equivalently, 1 or 0) Algebraic operators: + - * / Logical operators - AND, OR, NOT, XOR Logical Operators A AND B is True when both A and B are true. A OR B is always True unless both A and B are false. NOT A changes the value from True to False or False to True. XOR = either a or b but not both Writing AND, OR, NOT A AND B = A ^ B = AB A OR B = A v B = A+B NOT A = ~A = A’ TRUE = T = 1 FALSE = F = 0 Exercise AB + AB’ A AND B OR A AND NOT B (A + B)’(B) NOT (A OR B) AND B Boolean Algebra The = in Boolean Algebra means equivalent Two statements are equivalent if they have the same truth table. (More in a second) For example, True = True, A = A, Truth Tables Provide an exhaustive approach to describing when some statement is true (or false) Truth Table M R T T T F F T F F M’ R’ MR M+R Truth Table M R M’ R’ T T F F T F F T F T T F F F T T MR M+R Truth Table M R M’ R’ MR T T F F T T F F T F F T T F F F F T T F M+R Truth Table M R M’ R’ MR M +R T T F F T T T F F T F T F T T F F T F F T T F F Example Write the truth table for A(A’ + B) + AB’ Fill in the following columns: A, B, A’, B’, A’ + B, AB’, A (A’ + B), whole expression. A (A’ + B) + AB’ A B A’ B’ A’ + B A B’ A(A’+B) Whole T T F F T F T T T F F T F T F T F T T F T F F F F F T T T F F F Exercise Write the truth table for (A + A’) B Solution to (A + A’) B A B A’ A + A’ (A + A’) B T T F T T T F F T F F F T F T T T T T F Boolean Algebra - Identities A + True = True A + False = A A+A=A A+B=B+A (commutative) A AND True = A A AND False = False A AND A = A AB = BA (commutative) Associative and Distributive Identities A(BC) = (AB)C A + (B + C) = (A + B) + C A (B + C) = (AB)+(AC) A + (BC) = (A + B) (A + C) Exercise: using truth tables prove A(A + B) = A Solution: A AND (A OR B) = A A B A+ B A (A + B) T T T T T F T T F T T F F F F F Using Identities A + (BC) = (A + B)(A + C) A(B + C) = (AB) +(AC) A(A + B) = A A+A=A Exercise - using identities prove: A + (AB) = A A +(AB) = (A +A)(A + B) = A (A + B) = A Identities with NOT (A’)’ = A A + A’ = True AA’ = False DeMorgan’s Laws (A + B)’ = A’B’ (AB)’ = A’ + B’ Exercise - Simplify the following with identities (A’B)’ Solving a Truth Table A B X When you see a True value in the X column, T T T you must have a term in the expression. Each term consists of the variables AB. A will be T F T NOT A when the truth value of A is False, B F T F will be NOT B when the truth value of B is F F F false. They will be connected by OR. For example, X = AB + AB’ Exercise: Solving a Truth Table A B X When you see a True value in the X column, T T T you must have a term in the expression. Each term consists of the variables AB. A will be T F F NOT A when the truth value of A is False, B F T T will be NOT B when the truth value of B is F F F false. They will be connected by OR. Solve the Truth Table given above. Exercise: Solving a Truth Table A B X When you see a True value in the X column, T T T you must have a term in the expression. Each term consists of the variables AB. A will be T F F NOT A when the truth value of A is False, B F T T will be NOT B when the truth value of B is F F F false. They will be connected by OR. Solution is, X = AB + A’B = (A AND B) OR ( NOT A AND B)