… and now for something completely different…

Slides:



Advertisements
Similar presentations
Fall 2002CMSC Discrete Structures1 Enough Mathematical Appetizers! Let us look at something more interesting: Algorithms.
Advertisements

CSE 211- Discrete Structures
Fall 2002CMSC Discrete Structures1 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are.
Fall 2002CMSC Discrete Structures1 You Never Escape Your… Relations.
Fall 2002CMSC Discrete Structures1 Now it’s Time for… RecurrenceRelations.
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
(CSC 102) Discrete Structures Lecture 14.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
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.
Lecture 3. Boolean Algebra, Logic Gates
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.
Boolean Algebra أ. زينب آل كاظم 1. Boolean Functions In Boolean algebra we work with the set {0,1}, where: 0 ≡ F (False) & 1 ≡ T (True). The 3 Operations.
Section Section Summary Introduction to Boolean Algebra Boolean Expressions and Boolean Functions Identities of Boolean Algebra Duality The Abstract.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Set theory Sets: Powerful tool in computer science to solve real world problems. A set is a collection of distinct objects called elements. Traditionally,
Sets Set Operations Functions. 1. Sets 1.1 Introduction and Notation 1.2 Cardinality 1.3 Power Set 1.4 Cartesian Products.
Applied Discrete Mathematics Week 13: Boolean Algebra
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
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,
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.
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.
Basic Structures: Sets, Functions, Sequences, and Sums CSC-2259 Discrete Structures Konstantin Busch - LSU1.
CS201: Data Structures and Discrete Mathematics I
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,
CompSci 102 Discrete Math for Computer Science
Fall 2003CMSC Discrete Structures1 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are.
Chapter 2 With Question/Answer Animations. Section 2.1.
12/19/20151 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related.
Boolean Algebra M. AL- Towaileb1. Boolean Functions In Boolean algebra we work with the set {0,1}, where: 0 ≡ F (False) & 1 ≡ T (True). The 3 Operations.
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.
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.
… and now for something completely different…
Exercises Show that (P  Q)  (P)  (Q)
Functions.
Set Operations Section 2.2.
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
A Brief Summary for Exam 1
… 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:

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

CMSC 203 - Discrete Structures Set Theory Set: Collection of objects (called 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 = {a1, a2, …, an} “A contains a1, …, an” Order of elements is insignificant It does not matter how often the same element is listed (repetition doesn’t count). Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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 = B A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A  B A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A = B Spring 2003 CMSC 203 - Discrete Structures

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

CMSC 203 - Discrete Structures Examples for Sets A =  “empty set/null set” A = {z} Note: zA, but z  {z} A = {{b, c}, {c, x, d}} set of sets A = {{x, y}} Note: {x, y} A, but {x, y}  {{x, y}} 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” Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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 ? true A = {1, 2, 3}, B = {2, 3, 4}, A  B ? false Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Subsets Useful rules: A = B  (A  B)  (B A) (A  B) (B  C)  A  C (see Venn Diagram) U C B A Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Subsets Useful rules:   A for any set A (but   A may not hold for any set A) A  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) Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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! Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures The Power Set P(A) “power set of A” (also written as 2A) 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 Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures The Power Set Cardinality of power sets: | P(A) | = 2|A| Imagine 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) z y x 8 7 6 5 4 3 2 1 A For 3 elements in A, there are 222 = 8 elements in P(A) Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Cartesian Product The ordered n-tuple (a1, a2, a3, …, an) is an ordered collection of n objects. Two ordered n-tuples (a1, a2, a3, …, an) and (b1, b2, b3, …, bn) are equal if and only if they contain exactly the same elements in the same order, i.e. ai = bi for 1  i  n. The Cartesian product of two sets is defined as: AB = {(a, b) | aA  bB} Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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)} Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Cartesian Product Note that: A =  A =  For non-empty sets A and B: AB  AB  BA |AB| = |A||B| The Cartesian product of two or more sets is defined as: A1A2…An = {(a1, a2, …, an) | aiAi for 1  i  n} Spring 2003 CMSC 203 - Discrete Structures

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

CMSC 203 - Discrete Structures 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| Spring 2003 CMSC 203 - Discrete Structures

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

CMSC 203 - Discrete Structures 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 Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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, (Ac)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 = AcBc, (AB)c = AcBc Absorption laws, A(AB) = A, A(AB) = A Complement laws, AAc = U, AAc =  Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Set Identity How can we prove A(BC) = (AB)(AC)? Method I: logical equivalent 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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” 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 (AB) (AC) AC AB A(BC) BC A B C Spring 2003 CMSC 203 - Discrete Structures

