Fall 2003CMSC 203 - Discrete Structures1 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are.

Slides:



Advertisements
Similar presentations
Fall 2002CMSC Discrete Structures1 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are.
Advertisements

Discrete Mathematics I Lectures Chapter 6
© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Manish Kumar PRE. 1 Theory Of Computation Pre-requisite.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Functions Section 2.3 of Rosen Fall 2008
Discrete Structures Chapter 3 Set Theory Nurul Amelina Nasharuddin Multimedia Department.
1 Section 10.1 Boolean Functions. 2 Computers & Boolean Algebra Circuits in computers have inputs whose values are either 0 or 1 Mathematician George.
modified from UCI ICS/Math 6D, Fall Sets+Functions-1 Sets “Set”=Unordered collection of Objects “Set Elements”
Lecture 3. Boolean Algebra, Logic Gates
1 Section 1.8 Functions. 2 Loose Definition Mapping of each element of one set onto some element of another set –each element of 1st set must map to something,
CS 2210 (22C:019) Discrete Structures Sets and Functions Spring 2015 Sukumar Ghosh.
Fall 2002CMSC Discrete Structures1 Yes, No, Maybe... Boolean Algebra.
February 5, 2015Applied Discrete Mathematics Week 1: Logic and Sets 1 Homework Solution PQ  (P  Q) (  P)  (  Q)  (P  Q)  (  P)  (  Q) truetruefalsefalsetrue.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Sets Set Operations Functions. 1. Sets 1.1 Introduction and Notation 1.2 Cardinality 1.3 Power Set 1.4 Cartesian Products.
FUNCTION Discrete Mathematics Asst. Prof. Dr. Choopan Rattanapoka.
Applied Discrete Mathematics Week 13: Boolean Algebra
February 12, 2015Applied Discrete Mathematics Week 2: Functions and Sequences 1Exercises Question 1: Given a set A = {x, y, z} and a set B = {1, 2, 3,
Discrete Maths Objectives to show the connection between relations and functions, and to introduce some functions with useful, special properties ,
ICS 253: Discrete Structures I
Dr. Eng. Farag Elnagahy Office Phone: King ABDUL AZIZ University Faculty Of Computing and Information Technology CPCS 222.
Discrete Mathematics and Its Applications Sixth Edition By Kenneth Rosen Copyright  The McGraw-Hill Companies, Inc. Permission required for reproduction.
Fall 2002CMSC Discrete Structures1 … and the following mathematical appetizer is about… Functions.
10/26/20151 … and the following mathematical appetizer is about… Functions.
Functions Section 2.3 of Rosen Spring 2012 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions: Use Piazza.
1.4 Sets Definition 1. A set is a group of objects . The objects in a set are called the elements, or members, of the set. Example 2 The set of positive.
Example Prove that: “IF 3n + 2 is odd, then n is odd” Proof by Contradiction: -p = 3n + 2 is odd, q = n is odd. -Assume that ~(p  q) is true OR -(p 
Basic Structures: Functions Muhammad Arief download dari
January 30, 2002Applied Discrete Mathematics Week 1: Logic and Sets 1 Let’s Talk About Logic Logic is a system based on propositions.Logic is a system.
1. Set Theory Set: Collection of objects (“elements”) a  A “a is an element of A” “a is a member of A” a  A “a is not an element of A” A = {a 1, a 2,
Discrete Mathematics R. Johnsonbaugh
CompSci 102 Discrete Math for Computer Science
Discrete Mathematics CS 2610 February 12, Agenda Previously Finished functions Began Boolean algebras And now Continue with Boolean algebras.
Chapter 2 With Question/Answer Animations. Section 2.1.
Basic Structures: Sets, Functions, Sequences, and Sums.
12/19/20151 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related.
Sets Definition: A set is an unordered collection of objects, called elements or members of the set. A set is said to contain its elements. We write a.
Review 2 Basic Definitions Set - Collection of objects, usually denoted by capital letter Member, element - Object in a set, usually denoted by lower.
Discrete Mathematics CS 2610 February 10, Agenda Previously Functions And now Finish functions Start Boolean algebras (Sec. 11.1)
FUNCTIONS COSC-1321 Discrete Structures 1. Function. Definition Let X and Y be sets. A function f from X to Y is a relation from X to Y with the property.
Module #3 - Sets 3/2/2016(c) , Michael P. Frank 2. Sets and Set Operations.
Boolean Algebra.
Chapter 2 1. Chapter Summary Sets (This Slide) The Language of Sets - Sec 2.1 – Lecture 8 Set Operations and Set Identities - Sec 2.2 – Lecture 9 Functions.
Ch02-Basic Structures: Sets, Functions, Sequences, Sums, and Matrices 1.
CHAPTER 2 Boolean algebra and Logic gates
Functions 7/7/2016COCS - Discrete Structures1. Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element.
Applied Discrete Mathematics Week 1: Logic and Sets
Chapter 11 (Part 1): Boolean Algebra
CS 2210:0001 Discrete Structures Sets and Functions
Applied Discrete Mathematics Week 2: Functions and Sequences
Functions.
… and now for the Final Topic:
… and the following mathematical appetizer is about…
Functions.
Discrete Math for Computer Science CSC 281
… and now for something completely different…
Exercises Show that (P  Q)  (P)  (Q)
Functions.
CMSC Discrete Structures
… and the following mathematical appetizer is about…
Yes, No, Maybe... BooleanAlgebra 12/10/2018.
Applied Discrete Mathematics Week 2: Proofs
Applied Discrete Mathematics Week 4: Functions
… and the following mathematical appetizer is about…
Applied Discrete Mathematics Week 3: Sets
Properties of Functions
… and now for something completely different…
CMSC Discrete Structures
Presentation transcript:

Fall 2003CMSC Discrete Structures1 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related.

Fall 2003CMSC Discrete Structures2 Set Theory Set: Collection of objects (called elements)Set: Collection of objects (called elements) a  A “a is an element of A” “a is a member of A”a  A “a is an element of A” “a is a member of A” a  A “a is not an element of A”a  A “a is not an element of A” A = {a 1, a 2, …, a n } “A contains a 1, …, a n ”A = {a 1, a 2, …, a n } “A contains a 1, …, a n ” Order of elements is insignificantOrder of elements is insignificant It does not matter how often the same element is listed (repetition doesn’t count).It does not matter how often the same element is listed (repetition doesn’t count).

Fall 2003CMSC Discrete Structures3 Set Equality Sets A and B are equal if and only if they contain exactly the same elements. Examples: A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A = B A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A  B A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A = B

Fall 2003CMSC Discrete Structures4 Examples for Sets “Standard” Sets: Natural numbers N = {0, 1, 2, 3, …}Natural numbers N = {0, 1, 2, 3, …} Integers Z = {…, -2, -1, 0, 1, 2, …}Integers Z = {…, -2, -1, 0, 1, 2, …} Positive Integers Z + = {1, 2, 3, 4, …}Positive Integers Z + = {1, 2, 3, 4, …} Real Numbers R = {47.3, -12, , …}Real Numbers R = {47.3, -12, , …} Rational Numbers Q = {1.5, 2.6, -3.8, 15, …}Rational Numbers Q = {1.5, 2.6, -3.8, 15, …} (correct definitions will follow)

Fall 2003CMSC Discrete Structures5 Examples for Sets A =  “empty set/null set”A =  “empty set/null set” A = {z} Note: z  A, but z  {z}A = {z} Note: z  A, but z  {z} A = {{b, c}, {c, x, d}} set of setsA = {{b, c}, {c, x, d}} set of sets A = {{x, y}} Note: {x, y}  A, but {x, y}  {{x, y}}A = {{x, y}} Note: {x, y}  A, but {x, y}  {{x, y}} A = {x | P(x)} “set of all x such that P(x)”A = {x | P(x)} “set of all x such that P(x)” P(x) is the membership function of set A  x (P(x)  x  A) A = {x | x  N  x > 7} = {8, 9, 10, …} “set builder notation”A = {x | x  N  x > 7} = {8, 9, 10, …} “set builder notation”

Fall 2003CMSC Discrete Structures6 Examples for Sets We are now able to define the set of rational numbers Q: Q = {a/b | a  Z  b  Z + }, or Q = {a/b | a  Z  b  Z  b  0} And how about the set of real numbers R? R = {r | r is a real number} That is the best we can do. It can neither be defined by enumeration nor builder function.

Fall 2003CMSC Discrete Structures7 Subsets A  B “A is a subset of B” A  B if and only if every element of A is also an element of B. We can completely formalize this: A  B   x (x  A  x  B) Examples: A = {3, 9}, B = {5, 9, 1, 3}, A  B ? true A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A  B ? false true A = {1, 2, 3}, B = {2, 3, 4}, A  B ?

Fall 2003CMSC Discrete Structures8 Subsets Useful rules: A = B  (A  B)  (B  A)A = B  (A  B)  (B  A) (A  B)  (B  C)  A  C (see Venn Diagram)(A  B)  (B  C)  A  C (see Venn Diagram) U A B C

Fall 2003CMSC Discrete Structures9 Subsets Useful rules:   A for any set A   A for any set A (but   A may not hold for any set A) A  A for any set AA  A for any set A Proper subsets: A  B “A is a proper subset of B” A  B   x (x  A  x  B)   x (x  B  x  A) or A  B   x (x  A  x  B)   x (x  B  x  A)

Fall 2003CMSC Discrete Structures10 Cardinality of Sets If a set S contains n distinct elements, n  N, we call S a finite set with cardinality n. Examples: A = {Mercedes, BMW, Porsche}, |A| = 3 B = {1, {2, 3}, {4, 5}, 6} |B| = 4 C =  |C| = 0 D = { x  N | x  7000 } |D| = 7001 E = { x  N | x  7000 } E is infinite!

Fall 2003CMSC Discrete Structures11 The Power Set P(A) “power set of A” (also written as 2 A ) P(A) = {B | B  A} (contains all subsets of A) Examples: A = {x, y, z} P(A) = { , {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z}} A =  P(A) = {  } Note: |A| = 0, |P(A)| = 1

Fall 2003CMSC Discrete Structures12 The Power Set Cardinality of power sets: | P(A) | = 2 |A| Imagine each element in A has an “on/off” switchImagine each element in A has an “on/off” switch Each possible switch configuration in A corresponds to one subset of A, thus one element in P(A)Each possible switch configuration in A corresponds to one subset of A, thus one element in P(A) zzzzzzzzz yyyyyyyyy xxxxxxxxx A For 3 elements in A, there are 2  2  2 = 8 elements in P(A)For 3 elements in A, there are 2  2  2 = 8 elements in P(A)

Fall 2003CMSC Discrete Structures13 Cartesian Product The ordered n-tuple (a 1, a 2, a 3, …, a n ) is an ordered collection of n objects. Two ordered n-tuples (a 1, a 2, a 3, …, a n ) and (b 1, b 2, b 3, …, b n ) are equal if and only if they contain exactly the same elements in the same order, i.e. a i = b i for 1  i  n. The Cartesian product of two sets is defined as: A  B = {(a, b) | a  A  b  B}

Fall 2003CMSC Discrete Structures14 Cartesian Product Example: A = {good, bad}, B = {student, prof} A  B = { (good, student), (good, prof), (bad, student), (bad, prof) } (prof, bad) } (student, good), (prof, good), (student, bad), B  A = { Example: A = {x, y}, B = {a, b, c} A  B = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)}

Fall 2003CMSC Discrete Structures15 Cartesian Product Note that: A  =  A  =   A =   A =  For non-empty sets A and B: A  B  A  B  B  A For non-empty sets A and B: A  B  A  B  B  A |A  B| = |A|  |B| |A  B| = |A|  |B| The Cartesian product of two or more sets is defined as: A 1  A 2  …  A n = {(a 1, a 2, …, a n ) | a i  A i for 1  i  n}

Fall 2003CMSC Discrete Structures16 Set Operations Union: A  B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d} A  B = {a, b, c, d} A  B = {a, b, c, d} Intersection: A  B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d} A  B = {b} A  B = {b} Cardinality: |A  B| = |A| + |B| - |A  B|

