Title: CS 1502 Formal Methods in Computer Science
1CS 1502 Formal Methods in Computer Science
- Lecture Notes 12
- Variables and Quantifiers
2Variables
- A variable is a placeholder for a name in a
sentence - FOL gives us an infinite number of variables
- Tarskis World/Fitch/Boole gives us only u, v, w,
x, y, and z as variables
3Atomic wffs
- Cube(b)
- Cube(x)
- LeftOf(c,y)
- Between(z,b,d)
- Larger(x,y)
4Variables
- Cube(b) ? Cube(d) The truth of this sentence
is determined by the truth- values of
Cube(b) and Cube(d) . - Cube(x) ? Cube(d) Cube(x) is neither true
nor false, since x is a placeholder for
the name of an object. x is said to be
free or unbound.
5Forming wff
- If P is wff then so is ?P.
- If P1, P2, , Pn are wffs then so is (P1 ? P2 ?
? Pn). - If P1, P2, , Pn are wffs then so is (P1 ? P2 ?
? Pn). - If P and Q are wffs, so is (P ? Q).
- If P and Q are wffs, so is (P ? Q).
- If P is a wff and v is a variable, then ?v P is a
wff. Every occurrence of v is said to be bound. - If P is a wff and v is a variable, then ?v P is a
wff. Every occurrence of v is said to be bound.
6Sentences
- A sentence is a well-formed formula with no
unbound (free) variables. - The scope of a quantifier is defined as those
variables that fall under the quantifiers
influence as indicated by the enclosing
parentheses.
7Which are Sentences?
- ?x LeftOf(x, y)
- ?x (Cube(x) ? Large(x))
- ?x (Small(x) ? Tet(y))
- ?x (Cube(c) ? SameRow(x, c))
8Satisfaction (diff meaning!) of a wff
- Let S(x) be a wff with free variable x. Object b
is said to satisfy S(x) if and only if S(b) is a
true sentence. EG, b satisfies Cube(x).
9Semantics of Quantifiers
- ?x S(x) is true if and only if there is at least
one object that satisfies S(x). - ?x S(x) is true if and only if every object
satisfies S(x).
The truth-value is determined with respect to a
domain of discourse (or world, or universe)
10Example
- Universe 2, 5, 17, 93, 67
11Some Tetrahedron is to the left of c.
Some Cube is to the left of c.
a is to the left of every Cube.
Every Cube is in back of c.
C is supposed to be back one square as it is on
the next slide
12(No Transcript)
13Aristotelian Forms
?x P(x) ? Q(x)
14Aristotelian Forms
?x P(x) ? Q(x)
15Aristotelian Forms
?x P(x) ? ?Q(x)
16Aristotelian Forms
?x P(x) ? ?Q(x)
17Translation
- ?x (Tet(x) ? LeftOf(x, c))
- ?x (Tet(x) ? Large(x) ? LeftOf(x, c))
- ?x Cube(x) ? BackOf(x, c)
- ?x (Small(x) ? Cube(x)) ? BackOf(x, c)
Some Tet is to the left of c.
Some large Tet is to the left of c.
Every cube is in back of c.
Every small cube is in back of c.
18Translation
- all x (Student(x) ? Smart(x)).
- Every student is smart.
- Pick anything at all. Either its not a
student or its smart (or both!) - Pick anything at all. It cannot be a student
who is not smart. - Pick anything at all. If its a student,
its smart.
19Whats wrong with this translation?
- Every student is smart
- Bad translation
- all x (Student(x) Smart(x))
- Good translation
- all x (Student(x) ? Smart(x))
20Whats wrong with this translation?
- Some student is smart
- Bad translation
- exists x (student(x) ? smart(x))
- Good translation
- exists x (student(x) smart(x))
21Translation
22Quantifiers and Functions
- Everyone is taller than Maxs father.
- Someones father is taller than Max.
- e is the leftmost object in the row of something.
?x (Person(x) (x father(max))) ? Taller(x,
father(max))
?x (Person(x) Taller(father(x), Max))
?x (lm(x) e)
23Quantifiers can make things interestingWhich are
valid?
Yup!
- all x (Student(x) ? Smart(x))
- all x (Student(x))
- all x (Smart(x))
- exist x (Student(x) ? Smart(x))
- exist x (Student(x))
- exist x (Smart(x))
Nope!
Yup!
Nope!
24Quantifiers and Tautology
- When is a sentence involving quantifiers a
tautology? Example ?x Cube(x) ? ?x ?Cube(x) - Example ?x Small(x) ? ?x Small(x)
No!
Yes!
25Tautologies and Quantifiers
- One way to arrive at tautologies is to substitute
complex sentences into known tautologies - P v P is a tautology. Thus, so is
- (all x (Doctor(x) ? Rich(x))) v
- (all x (Doctor(x) ? Rich(x)))
26Truth-Functional Form Algorithm
- Start at the beginning of sentence S and proceed
to the right. If you encounter a quantifier,
underline the quantifier and the stuff in its
scope. If you encounter an atomic sentence simply
underline it. When you come to the end of an
underline assign a letter (A, B, C, ). If an
underlined sentence is identical to a previous
one (character for character), use the same
letter. If the sentence formed from the letters
is a tautology, then the original is too.Note
Small(a) is not the same as Small(b). Similarly,
Small(x) is not the same as Small(y).
27When is a sentence a tautology?
- A quantified sentence S is a tautology if and
only if its truth-functional form is a tautology. - Example
- (exist y (P(y) v R(y)) ? all x (P(x) Q(x))) ?
- (all x (P(x) Q(x)) ? exist y (P(y) v R(y)))
TFF (A ? B) ? (B ? A)
Tautology? Yes
28Another Example
Since A ? B is not a tautology, then neither is
the sentence above.
29Another Example
Since A ? ?A is a tautology, then so is the
sentence above.
30Another Example
- ?(Tet(d) ? ?x Small(x)) ? (?Tet(d) ? ?y Small(y))
?(A ? B) ? (?A ? C)
31(No Transcript)
32Tautological Valid?
- Is the following argument valid or invalid?
?x Cube(x)?x Small(x) ?x (Cube(x) ? Small(x))
ABC
Not tautologically valid!!!In fact, it is not
logically valid.
33Tautological Valid?
- Is the following argument valid or invalid?
?x Cube(x) ? ?x Small(x) ?x Cube(x) ?x
Small(x)
Is tautologically valid!!!
34Note
- An argument that is not tautologically valid may
still be logically valid. In this case, we
cannot recognize it is valid by checking all the
rows of the truth table.
35Tautological Valid?
- Is the following argument valid or invalid?
?x Cube(x) ? Small(x)?x Cube(x) ?x Small(x)
Is not tautologically valid.It is logically
valid!