Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... ·...
Transcript of Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... ·...
![Page 1: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/1.jpg)
Mathematical LogicPart Two
![Page 2: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/2.jpg)
A Note on the Career Fair
![Page 3: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/3.jpg)
Recap from Last Time
![Page 4: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/4.jpg)
Recap So Far
● A propositional variable is a variable that is either true or false.
● The propositional connectives are as follows:● Negation: ¬p● Conjunction: p ∧ q● Disjunction: p ∨ q● Implication: p → q● Biconditional: p ↔ q● True: ⊤● False: ⊥
![Page 5: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/5.jpg)
Take out a sheet of paper!
![Page 6: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/6.jpg)
What's the truth table for the → connective?
![Page 7: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/7.jpg)
What's the negation of p → q?
![Page 8: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/8.jpg)
New Stuff!
![Page 9: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/9.jpg)
First-Order Logic
![Page 10: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/10.jpg)
What is First-Order Logic?
● First-order logic is a logical system for reasoning about properties of objects.
● Augments the logical connectives from propositional logic with● predicates that describe properties of
objects,● functions that map objects to one another,
and● quantifiers that allow us to reason about
multiple objects.
![Page 11: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/11.jpg)
Some Examples
![Page 12: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/12.jpg)
Likes(You, Egg) ∧ Likes(You, Tomato) → Likes(You, Shakshuka)
Learns(You, History) ∨ ForeverRepeats(You, History)
DrinksTooMuch(Me) ∧ IsAnIssue(That) ∧ IsOkay(Me)
![Page 13: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/13.jpg)
Likes(You, Egg) ∧ Likes(You, Tomato) → Likes(You, Shakshuka)
Learns(You, History) ∨ ForeverRepeats(You, History)
DrinksTooMuch(Me) ∧ IsAnIssue(That) ∧ IsOkay(Me)
These blue terms are called constant symbols. Unlike propositional variables, they
refer to objects, not propositions.
These blue terms are called constant symbols. Unlike propositional variables, they
refer to objects, not propositions.
![Page 14: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/14.jpg)
Likes(You, Egg) ∧ Likes(You, Tomato) → Likes(You, Shakshuka)
Learns(You, History) ∨ ForeverRepeats(You, History)
DrinksTooMuch(Me) ∧ IsAnIssue(That) ∧ IsOkay(Me)
The red things that look like function calls are called predicates. Predicates take objects as arguments and evaluate to true or false.
The red things that look like function calls are called predicates. Predicates take objects as arguments and evaluate to true or false.
![Page 15: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/15.jpg)
Likes(You, Egg) ∧ Likes(You, Tomato) → Likes(You, Shakshuka)
Learns(You, History) ∨ ForeverRepeats(You, History)
DrinksTooMuch(Me) ∧ IsAnIssue(That) ∧ IsOkay(Me)
What remains are traditional propositional connectives. Because each predicate evaluates to true or false, we can
connect the truth values of predicates using normal propositional connectives.
What remains are traditional propositional connectives. Because each predicate evaluates to true or false, we can
connect the truth values of predicates using normal propositional connectives.
![Page 16: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/16.jpg)
Reasoning about Objects
● To reason about objects, first-order logic uses predicates.
● Examples:● ExtremelyCute(Quokka)● ArgueIncessantly(Democrats, Republicans)
● Applying a predicate to arguments produces a proposition, which is either true or false.
![Page 17: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/17.jpg)
First-Order Sentences
● Sentences in first-order logic can be constructed from predicates applied to objects:
Cute(a) → Dikdik(a) ∨ Kitty(a) ∨ Puppy(a)
IsTheLoneliestNumber(One)
x < Eight → x < OneHundredThirtySeven
The less-than sign is just another predicate. Binary
predicates are sometimes written in infix notation this way.
The less-than sign is just another predicate. Binary
predicates are sometimes written in infix notation this way.
![Page 18: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/18.jpg)
Equality
● First-order logic is equipped with special predicates = and ≠ that say whether two objects are equal to one another.
● Equality is a part of first-order logic, just as → and ¬ are.
● Examples:
TomMarvoloRiddle = LordVoldemort
MorningStar = EveningStar● Equality can only be applied to objects; to
state that two propositions are equal, use ↔.
![Page 19: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/19.jpg)
Let's see some more examples.
![Page 20: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/20.jpg)
FavoriteMovieOf(You) ≠ FavoriteMovieOf(Her) ∧ StarOf(FavoriteMovieOf(You)) = StarOf(FavoriteMovieOf(Her))
![Page 21: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/21.jpg)
FavoriteMovieOf(You) ≠ FavoriteMovieOf(Her) ∧ StarOf(FavoriteMovieOf(You)) = StarOf(FavoriteMovieOf(Her))
These purple terms are functions. Functions take
objects as input and produce objects as output.
These purple terms are functions. Functions take
objects as input and produce objects as output.
![Page 22: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/22.jpg)
Functions
● First-order logic allows functions that return objects associated with other objects.
● Examples:
ColorOf(Money)
MedianOf(x, y, z)
x + y● Functions can take in any number of arguments, but
always return a single value.● Functions evaluate to objects, not propositions.● There is no syntactic way to distinguish functions and
predicates; you'll have to look at how they're used.
![Page 23: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/23.jpg)
Objects and Propositions
● When working in first-order logic, be careful to keep objects (actual things) and propositions (true or false) separate.
● You cannot apply connectives to objects:
⚠ Venus → TheSun ⚠● You cannot apply functions to
propositions:
⚠ StarOf(IsRed(Sun) ∧ IsGreen(Mars)) ⚠● Ever get confused? Just ask!
![Page 24: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/24.jpg)
One last (and major) change
![Page 25: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/25.jpg)
“For any natural number n,n is even iff n2 is even”
∀n. (n ∈ ℕ → (Even(n) ↔ Even(n2)))
∀ is the universal quantifier and says “for any choice of n,
the following is true.”
∀ is the universal quantifier and says “for any choice of n,
the following is true.”
![Page 26: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/26.jpg)
The Universal Quantifier
● A statement of the form
∀x. some-formula
is true if, for every choice of x, the statement some-formula is true when x is plugged into it.
● Examples:
∀p. (Puppy(p) → Cute(p))
∀m. (IsMillennial(m) → IsSpecial(m))
Tallest(SK) →∀p. (SK ≠ p → ShorterThan(p, SK))
![Page 27: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/27.jpg)
The Universal Quantifier
∀x. Smiling(x)
Since Smiling(x) is true for every
choice of x, this statement
evaluates to true.
Since Smiling(x) is true for every
choice of x, this statement
evaluates to true.
![Page 28: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/28.jpg)
The Universal Quantifier
∀x. Smiling(x)
Since Smiling(x) is false for this choice of x, this statement evaluates to false.
Since Smiling(x) is false for this choice of x, this statement evaluates to false.
![Page 29: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/29.jpg)
The Universal Quantifier
(∀x. Smiling(x)) → (∀y. WearingHat(y))
Is this part of the statement true or
false?
Is this part of the statement true or
false?
![Page 30: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/30.jpg)
The Universal Quantifier
(∀x. Smiling(x)) → (∀y. WearingHat(y))
Is this part of the statement true or
false?
Is this part of the statement true or
false?
![Page 31: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/31.jpg)
The Universal Quantifier
(∀x. Smiling(x)) → (∀y. WearingHat(y))
Is this overall statement true or
false?
Is this overall statement true or
false?
![Page 32: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/32.jpg)
∃ is the existential quantifier and says “for some choice of m, the following is true.”
∃ is the existential quantifier and says “for some choice of m, the following is true.”
Some muggles are intelligent.
∃m. (Muggle(m) ∧ Intelligent(m))
![Page 33: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/33.jpg)
The Existential Quantifier
● A statement of the form
∃x. some-formula
is true if, for some choice of x, the statement some-formula is true when x is plugged into it.
● Examples:
∃n. (Even(n) ∧ Prime(n))
∃p. (TallerThan(p, me) ∧ LighterThan(p, me))
(∃p. Appreciates(p, me)) → Happy(me)
![Page 34: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/34.jpg)
The Existential Quantifier
∃x. Smiling(x)
Since Smiling(x) is true for some
choice of x, this statement
evaluates to true.
Since Smiling(x) is true for some
choice of x, this statement
evaluates to true.
![Page 35: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/35.jpg)
The Existential Quantifier
∃x. Smiling(x)
Since Smiling(x) is not for any choice
of x, this statement evaluates to false.
Since Smiling(x) is not for any choice
of x, this statement evaluates to false.
![Page 36: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/36.jpg)
The Existential Quantifier
(∃x. Smiling(x)) → (∃y. WearingHat(y))
Is this part of the statement true or
false?
Is this part of the statement true or
false?
![Page 37: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/37.jpg)
The Existential Quantifier
(∃x. Smiling(x)) → (∃y. WearingHat(y))
Is this part of the statement true or
false?
Is this part of the statement true or
false?
![Page 38: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/38.jpg)
The Existential Quantifier
(∃x. Smiling(x)) → (∃y. WearingHat(y))
Is this overall statement true or
false?
Is this overall statement true or
false?
![Page 39: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/39.jpg)
Some Technical Details
![Page 40: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/40.jpg)
Variables and Quantifiers
● Each quantifier has two parts:● the variable that is introduced, and● the statement that's being quantified.
● The variable introduced is scoped just to the statement being quantified.
(∀x. Loves(You, x)) → (∀y. Loves(y, You))
The variable x just lives here.
The variable x just lives here.
The variable y just lives here.
The variable y just lives here.
![Page 41: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/41.jpg)
Variables and Quantifiers
● Each quantifier has two parts:● the variable that is introduced, and● the statement that's being quantified.
● The variable introduced is scoped just to the statement being quantified.
(∀x. Loves(You, x)) → (∀x. Loves(x, You))
The variable x just lives here.
The variable x just lives here.
A different variable, also named x, just
lives here.
A different variable, also named x, just
lives here.
![Page 42: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/42.jpg)
Operator Precedence (Again)
● When writing out a formula in first-order logic, the quantifiers ∀ and ∃ have precedence just below ¬.
● The statement
∀x. P(x) ∨ R(x) → Q(x)
is parsed like this:
● This is syntactically invalid because the variable x is out of scope in the back half of the formula.
● To ensure that x is properly quantified, explicitly put parentheses around the region you want to quantify:
∀x. (P(x) ∨ R(x) → Q(x))
( ( ∀ x. P(x) ) ∨ R (x) ) → Q ( )x
![Page 43: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/43.jpg)
Time-Out for Announcements!
![Page 44: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/44.jpg)
Checkpoints Graded
● The PS1 checkpoint assignment has been graded.● Review your feedback on GradeScope. Contact the staff
(via Piazza or by stopping by office hours) if you have any questions.
● Some notes:● Make sure to list your collaborators through GradeScope.
There's a space to list your collaborators when you submit the assignment. If you forget to do this, they won't get credit for the assignment!
● Make sure to check your grade ASAP. For the reason listed above, make sure you have a grade recorded. If not, contact the course staff. Plus, that way, you can take our feedback into account when writing up your answers to the rest of the problem set questions.
● Best of luck on the rest of the problem set!
![Page 45: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/45.jpg)
health++ Hackathon
● health++ is holding a hackathon on November 5-6.
● Work in an interdisciplinary setting to make health care more affordable!
● Interested? Apply using this link!
![Page 46: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/46.jpg)
Register to Vote!
● Are you eligible to vote in the State of California and interested in registering in Santa Clara County? Feel free to pick up a voter registration form outside.
![Page 47: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/47.jpg)
SOLE Frosh Internships
● Stanford's Society of Latino Engineers is looking for interns interested in getting involved in the organization.
● Interested? Fill out this application and email it to Fidel Salgado.
![Page 48: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/48.jpg)
Your Questions
![Page 49: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/49.jpg)
“As a sophomore with little CS experience relative to many of my Stanford peers, what should I do to be competitive for
summer internships and show companies that I have the drive and potential to succeed despite lack of experience?”
1. Keep a healthy perspective. Everyone outside of Stanford is terrified to be competing against you. If you've completed CS106B or CS106X, you have more programming experience than many seniors and graduates from other schools.2. Remember that you are the limited resource. There are three openings for every qualified applicants, and tech companies want to find ways to attract you.3. Show that you're smart and that you work hard. Chances are you've done something interesting because you've been admitted here – use that to your advantage!
Good luck!
1. Keep a healthy perspective. Everyone outside of Stanford is terrified to be competing against you. If you've completed CS106B or CS106X, you have more programming experience than many seniors and graduates from other schools.2. Remember that you are the limited resource. There are three openings for every qualified applicants, and tech companies want to find ways to attract you.3. Show that you're smart and that you work hard. Chances are you've done something interesting because you've been admitted here – use that to your advantage!
Good luck!
![Page 50: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/50.jpg)
“Can you show some more puppy pics in lecture?”
Yep! Stay tuned. ☺Yep! Stay tuned. ☺
![Page 51: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/51.jpg)
“Why do you think there's so much buzz around AI right now? Is it justified?”
There's been a burst of really cool developments in AI recently, mostly due to the combination of having a lot of data and having a lot of processing power. Look up ImageNet, Style Transfer, and AlphaGo for three examples of things I was told as an undergraduate would not be possible in my lifetime.
This is a really exciting time to get into AI! If you'd like to explore it, try to take CS109, Math 51, and one of EE103 and Math 104 by the end of the year. You can then jump into CS221, CS224W, or CS229 to see just how cool a field this is!
There's been a burst of really cool developments in AI recently, mostly due to the combination of having a lot of data and having a lot of processing power. Look up ImageNet, Style Transfer, and AlphaGo for three examples of things I was told as an undergraduate would not be possible in my lifetime.
This is a really exciting time to get into AI! If you'd like to explore it, try to take CS109, Math 51, and one of EE103 and Math 104 by the end of the year. You can then jump into CS221, CS224W, or CS229 to see just how cool a field this is!
![Page 52: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/52.jpg)
Back to CS103!
![Page 53: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/53.jpg)
Translating into First-Order Logic
![Page 54: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/54.jpg)
Translating Into Logic
● First-order logic is an excellent tool for manipulating definitions and theorems to learn more about them.
● Applications:● Determining the negation of a complex
statement.● Figuring out the contrapositive of a tricky
implication.
![Page 55: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/55.jpg)
Translating Into Logic
● Translating statements into first-order logic is a lot more difficult than it looks.
● There are a lot of nuances that come up when translating into first-order logic.
● We'll cover examples of both good and bad translations into logic so that you can learn what to watch for.
● We'll also show lots of examples of translations so that you can see the process that goes into it.
![Page 56: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/56.jpg)
Using the predicates
- Puppy(p), which states that p is a puppy, and - Cute(x), which states that x is cute,
write a sentence in first-order logic that means “all puppies are cute.”
![Page 57: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/57.jpg)
An Incorrect Translation
All puppies are cute!
∀x. (Puppy(x) ∧ Cute(x))
This should work for any choice of x, including things that aren't puppies.
This should work for any choice of x, including things that aren't puppies.
![Page 58: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/58.jpg)
An Incorrect Translation
All puppies are cute!
∀x. (Puppy(x) ∧ Cute(x))
A statement of the form
∀x. something
is true only when something is true for every choice
of x.
A statement of the form
∀x. something
is true only when something is true for every choice
of x.
![Page 59: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/59.jpg)
An Incorrect Translation
All puppies are cute!
∀x. (Puppy(x) ∧ Cute(x))
This first-order statement is false even though the English statement is true. Therefore, it can't be a
correct translation.
This first-order statement is false even though the English statement is true. Therefore, it can't be a
correct translation.
![Page 60: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/60.jpg)
An Incorrect Translation
All puppies are cute!
∀x. (Puppy(x) ∧ Cute(x))
The issue here is that this statement asserts that everything is a puppy. That's too strong of a
claim to make.
The issue here is that this statement asserts that everything is a puppy. That's too strong of a
claim to make.
![Page 61: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/61.jpg)
A Better Translation
All puppies are cute!
∀x. (Puppy(x) → Cute(x))
This should work for any choice of x, including things that aren't puppies.
This should work for any choice of x, including things that aren't puppies.
![Page 62: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/62.jpg)
A Better Translation
All puppies are cute!
∀x. (Puppy(x) → Cute(x))
This should work for any choice of x, including things that aren't puppies.
This should work for any choice of x, including things that aren't puppies.
![Page 63: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/63.jpg)
A Better Translation
All puppies are cute!
∀x. (Puppy(x) → Cute(x))
A statement of the form
∀x. something
is true only when something is true for every choice
of x.
A statement of the form
∀x. something
is true only when something is true for every choice
of x.
![Page 64: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/64.jpg)
“All P's are Q's”
translates as
∀x. (P(x) → Q(x))
![Page 65: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/65.jpg)
Useful Intuition:
Universally-quantified statements are true unless there's a counterexample.
∀x. (P(x) → Q(x))
If x is a counterexample, it must have property P but not have property Q.
If x is a counterexample, it must have property P but not have property Q.
![Page 66: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/66.jpg)
Using the predicates
- Blobfish(b), which states that b is a blobfish, and - Cute(x), which states that x is cute,
write a sentence in first-order logic that means “some blobfish is cute.”
![Page 67: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/67.jpg)
An Incorrect Translation
Some blobfish is cute.
∃x. (Blobfish(x) → Cute(x))
![Page 68: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/68.jpg)
An Incorrect Translation
Some blobfish is cute.
∃x. (Blobfish(x) → Cute(x))
A statement of the form
∃x. something
is true only when something is true for at least one
choice of x.
A statement of the form
∃x. something
is true only when something is true for at least one
choice of x.
![Page 69: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/69.jpg)
An Incorrect Translation
Some blobfish is cute.
∃x. (Blobfish(x) → Cute(x))
This first-order statement is true even though the
English statement is false. Therefore, it can't be a
correct translation.
This first-order statement is true even though the
English statement is false. Therefore, it can't be a
correct translation.
![Page 70: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/70.jpg)
An Incorrect Translation
Some blobfish is cute.
∃x. (Blobfish(x) → Cute(x))
The issue here is that implications are true whenever the antecedent is false. This statement “accidentally” is true because of what happens when
x isn't a blobfish.
The issue here is that implications are true whenever the antecedent is false. This statement “accidentally” is true because of what happens when
x isn't a blobfish.
![Page 71: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/71.jpg)
A Correct Translation
Some blobfish is cute.
∃x. (Blobfish(x) ∧ Cute(x))
![Page 72: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/72.jpg)
A Correct Translation
Some blobfish is cute.
∃x. (Blobfish(x) ∧ Cute(x))
![Page 73: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/73.jpg)
A Correct Translation
Some blobfish is cute.
∃x. (Blobfish(x) ∧ Cute(x))
A statement of the form
∃x. something
is true only when something is true for at least one
choice of x.
A statement of the form
∃x. something
is true only when something is true for at least one
choice of x.
![Page 74: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/74.jpg)
“Some P is a Q”
translates as
∃x. (P(x) ∧ Q(x))
![Page 75: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/75.jpg)
Useful Intuition:
Existentially-quantified statements are false unless there's a positive example.
∃x. (P(x) ∧ Q(x))
If x is an example, it must have property P on top of
property Q.
If x is an example, it must have property P on top of
property Q.
![Page 76: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/76.jpg)
Good Pairings
● The ∀ quantifier is usually paired with →.
∀x. (P(x) → Q(x))● The ∃ quantifier is usually paired with ∧.
∃x. (P(x) ∧ Q(x))● In the case of ∀, the → connective prevents the
statement from being false when speaking about some object you don't care about.
● In the case of ∃, the ∧ connective prevents the statement from being true when speaking about some object you don't care about.
![Page 77: Mathematical Logic - Stanford Universityweb.stanford.edu/class/archive/cs/cs103/cs103.1172/... · 2016. 10. 6. · predicates that describe properties of objects, functions that map](https://reader036.fdocuments.in/reader036/viewer/2022071409/6102a4b680f199396b018b0c/html5/thumbnails/77.jpg)
Next Time
● First-Order Translations● How do we translate from English into first-order logic?
● Quantifier Orderings● How do you select the ordering of quantifiers in first-order
logic formulas?
● Negating Formulas● How do you mechanically determine the negation of a first-
order formula?
● Expressing Uniqueness● How do we say that there's just one object of a certain type?