Fall 2003CMSC Discrete Structures17 Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: A  B =  The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d}, A-B = {a} Cardinality: |A-B| = |A| - |A  B|

Fall 2003CMSC Discrete Structures18 Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: denoted A c (or as in the text) A c = U-A Example: U = N, B = {250, 251, 252, …} B c = {0, 1, 2, …, 248, 249} B c = {0, 1, 2, …, 248, 249}

Fall 2003CMSC Discrete Structures19 Logical Equivalence Equivalence laws –Identity laws, P  T  P, –Domination laws, P  F  F, –Idempotent laws, P  P  P, –Double negation law,  (  P)  P –Commutative laws, P  Q  Q  P, –Associative laws, P  (Q  R)  ( P  Q)  R, –Distributive laws, P  (Q  R)  ( P  Q)  (P  R), –De Morgan’s laws,  (P  Q)  (  P)  (  Q) –Law with implication P  Q   P  Q

Fall 2003CMSC Discrete Structures20 Set Identity Table 1 in Section 1.7 shows many useful equations –Identity laws, A   = A, A  U = A –Domination laws, A  U = U, A   =  –Idempotent laws, A  A = A, A  A = A –Complementation law, ( A c ) c = A –Commutative laws, A  B = B  A, A  B = B  A –Associative laws, A  (B  C) = (A  B)  C, … –Distributive laws, A  (B  C) = (A  B)  (A  C), … –De Morgan’s laws, (A  B) c = A c  B c, (A  B) c = A c  B c –Absorption laws, A  (A  B) = A, A  (A  B) = A –Complement laws,A  A c = U, A  A c = 

