Formal Logic: Quantifiers, Predicates, and Validity

Formal Logic:
Quantifiers, Predicates, and Validity
CS 130 – Discrete Structures
Variables and Statements
• Variables: A variable is a symbol that stands for an
individual in a collection or set. For example, the
variable x may stand for one of the days. We may let x =
Monday, x = Tuesday, etc.
• We normally use letters at the end of the alphabet as
variables, such as x, y, z.
• A collection of objects is called the domain of objects.
For the above example, the days in the week is the
domain of variable x.
CS 130 – Discrete Structures
55
Quantifiers
• Propositional wffs have rather limited expressive power.
E.g., “For every x, x > 0”.
• Quantifiers: Quantifiers are phrases that refer to given
quantities, such as "for some" or "for all" or "for every",
indicating how many objects have a certain property.
• Two kinds of quantifiers:
– Universal Quantifier: represented by , “for all”, “for
every”, “for each”, or “for any”.
– Existential Quantifier: represented by , “for some”,
“there exists”, “there is a”, or “for at least one”.
CS 130 – Discrete Structures
56
Predicates
• Predicate: It is the verbal statement which describes the
property of a variable. Usually represented by the letter
P, the notation P(x) is used to represent some
unspecified property or predicate that x may have.
– P(x) = x has 30 days.
– P(April) = April has 30 days.
– What is the truth value of (x)P(x) where x is all the
months and P(x) = x has less than 32 days
• Combining the quantifier and the predicate, we get a
complete statement of the form (x)P(x) or (x)P(x)
• The collection of objects is called the domain of
interpretation, and it must contain at least one object.
CS 130 – Discrete Structures
57
Truth Values of the Expressions
• What is the truth value of (x)P(x) in the following
interpretations?
– P(x): x is yellow; the domain of interpretation is the collection of
all flowers.
– P(x): x is a plant; the domain of interpretation is the collection of
all flowers.
– P(x): x is either positive or negative; the domain of interpretation
consists of the integers.
• Can you find one interpretation in which both (x)P(x) is true
and (x)P(x) is false?
• Can you find one interpretation in which both (x)P(x) is true
and (x)P(x) is false?
CS 130 – Discrete Structures
58
Unary, Binary,…, N-ary Predicates
• Predicates involving properties of a single variable: unary
predicates
• Binary, ternary and n-ary predicates are also possible
• (x) (y)Q(x,y) is a binary predicate. This expression reads as
“for every x there exists a y such that Q(x,y)”
• Assume Q(x,y) is the property that
interpretations?
x < y, what’re the
– ( x)( y) Q(x, y), ( y) ( x) Q(x, y), and ( x)( x) Q(x, x)
– We cannot collapse separate variables together into one without
changing the nature of the expression
• Constants are also allowed in expressions, such as a, b,
c, 0, 1, 2, etc.
CS 130 – Discrete Structures
59
Interpretation
• Formal definition: An interpretation for an expression
involving predicates consists of the following:
– A collection of objects, called domain of interpretation, which
must include at least one object.
– An assignment of a property of the objects in the domain to each
predicate in the expression.
– An assignment of a particular object in the domain to each
constant symbol in the expression.
• Predicate wffs can be built similar to propositional wffs using
logical connectives with predicates and quantifiers.
• Must obey the rules of syntax to be considered a wff
• Examples of predicate wffs
– (x)[P(x)  Q(x)]
– (x) ((y)[P(x,y) V Q(x,y)]  R(x))
– S(x,y) Λ R(x,y)
CS 130 – Discrete Structures
60
Scope of a Variable in an Expression
• The parentheses or brackets are used wisely to identify the
scope of the variable.
– (x) ((y)[P(x,y) V Q(x,y)]  R(x))
• Scope of (y) is P(x,y) V Q(x,y) while the scope of (x) is the entire
expression
– (x)S(x) V (y)R(y)
• Scope of (x) is S(x) while the scope of (y) is R(y)
– (x)[P(x,y)  (y) Q(x,y)]
• Scope of variable y is not defined for P(x,y) hence y is called a free
variable. Such expressions might not have a truth value at all.
• P(x): x > 0; P(y)^ P(5), P(y) V P(5).
– What is the truth of the wff (x)(A(x) Λ (y)[B(x,y)  C(y)]) ,
where A(x) is “x > 0” , B(x, y) is “x > y”, C(y) is “y  0”, and x is
the domain of positive integers and y is the domain of all
integers?
CS 130 – Discrete Structures
61
Translation of Verbal Statements to Symbolic
Form Using Intermediate Statements
•
“Every person is nice” can be rephrased as “For any thing, if it is a
person, then it is nice”. So, if P(x) is “x is a person” and Q(x) be “x is
nice”, the statement can be symbolized as
– (x)[P(x)  Q(x)]
•
•
Variations: “All persons are nice” or “Each person is nice”.
“There is a nice person” can be rewritten as “There exists something
that is both a person and nice” in symbolic form
–
(x)[P(x) Λ Q(x)]
•
Variations: “Some persons are nice” or “There are nice persons”
•
What would the following forms mean for the example above?
– (x) [P(x) Λ Q(x)] is too strong
– (x)[P(x)  Q(x)] will be true if there are no persons in the world but that
is not the case.
•
•
So almost always,  goes with Λ (conjunction) and  goes with 
(implication)
Can be confusing, so remember to frame the statement in different
forms as possible
CS 130 – Discrete Structures
62
More On Translation
•
The word “only” can be tricky depending on its presence in the
statement:
– X loves only Y  If X loves anything, then that thing is Y
– Only X loves Y  If anything loves Y, then it is X
– X only loves Y  If X does anything to Y, then it is love
•
Example for forming symbolic forms from predicate symbols:
– D(x) is “x is dog”
– R(x) is “x is a rabbit”
– C(x,y) is “x chases y”
•
All dogs chase all rabbits 
– For anything, if it is a dog, then for any other thing, if it is a rabbit, then the
dog chases it  (x)[D(x)  (y)(R(y)  C(x,y))]
•
Some dogs chase all rabbits 
– There is something that is a dog and for any other thing, if that thing is a
rabbit, then the dog chases it  (x)[D(x) Λ (y)(R(y)  C(x,y))]
•
Only dogs chase rabbits 
– For anything, if it is a rabbit then, if anything chases it, that thing is a dog
 (y) [R(y)  (x) (C(x, y)  D(x))]
