EECS 20 Lecture 2 (January 19, 2001) Tom Henzinger Mathematical Language

Download EECS 20 Lecture 2 (January 19, 2001) Tom Henzinger Mathematical Language

Post on 21-Dec-2015

213 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

<ul><li> Slide 1 </li> <li> EECS 20 Lecture 2 (January 19, 2001) Tom Henzinger Mathematical Language </li> <li> Slide 2 </li> <li> Let Evens = { x | ( y, y Nats x = 2 y ) }. </li> <li> Slide 3 </li> <li> Mathematical Language Let Evens = { x | ( y, y Nats x = 2 y ) }. Constants </li> <li> Slide 4 </li> <li> Mathematical Language Let Evens = { x | ( y, y Nats x = 2 y ) }. Constants Variables </li> <li> Slide 5 </li> <li> Mathematical Language Let Evens = { x | ( y, y Nats x = 2 y ) }. Constants Variables Operators </li> <li> Slide 6 </li> <li> Mathematical Language Let Evens = { x | ( y, y Nats x = 2 y ) }. Constants Variables Operators Quantifiers </li> <li> Slide 7 </li> <li> Mathematical Language Let Evens = { x | ( y, y Nats x = 2 y ) }. Constants Variables Operators Quantifiers Definition </li> <li> Slide 8 </li> <li> Mathematical Language Let Evens = { x | ( y, y Nats x = 2 y ) }. Constants Variables Operators Quantifiers Definition </li> <li> Slide 9 </li> <li> Constants have meaning 20 a certain number Berkeley a certain city false a certain truth value </li> <li> Slide 10 </li> <li> Variables have no meaning x y 0 z </li> <li> Slide 11 </li> <li> Operators on numbers number + number Result: number number ! number number = number truth value number number truth value </li> <li> Slide 12 </li> <li> Operators on cities merge ( city, city ) Result: city population-of ( city ) number has-a-university ( city ) truth value </li> <li> Slide 13 </li> <li> Operators on truth values truth value truth value Result: truth value truth value truth value truth value truth value truth value truth value truth value truth value truth value truth value truth value </li> <li> Slide 14 </li> <li> Expressions on constants have meaning 3 + 20 Result: 23 (3! + 2) 4 32 4 population-of ( Berkeley ) true 4 20 4 + 20 false true false false true ( 4 + 20 ) not well-formed </li> <li> Slide 15 </li> <li> Implication true true Result: true true false false false true true false false true </li> <li> Slide 16 </li> <li> Expressions on variables have no meaning x + 20 (3! + y) 4 x y Free variables: x y x, y </li> <li> Slide 17 </li> <li> Quantifiers remove free variables from expressions x = 0 x, x = 0 x, x = 0 y, x + 1 = y x, y, x + 1 = y x, y, x y x, x + 7 Result: free x true false free x true not well-formed </li> <li> Slide 18 </li> <li> Every mathematical expression 1. is not well-formed (type mismatch), or 2. contains free variables, or 3. is a definition, or 4. has a meaning (e.g., 20, Berkeley, false). </li> <li> Slide 19 </li> <li> SETS </li> <li> Slide 20 </li> <li> Set constants { 1, 2, 3 } { Atlanta, Berkeley, Chicago, Detroit } { 1, 2, 3, 4, } </li> <li> Slide 21 </li> <li> Set operator anything set Result: truth value 2 { 1, 2, 3 } true 2 { Atlanta, Berkeley } false </li> <li> Slide 22 </li> <li> Set quantifier ( x, truth value ) Result: truth value ( x, truth value ) truth value { x | truth value } set </li> <li> Slide 23 </li> <li> Quantifiers remove free variables from expressions { x | x y } { x | x = 1 x = 2 } { x | y, x = 2 y } { x | x + 7 } Result: free y { 1, 2 } { 2, 4, 6, 8, } not well-formed </li> <li> Slide 24 </li> <li> Bounded quantification ( x set, truth value ) Result: truth value ( x set, truth value ) truth value { x set | truth value } set </li> <li> Slide 25 </li> <li> Meaning of constants can be defined Let Nats = { 1, 2, 3, 4, }. Let Bools = { true, false }. Define Cities = { Atlanta, Chicago, Berkeley, Detroit }. Define = { }. </li> <li> Slide 26 </li> <li> Let Evens = { x Nats | y Nats, x = 2 y }. Let Evens be the set of all x Nats such that x = 2 y for some y Nats. </li> </ul>