Fall 2003CMSC Discrete Structures21 Set Identity How can we prove A  (B  C) = (A  B)  (A  C)? Method I: logical equivalent x  A  (B  C) x  A  (B  C)  x  A  x  (B  C)  x  A  (x  B  x  C)  (x  A  x  B)  (x  A  x  C) (distributive law)  x  (A  B)  x  (A  C)  x  (A  B)  (A  C) Every logical expression can be transformed into an equivalent expression in set theory and vice versa.

Fall 2003CMSC Discrete Structures22 Set Operations Method II: Membership table 1 means “x is an element of this set” 0 means “x is not an element of this set” (A  B)  (A  C) ACACACAC ABABABAB A  (B  C) BCBCBCBC A B C

Fall 2003CMSC Discrete Structures23 … and the following mathematical appetizer is about… Functions

Fall 2003CMSC Discrete Structures24 Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f: A  B (note: Here, “  “ has nothing to do with if… then)

Fall 2003CMSC Discrete Structures25 Functions If f:A  B, we say that A is the domain of f and B is the codomain of f. If f(a) = b, we say that b is the image of a and a is the pre-image of b. The range of f:A  B is the set of all images of all elements of A. We say that f:A  B maps A to B.

Fall 2003CMSC Discrete Structures26 Functions Let us take a look at the function f:P  C with P = {Linda, Max, Kathy, Peter} C = {Boston, New York, Hong Kong, Moscow} f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = New York Here, the range of f is C.