– Or, for any two things, if one is a rabbit and the other chases it, then the
other is a dog  (y) (x)[R(y) Λ C(x,y)  D(x)]
CS 130 – Discrete Structures
63
Negation of Statements
• A(x): Everything is beautiful
– Negation will be “it is false that everything is beautiful”, i.e.
“something is not beautiful”
– In symbolic form, [(x)A(x)]’  (x)[A(x)]’
– Similarly, negation of “Something is beautiful” is “Nothing is
beautiful” or “Nothing is beautiful”
– Hence, [(x)A(x)]’  (x)[A(x)]’
• What is the negation of “Everybody loves somebody
sometime”
–
–
–
–
Everybody
Somebody
Everybody
Somebody
hates somebody sometime
loves everybody all the time
hates everybody all the time
hates everybody all the time
CS 130 – Discrete Structures
64
More Examples on Negation
• What is the negation of the following statements?
– Some pictures are old and faded.
• Every picture is not old or not faded.
– All people are tall and thin.
• Someone is short or fat.
– Some students eat only pizza.
• Every student eats something which is not a pizza
– Only students eat pizza.
• There is a non-student who eats pizza.
CS 130 – Discrete Structures
65
Class Exercises
• S(x):
• I(x):
• M(x):
x is a student
x is intelligent
x likes music
• Write wffs than express
the following statements:
– All students are
intelligent.
– Some intelligent
students like music.
– Everyone who likes
music is a stupid
student.
– Only intelligent students
like music.
CS 130 – Discrete Structures
For anything, if it is a student, then it is
intelligent  (x)[S(x)  I (x)]
There is something that is intelligent
and it is a student and it likes
music  (x)[I(x) Λ S(x) Λ M(x)]
For anything, if that thing likes music,
then it is a student and it is not
intelligent 
(x)(M(x)  S(x) Λ [I (x)]´)
For any thing, if it likes music, then it
is a student and it is intelligent 
(x)(M(x)  S(x) Λ I(x))
66
Validity
•
•
•
•
Analogous to a tautology of propositional logic
Truth of a predicate wff depends on the interpretation
A predicate wff is valid if it is true in all possible interpretations just
like a propositional wff is true if it is true for all rows of the truth table
A valid predicate wff is intrinsically true
Propositional Wffs
Predicate Wffs
Truth Values
True or false – depends on
the truth value of statement
letters
True, false or neither(if the
wff has a free variable)
Intrinsic truth
Tautology- true for all truth
values of its statements
Valid wff- true for all
interpretations
Methodology
Truth table to determine if it
is a tautology
No algorithm to determine
validity
CS 130 – Discrete Structures
67
Validity Examples
• (x)P(x)  (x)P(x)
– This is valid because if every object of the domain has a certain
property, then there exists an object of the domain that has the
same property. Therefore, whenever the antecedent is true, so is
the consequent, and the implication is therefore true.
• (x)P(x)  P(a)
– Valid – quite obvious since a is a member of the domain of X.
• (x)P(x)  (x)P(x)
– Not valid since the property cannot be valid for all objects in the
domain if it is valid for some objects of than domain. Can use a
mathematical context to check as well. Say P(x) = “x is even”,
then there exists an integer that is even but not every integer is
even.
• How about (x)[P(x) V Q(x)]  (x)P(x) V (x)Q(x)
– Invalid, can prove by mathematical context by taking P(x) = x is
even, Q(x) = x is odd. In that case, the hypothesis is true but not
the conclusion is false because it is not the case that every integer
is even or that every integer is odd.
CS 130 – Discrete Structures
68
More Examples
• What’s the validity?
– (x)[P(x) ^ Q(x)]  (x)P(x) ^ (x)Q(x)
– P(x)[Q(x)P(x)]
CS 130 – Discrete Structures
69
Class Exercises
• What is the truth of the following wffs where the domain
consists of integers:
–
–
–
–
(x)[L(x)  O(x)] where O(x) is “x is odd” and L(x) is “x < 10”
(y)(x)(x + y = 0)
(y)(x)(x2 = y)
(x)[x < 0  (y)(y > 0 Λ x + y = 0)]
• Using predicate symbols and appropriate quantifiers, write the
symbolic form of the following English statement:
–
–
–
–
–
–
D(x) is “x is a day”; M is “Monday”; T is “Tuesday”.
S(x) is “x is sunny”; R(x) is “x is rainy”.
Some days are sunny and rainy
It is always a sunny day only if it is a rainy day
It rained both Monday and Tuesday
Every day that is rainy is not sunny
CS 130 – Discrete Structures
70
Answers
• D(x) is “x is a day”; M is “Monday”; T is “Tuesday”.
• S(x) is “x is sunny”; R(x) is “x is rainy”.
• Some days are sunny and rainy
– (x) S(x) Λ R(x) Λ D(x)
• It is always a sunny day only if it is a rainy day
– (x) [S(x) Λ D(x)  R(x) Λ D(x)]
• It rained both Monday and Tuesday
– R(M) Λ R(T)
• Every day that is rainy is not sunny
– (x) [R(X) Λ D(x)  S’(x)]
CS 130 – Discrete Structures
71
Formal Logic -Predicate Logic
CS 130 – Discrete Structures
Valid Argument
• (P1 Λ P2 Λ ... Λ Pn)  Q
– where the wffs are built from predicates and quantifiers as
well as logical connectives and grouping symbols
– no equivalent of the truth table exists to prove validity
– the meaning and the structure of the quantifiers and
predicates determines the interpretation and the validity of
the arguments
– Predicate logic: 4 more new derivation rules to build a
proof sequence leading from the hypothesis to the
conclusion
– The equivalence rules and inference rules still applies
• Why predicate logic? More rules?
– A valid argument for predicate logic need not be a
tautology to be valid
– Example: (x)P(x)  (x)P(x)
– Hence: we need to learn 4 new rules
CS 130 – Discrete Structures
73
Steps To Prove the Validity
•
•
•
•
•
Basic approach to prove arguments:
Strip off quantifiers
Manipulate the unquantified wffs
Reinsert the quantifiers
Four new inference rules
Two rules to strip the quantifiers
CS 130 – Discrete Structures
Two rules to reinsert the quantifiers
74
Inference Rules in Predicate Logic
From
Can Derive
Name /
Abbreviation
Restrictions on Use
(x)P(x)
P(t) where t is a
variable or constant
symbol
Universal
Instantiation- ui
If t is a variable, it must not
fall within the scope of a
quantifier for t
(x)P(x)
P(t) where t is a
variable or constant
symbol not
previously used in a
proof sequence
Existential
Instantiation- ei
Must be the first rule used
that introduces t
P(x)
(x)P(x)
Universal
Generalization- ug
P(x) has not been deduced
from any hypotheses in
which x is a free variable
nor has P(x) been deduced
by ei from any wff in which
x is a free variable
P(x) or
P(a)
(x)P(x)
Existential
Generalization- eg
To go from P(a) to (x)P(x),
x must not appear in P(a)
CS 130 – Discrete Structures
75
Universal Instantiation (1)
• This rule says if P is true for every element of the domain, we
can name such an element by an arbitrary variable name like
x, y, or z, or we can specify a particular constant in the
domain, and P is still true for all these things.
• Example:
– All flowers are plants. Sunflower is a flower. Therefore, sunflower
is a plant.
– P(x) is “ x is a plant”
– a is a constant symbol (Sunflower)
– F(x) is “x is a flower”
– The argument is (x)[F(x)  P(x)] Λ F(a)  P(a)
• The proof sequence is as follows:
1.
2.
3.
4.
(x)[F(x)  P(x)]
F(a)
F(a)  P(a)
P(a)
CS 130 – Discrete Structures
hyp
hyp
1, ui
2, 3, mp
76
Universal Instantiation (2)
• Restriction: (x)P(x) derives P(t), t must not
fall within the scope of a quantifier for t
• Without this restriction:
– a hypothesis of the form (x) (y) P(x, y) could lead
to the wff (y) P(y, y)
– this is invalid
– considering when P(x, y) means “y > x”
CS 130 – Discrete Structures
77
Example
• Prove the argument:
– (x)[P(x)  Q(x)] Λ [Q(y)]’  [P(y)]’
• Proof sequence:
1.
2.
3.
4.
(x)[P(x)  Q(x)] hyp
[Q(y)]’
hyp
P(y)  Q(y)
1, ui
[P(y)]’
2, 3, mt
CS 130 – Discrete Structures
78
Existential Instantiation
•
It says that from (x)P(x) we can derive P(a), P(b) or
P(c), provided that these are new constant symbols.
•
The following proof sequence is legitimate:
1.
2.
3.
4.
5.
–
–
(x)[P(x) -> Q(x)]
(y)P(y)
P(a)
P(a)->Q(a)
Q(a)
hyp
hyp
2, ei
1, ui
3, 4, mp
However, step 3 and 4 cannot be reversed
So, look at your hypotheses, if you plan to use ei on
any of them, do it first.
CS 130 – Discrete Structures
79
Universal Generalization
• P(x) derives (x)P(x) when x is absolutely
arbitrary
• Example: (x)[P(x)  Q(x)] Λ (x)P(x)  (x)Q(x)
• Proof sequence:
1.
2.
3.
4.
5.
6.
(x)[P(x)  Q(x)]
(x)P(x)
P(x)  Q(x)
P(x)
Q(x)
(x)Q(x)
hyp
hyp
1, ui
2, ui : no restriction on UI about reusing a name
3, 4, mp
5, ug
• Note: step 6 is legitimate since x is not a free variable
in any hypothesis nor was ei used before
CS 130 – Discrete Structures
80
Two Restrictions on UG
• Free variable in hypothesis
– P(x)
– (x)P(x)
hyp
1, incorrect ug; x is free in the hypothesis
• Deduced from ei, and free variable
–
–
–
–
(x)(y)Q(x, y)
(y)Q(x, y)
Q(x, a)
(x)Q(x, a)
hyp
1, ui
2, ei
3, incorrect ug; Q(x, a) is
deduced by ei from the wff in step 2, in which x is free
– Example: Q(x, y): x + y = 0
CS 130 – Discrete Structures
81
Example
• Prove the argument
– (x)[P(x) Λ Q(x)]  (x)P(x) Λ (x)Q(x)
• Proof sequence:
1.
2.
3.
4.
5.
6.
7.
(x)[P(x) Λ Q(x)]
P(x) Λ Q(x)
P(x)
Q(x)
(x)P(x)
(x)Q(x)
(x)P(x) Λ (x)Q(x)
CS 130 – Discrete Structures
hyp
1, ui
2, sim
2, sim
3, ug
4, ug
5, 6, con
82
Existential Generalization
• It allows insertion of an . From P(x) or P(a) we can
derive (x)P(x). Restriction: x must not appear in P(a).
• Prove the argument (x)P(x)  (x)P(x)
• Proof sequence:
1. (x)P(x) hyp
2. P(x)
3. (x)P(x)
1, ui
2, eg
• Without the restriction:
• from P(a, y) one could derive (y) P(y, y)
• incorrect: since y already appeared in the wff in which eg
was applied
• why? P(x, y): “y>x”
CS 130 – Discrete Structures
83
More Examples
• Are the following proof sequence legitimate?
– 1. (x)P(x) V (x)Q(x)
– 2. P(a) V Q(a)
hyp
1, ei
– 1. (x)(y)Q(x, y)
– 2. (x)Q(x, a)
hyp
1, ei
CS 130 – Discrete Structures
84
More Examples
• Prove the argument
– (y)[P(x)  Q(x,y)]  [P(x)  (y)Q(x,y)]
• Using the deduction method, we can derive
– (y)[P(x)  Q(x,y)] Λ P(x)  (y)Q(x,y)
• Proof sequence:
1. (y)[P(x)  Q(x,y)]
2. P(x)
3. P(x)  Q(x,y)
4. Q(x,y)
5. (y)Q(x,y)
CS 130 – Discrete Structures
hyp
hyp
1, ui
2, 3, mp
4, ug
85
Temporary Hypotheses
• An extension to the deduction method:
– we can insert a “temporary” hypothesis into a proof
– If some wff T is introduced into the proof of
sequence as a temporary hypothesis, and eventually
a wff W is deduced from T and other hypotheses,
then the wff T -> W has been deduced from the
other hypotheses and can be inserted in the proof
sequence
CS 130 – Discrete Structures
86
Example of Temporary Hypothesis
• Prove the argument
– [P(x)  (y)Q(x,y)]  (y)[P(x)  Q(x,y)]
• Proof sequence:
1. P(x)  (y)Q(x,y)
2. P(x)
3. (y)Q(x,y)
4. Q(x,y)
5. P(x)  Q(x,y)
6. (y)[P(x)  Q(x,y)]
hyp.
temporary hypothesis (T)
1, 2, mp
3, ui (W)
temp. hyp discharged (T->W)
5, ug
• Universal quantifier can “slide over” subwffs that do not
contain the quantified variable
• Same for existential quantifier
CS 130 – Discrete Structures
87
More Example
• Prove the argument
– (x)[(B(x) V C(x))  A(x)]  (x)[B(x)  A(x)]
• Proof sequence:
1.
2.
3.
4.
5.
6.
7.
(x)[(B(x) V C(x))  A(x)]
(B(x) V C(x))  A(x)
B(x)
B(x) V C(x)
A(x)
B(x)  A(x)
(x)[B(x)  A(x)]
CS 130 – Discrete Structures
hyp
1, ui
temp. hyp.
3, add
2, 4, mp
temp. hyp. Discharged
6, ug
88
More: [(x)A(x)]’  (x)[A(x)]’
• [(x)A(x)]’  (x)[A(x)]’
• Proof sequence:
• (x)[A(x)]’  [(x)A(x)]’
• Proof sequence:
1.
2.
3.
4.
1.
2.
3.
4.
5.
6.
[(x)A(x)]’
hyp.
A(x)
temp. hyp.
(x)A(x)
2, eg
A(x)  (x)A(x)
temp. hyp. discharged
5. [A(x)]’
1, 4, mt
6. (x)[A(x)]’
5, ug
(x)[A(x)]’
hyp.
(x)A(x)
temp. hyp.
A(a)
2, ei
[A(a)]’
1, ui
[(x)[A(x)]’]’
3, 4, inc
(x)A(x)  [(x)[A(x)]’]’
temp. hyp. discharged
7. [((x)[A(x)]’)’]’
1, dn
8. [(x)A(x)]’
6, 7, mt
inc: inconsistency in exercise 27 in
section 1.2
CS 130 – Discrete Structures
89
More Examples
• Is the following wff a valid argument? Prove or
disprove.
– (x)[P(x) v Q(x)]  (x)P(x) v (x)Q(x)
– (x)P(x) Λ (x)Q(x)  (x)[P(x) Λ Q(x)]
– (x)P(x) Λ [(x)(P(x) Λ Q(x))]’  (x)[Q(x)]’
• First, consider whether the wff seems valid
– if yes, try to find a proof sequence for it
– otherwise, try to find an interpretation in which it is
not true
CS 130 – Discrete Structures
90
Verbal Arguments
• Every crocodile is bigger than every alligator.
Sam is a crocodile. But there is a snake, and
Sam isn’t bigger than that snake. Therefore,
something is not an alligator.
• Use C(x), A(x), B(x,y), s, S(x)
(x) (y)[C(x) Λ A(y)  B(x,y)] Λ C(s) Λ (x)(S(x) Λ [B(s,x)]´)  (x)[A(x)]´
CS 130 – Discrete Structures
91
Practice
• All rock music is loud music. Some rock music
exists; therefore some loud music exists.
• Use R(x) and L(x).
CS 130 – Discrete Structures
92
Review of Chapter 1
• Be able to:
–
–
–
–
–
–
–
–
–
–
construct truth tables for compound wffs
recognize tautologies and contradictions
translate compound statements into symbolic notations
negate a statement
apply derivation rules for propositional logic
use propositional logic to prove the validity of a verbal
argument
determine the truth value of a predicate wff in a given
interpretation
translate statements into predicate wffs
apply derivation rules for predicate logic
use predicate logic to prove the validity of a verbal
argument
CS 130 – Discrete Structures
93