… and the following mathematical appetizer is about… Functions Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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) Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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 What is its range? {Moscow, Boston, Hong Kong} Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Functions Other ways to represent f: Boston Peter Hong Kong Kathy Max Moscow Linda f(x) x Linda Max Kathy Peter Boston New York Hong Kong Moscow Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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 … Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Functions Let f1 and f2 be functions from A to R. Then the sum and the product of f1 and f2 are also functions from A to R defined by: (f1 + f2)(x) = f1(x) + f2(x) (f1f2)(x) = f1(x) f2(x) Example: f1(x) = 3x, f2(x) = x + 5 (f1 + f2)(x) = f1(x) + f2(x) = 3x + x + 5 = 4x + 5 (f1f2)(x) = f1(x) f2(x) = 3x (x + 5) = 3x2 + 15x Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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} Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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} Spring 2003 CMSC 203 - Discrete Structures

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. Spring 2003 CMSC 203 - Discrete Structures

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. Spring 2003 CMSC 203 - Discrete Structures

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) = x2 Disproof by counterexample: f(3) = f(-3), but 3  -3, so f is not one-to-one. Spring 2003 CMSC 203 - Discrete Structures

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. Spring 2003 CMSC 203 - Discrete Structures

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 < y  f(x) > f(y)). Obviously, a function that is either strictly increasing or strictly decreasing is one-to-one. Spring 2003 CMSC 203 - Discrete Structures

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|. Spring 2003 CMSC 203 - Discrete Structures

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. Spring 2003 CMSC 203 - Discrete Structures

Properties of Functions Linda Max Kathy Peter Boston New York Hong Kong Moscow Is f injective? No. Is f surjective? Is f bijective? Spring 2003 CMSC 203 - Discrete Structures

Properties of Functions Linda Max Kathy Peter Boston New York Hong Kong Moscow Is f injective? No. Is f surjective? Yes. Is f bijective? Paul Spring 2003 CMSC 203 - Discrete Structures

Properties of Functions Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Is f injective? Yes. Is f surjective? No. Is f bijective? Spring 2003 CMSC 203 - Discrete Structures

Properties of Functions Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Is f injective? No! f is not even a function! Spring 2003 CMSC 203 - Discrete Structures

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

CMSC 203 - Discrete Structures 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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) Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Inversion Linda Boston f Max New York 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. Kathy Hong Kong Peter Moscow Helena Lübeck Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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, 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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 Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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. Spring 2003 CMSC 203 - Discrete Structures

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 Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Now, something about BooleanAlgebra (section 10.1) Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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 sum, and Boolean product Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures 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, 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 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 Spring 2003 CMSC 203 - Discrete Structures

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 Bn, the set {(x1, x2, …, xn) |xi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. Spring 2003 CMSC 203 - Discrete Structures

Boolean Functions and Expressions The Boolean expressions in the variables x1, x2, …, xn are defined recursively as follows: 0, 1, x1, x2, …, xn are Boolean expressions. If E1 and E2 are Boolean expressions, then (-E1), (E1E2), and (E1 + E2) 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. Spring 2003 CMSC 203 - Discrete Structures

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… Spring 2003 CMSC 203 - Discrete Structures

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

Boolean Functions and Expressions Another Example: 1 F(x, y, z) z y x Possible solution I: F(x, y, z) = -(xz + y) Possible solution II: F(x, y, z) = (-(xz))(-y) Spring 2003 CMSC 203 - Discrete Structures

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 x1, x2, …, xn is a Boolean product y1y2…yn, where yi = xi or yi = -xi. Hence, a minterm is a product of n literals, with one literal for each variable. Spring 2003 CMSC 203 - Discrete Structures

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) 1 F(x, y, z) z y x Spring 2003 CMSC 203 - Discrete Structures

Boolean Functions and Expressions Definition: The Boolean functions F and G of n variables are equal if and only if F(b1, b2, …, bn) = G(b1, b2, …, bn) whenever b1, b2, …, bn 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. Spring 2003 CMSC 203 - Discrete Structures

Boolean Functions and Expressions The complement of the Boolean function F is the function –F, where –F(b1, b2, …, bn) = -(F(b1, b2, …, bn)). 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)(b1, b2, …, bn) = F(b1, b2, …, bn) + G(b1, b2, …, bn) (FG)(b1, b2, …, bn) = F(b1, b2, …, bn) G(b1, b2, …, bn) Spring 2003 CMSC 203 - Discrete Structures

Boolean Functions and Expressions Question: How many different Boolean functions of degree 1 are there? Solution: There are four of them, F1, F2, F3, and F4: 1 F3 F2 F4 F1 x Spring 2003 CMSC 203 - Discrete Structures

Boolean Functions and Expressions Question: How many different Boolean functions of degree 2 are there? Solution: There are 16 of them, F1, F2, …, F16: 1 F2 F1 F3 y x F8 F7 F9 F5 F4 F6 F11 F10 F12 F14 F13 F15 F16 Spring 2003 CMSC 203 - Discrete Structures

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

CMSC 203 - Discrete Structures Duality 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. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Duality Examples: 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 Fd, does not depend on the particular Boolean expression used to represent F. Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Duality 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). Spring 2003 CMSC 203 - Discrete Structures

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. Spring 2003 CMSC 203 - Discrete Structures

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) Spring 2003 CMSC 203 - Discrete Structures

CMSC 203 - Discrete Structures Logic Gates Electronic circuits consist of so-called gates. There are three basic types of gates: x -x inverter x y x+y OR gate x y xy AND gate Spring 2003 CMSC 203 - Discrete Structures

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

Logic, Sets, and Boolean Algebra Logic Set Boolean Algebra False  0 True U 1 AB AB AB AB AB A+B A AC Compare the equivalence laws of them Spring 2003 CMSC 203 - Discrete Structures