Fall 2003CMSC Discrete Structures27 Functions Let us re-specify f as follows: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f still a function? yes {Moscow, Boston, Hong Kong} What is its range?

Fall 2003CMSC Discrete Structures28 Functions Other ways to represent f: BostonPeter Hong Kong Kathy BostonMax MoscowLindaf(x)x LindaMax Kathy PeterBoston New York Hong Kong Moscow

Fall 2003CMSC Discrete Structures29 Functions If the domain of our function f is large, it is convenient to specify f with a formula, e.g.: f:R  R f(x) = 2x This leads to: f(1) = 2 f(3) = 6 f(-3) = -6 …

Fall 2003CMSC Discrete Structures30 Functions Let f 1 and f 2 be functions from A to R. Then the sum and the product of f 1 and f 2 are also functions from A to R defined by: (f 1 + f 2 )(x) = f 1 (x) + f 2 (x) (f 1 f 2 )(x) = f 1 (x) f 2 (x) Example: f 1 (x) = 3x, f 2 (x) = x + 5 (f 1 + f 2 )(x) = f 1 (x) + f 2 (x) = 3x + x + 5 = 4x + 5 (f 1 f 2 )(x) = f 1 (x) f 2 (x) = 3x (x + 5) = 3x x

Fall 2003CMSC Discrete Structures31 Functions We already know that the range of a function f:A  B is the set of all images of elements a  A. If we only regard a subset S  A, the set of all images of elements s  S is called the image of S. We denote the image of S by f(S): f(S) = {f(s) | s  S}

Fall 2003CMSC Discrete Structures32 Functions Let us look at the following well-known function: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston What is the image of S = {Linda, Max} ? f(S) = {Moscow, Boston} What is the image of S = {Max, Peter} ? f(S) = {Boston}

Fall 2003CMSC Discrete Structures33 Properties of Functions A function f:A  B is said to be one-to-one (or injective), if and only if  x, y  A (f(x) = f(y)  x = y) In other words: f is one-to-one if and only if it does not map two distinct elements of A onto the same element of B.

Fall 2003CMSC Discrete Structures34 Properties of Functions And again… f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f one-to-one? No, Max and Peter are mapped onto the same element of the image. g(Linda) = Moscow g(Max) = Boston g(Kathy) = Hong Kong g(Peter) = New York Is g one-to-one? Yes, each element is assigned a unique element of the image.

Fall 2003CMSC Discrete Structures35 Properties of Functions How can we prove that a function f is one-to-one? Whenever you want to prove something, first take a look at the relevant definition(s):  x, y  A (f(x) = f(y)  x = y) Example: f:R  R f(x) = x 2 Disproof by counterexample: f(3) = f(-3), but 3  -3, so f is not one-to-one.

Fall 2003CMSC Discrete Structures36 Properties of Functions … and yet another example: f:R  R f(x) = 3x One-to-one:  x, y  A (f(x) = f(y)  x = y) To show: f(x)  f(y) whenever x  y (indirect proof) x  y  3x  3y  f(x)  f(y), so if x  y, then f(x)  f(y), that is, f is one-to-one.

Fall 2003CMSC Discrete Structures37 Properties of Functions A function f:A  B with A,B  R is called strictly increasing, if  x,y  A (x < y  f(x) < f(y)), and strictly decreasing, if  x,y  A (x f(y)). Obviously, a function that is either strictly increasing or strictly decreasing is one-to-one.

Fall 2003CMSC Discrete Structures38 Properties of Functions A function f:A  B is called onto, or surjective, if and only if for every element b  B there is an element a  A with f(a) = b. In other words, f is onto if and only if its range is its entire codomain. A function f: A  B is a one-to-one correspondence, or a bijection, if and only if it is both one-to-one and onto. Obviously, if f is a bijection and A and B are finite sets, then |A| = |B|.

Fall 2003CMSC Discrete Structures39 Properties of Functions Examples: In the following examples, we use the arrow representation to illustrate functions f:A  B. In each example, the complete sets A and B are shown.

Fall 2003CMSC Discrete Structures40 Properties of Functions Is f injective? No. Is f surjective? No. Is f bijective? No.LindaMax Kathy PeterBoston New York Hong Kong Moscow

Fall 2003CMSC Discrete Structures41 Properties of Functions Is f injective? No. Is f surjective? Yes. Is f bijective? No.LindaMax Kathy PeterBoston New York Hong Kong Moscow Paul

Fall 2003CMSC Discrete Structures42 Properties of Functions Is f injective? Yes. Is f surjective? No. Is f bijective? No.LindaMax Kathy PeterBoston New York Hong Kong Moscow Lübeck

Fall 2003CMSC Discrete Structures43 Properties of Functions Is f injective? No! f is not even a function! LindaMax Kathy PeterBoston New York Hong Kong Moscow Lübeck

Fall 2003CMSC Discrete Structures44 Properties of Functions Is f injective? Yes. Is f surjective? Yes. Is f bijective? Yes. Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Helena

Fall 2003CMSC Discrete Structures45 Inversion An interesting property of bijections is that they have an inverse function. The inverse function of the bijection f:A  B is the function f -1 :B  A with f -1 (b) = a whenever f(a) = b.

Fall 2003CMSC Discrete Structures46 Inversion Example: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Lübeck f(Helena) = New York Clearly, f is bijective. The inverse function f -1 is given by: f -1 (Moscow) = Linda f -1 (Boston) = Max f -1 (Hong Kong) = Kathy f -1 (Lübeck) = Peter f -1 (New York) = Helena Inversion is only possible for bijections (= invertible functions)

Fall 2003CMSC Discrete Structures47 Inversion Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Helenaf f -1 f -1 :C  P is no function, because it is not defined for all elements of C and assigns two images to the pre- image New York.

Fall 2003CMSC Discrete Structures48 Composition The composition of two functions g:A  B and f:B  C, denoted by f  g, is defined by (f  g)(a) = f(g(a)) This means that first, function g is applied to element a  A, mapping it onto an element of B, first, function g is applied to element a  A, mapping it onto an element of B, then, function f is applied to this element of B, mapping it onto an element of C. then, function f is applied to this element of B, mapping it onto an element of C. Therefore, the composite function maps from A to C. Therefore, the composite function maps from A to C.

Fall 2003CMSC Discrete Structures49 Composition Example: f(x) = 7x – 4, g(x) = 3x, f:R  R, g:R  R (f  g)(5) = f(g(5)) = f(15) = 105 – 4 = 101 (f  g)(x) = f(g(x)) = f(3x) = 21x - 4

Fall 2003CMSC Discrete Structures50 Composition Composition of a function and its inverse: (f -1  f)(x) = f -1 (f(x)) = x The composition of a function and its inverse is the identity function i(x) = x.

Fall 2003CMSC Discrete Structures51 Graphs The graph of a function f:A  B is the set of ordered pairs {(a, b) | a  A and f(a) = b}. The graph is a subset of A  B that can be used to visualize f in a two-dimensional coordinate system.

Fall 2003CMSC Discrete Structures52 Floor and Ceiling Functions The floor and ceiling functions map the real numbers onto the integers (R  Z). The floor function assigns to r  R the largest z  Z with z  r, denoted by  r . Examples:  2.3  = 2,  2  = 2,  0.5  = 0,  -3.5  = -4 The ceiling function assigns to r  R the smallest z  Z with z  r, denoted by  r . Examples:  2.3  = 3,  2  = 2,  0.5  = 1,  -3.5  = -3

Fall 2003CMSC Discrete Structures53 Now, something about BooleanAlgebra (section 10.1)

Fall 2003CMSC Discrete Structures54 Boolean Algebra Boolean algebra provides the operations and the rules for working with the set {0, 1}. These are the rules that underlie electronic circuits, and the methods we will discuss are fundamental to VLSI design. We are going to focus on three operations: Boolean complementation, Boolean complementation, Boolean sum, and Boolean sum, and Boolean product Boolean product

Fall 2003CMSC Discrete Structures55 Boolean Operations The complement is denoted by a bar (on the slides, we will use a minus sign). It is defined by -0 = 1 and -1 = 0. The Boolean sum, denoted by + or by OR, has the following values: = 1, = 1, = 1, = 0 The Boolean product, denoted by  or by AND, has the following values: 1  1 = 1, 1  0 = 0, 0  1 = 0, 0  0 = 0

Fall 2003CMSC Discrete Structures56 Boolean Functions and Expressions Definition: Let B = {0, 1}. The variable x is called a Boolean variable if it assumes values only from B. A function from B n, the set {(x 1, x 2, …, x n ) |x i  B, 1  i  n}, to B is called a Boolean function of degree n. Boolean functions can be represented using expressions made up from the variables and Boolean operations.

Fall 2003CMSC Discrete Structures57 Boolean Functions and Expressions The Boolean expressions in the variables x 1, x 2, …, x n are defined recursively as follows: 0, 1, x 1, x 2, …, x n are Boolean expressions. 0, 1, x 1, x 2, …, x n are Boolean expressions. If E 1 and E 2 are Boolean expressions, then (-E 1 ), (E 1 E 2 ), and (E 1 + E 2 ) are Boolean expressions. If E 1 and E 2 are Boolean expressions, then (-E 1 ), (E 1 E 2 ), and (E 1 + E 2 ) are Boolean expressions. Each Boolean expression represents a Boolean function. The values of this function are obtained by substituting 0 and 1 for the variables in the expression.

Fall 2003CMSC Discrete Structures58 Boolean Functions and Expressions For example, we can create Boolean expression in the variables x, y, and z using the “building blocks” 0, 1, x, y, and z, and the construction rules: Since x and y are Boolean expressions, so is xy. Since z is a Boolean expression, so is (-z). Since xy and (-z) are expressions, so is xy + (-z). … and so on…

Fall 2003CMSC Discrete Structures59 Boolean Functions and Expressions Example: Give a Boolean expression for the Boolean function F(x, y) as defined by the following table: F(x, y) yx Possible solution: F(x, y) = (-x)  y

Fall 2003CMSC Discrete Structures60 Boolean Functions and Expressions Another Example: Possible solution I: F(x, y, z) = -(xz + y) F(x, y, z) z yx Possible solution II: F(x, y, z) = (-(xz))(-y)

Fall 2003CMSC Discrete Structures61 Boolean Functions and Expressions There is a simple method for deriving a Boolean expression for a function that is defined by a table. This method is based on minterms. Definition: A literal is a Boolean variable or its complement. A minterm of the Boolean variables x 1, x 2, …, x n is a Boolean product y 1 y 2 …y n, where y i = x i or y i = -x i. Hence, a minterm is a product of n literals, with one literal for each variable.

Fall 2003CMSC Discrete Structures62 Boolean Functions and Expressions Consider F(x,y,z) again: F(x, y, z) = 1 if and only if: x = y = z = 0 or x = y = 0, z = 1 or x = 1, y = z = 0 Therefore, F(x, y, z) = (-x)(-y)(-z) + (-x)(-y)z + x(-y)(-z) F(x, y, z) z yx

Fall 2003CMSC Discrete Structures63 Boolean Functions and Expressions Definition: The Boolean functions F and G of n variables are equal if and only if F(b 1, b 2, …, b n ) = G(b 1, b 2, …, b n ) whenever b 1, b 2, …, b n belong to B. Two different Boolean expressions that represent the same function are called equivalent. For example, the Boolean expressions xy, xy + 0, and xy  1 are equivalent.

Fall 2003CMSC Discrete Structures64 Definition of a Boolean Algebra All the properties of Boolean functions and expressions that we have discovered also apply to other mathematical structures such as propositions and sets and the operations defined on them. If we can show that a particular structure is a Boolean algebra, then we know that all results established about Boolean algebras apply to this structure. For this purpose, we need an abstract definition of a Boolean algebra.

Fall 2003CMSC Discrete Structures65 Definition of a Boolean Algebra Definition: A Boolean algebra is a set B with two binary operations  and , elements 0 and 1, and a unary operation – such that the following properties hold for all x, y, and z in B: x  0 = x and x  1 = x (identity laws) x  (-x) = 1 and x  (-x) = 0 (domination laws) (x  y)  z = x  (y  z) and (x  y)  z = x  (y  z) and (associative laws) x  y = y  x and x  y = y  x (commutative laws) x  (y  z) = (x  y)  (x  z) and x  (y  z) = (x  y)  (x  z) (distributive laws) (For more equivalence laws for Boolean algebra, see Table 5 on page 705 in the textbook).

Fall 2003CMSC Discrete Structures66 Logic Gates Electronic circuits consist of so-called gates. There are three basic types of gates: xy x+y OR gate AND gate xy xy x-xinverter

Fall 2003CMSC Discrete Structures67 Logic Gates Example: How can we build a circuit that computes the function xy + (-x)y ? xy + (-x)y xy xy x -x y (-x)y

Fall 2003CMSC Discrete Structures68 Propositional Logic, Sets, and Boolean Algebra LogicSetBoolean Algebra False  0 TrueU1 A  B A  BA  B A  BA  BA+B AACAACAACAAC Compare their respective equivalence laws

Fall 2003CMSC Discrete Structures69 Boolean Functions and Expressions The complement of the Boolean function F is the function –F, where –F(b 1, b 2, …, b n ) = -(F(b 1, b 2, …, b n )). Let F and G be Boolean functions of degree n. The Boolean sum F+G and Boolean product FG are then defined by (F + G)(b 1, b 2, …, b n ) = F(b 1, b 2, …, b n ) + G(b 1, b 2, …, b n ) (FG)(b 1, b 2, …, b n ) = F(b 1, b 2, …, b n ) G(b 1, b 2, …, b n )

Fall 2003CMSC Discrete Structures70 Boolean Functions and Expressions Question: How many different Boolean functions of degree 1 are there? Solution: There are four of them, F 1, F 2, F 3, and F 4 : 0 1 F3F3F3F31 0 F2F2F2F F4F4F4F4 F1F1F1F1x

Fall 2003CMSC Discrete Structures71 Boolean Functions and Expressions Question: How many different Boolean functions of degree 2 are there? Solution: There are 16 of them, F 1, F 2, …, F 16 :

Fall 2003CMSC Discrete Structures72 Boolean Functions and Expressions Question: How many different Boolean functions of degree n are there? Solution: There are 2 n different n-tuples of 0s and 1s. A Boolean function is an assignment of 0 or 1 to each of these 2 n different n-tuples. Therefore, there are 2 2 n different Boolean functions.

Fall 2003CMSC Discrete Structures73Duality There are useful identities of Boolean expressions that can help us to transform an expression A into an equivalent expression B (see Table 5 on page 705 in the textbook). We can derive additional identities with the help of the dual of a Boolean expression. The dual of a Boolean expression is obtained by interchanging Boolean sums and Boolean products and interchanging 0s and 1s.

Fall 2003CMSC Discrete Structures74DualityExamples: The dual of x(y + z) is x + yz. The dual of -x  1 + (-y + z) is (-x + 0)((-y)z). The dual of a Boolean function F represented by a Boolean expression is the function represented by the dual of this expression. This dual function, denoted by F d, does not depend on the particular Boolean expression used to represent F.

Fall 2003CMSC Discrete Structures75Duality Therefore, an identity between functions represented by Boolean expressions remains valid when the duals of both sides of the identity are taken. We can use this fact, called the duality principle, to derive new identities. For example, consider the absorption law x(x + y) = x. By taking the duals of both sides of this identity, we obtain the equation x + xy = x, which is also an identity (and also called an absorption law).