First Order Logic
Rosen 1.4 - 1.6
Lecture 3: Sept 18
Limitation of Propositional Logic
Propositional logic – logic of simple statements
How to formulate Pythagoreans’ theorem using propositional logic?
b c
a
How to formulate the statement that there are infinitely many primes?
Predicates
Predicates are propositions with variables
The domain of a variable is the set of all values
that may be substituted in place of the variable.
Example: P (x,y) ::=x + 2 = y
x = 1 and y = 3: P(1,3) is true
x = 1 and y = 4: P(1,4) is false
P(1,4) is true
Set
R Set of all real numbers
Z Set of all integers
Q Set of all rational numbers
means that x is an element of A
means that x is not an element of A
Sets can be defined directly:
e.g. {1,2,4,8,16,32,…},
{MTH3105,CSC2100,…}
Truth Set
Sets can be defined by a predicate
Given a predicate P(x) and x has domain D,
the truth set of P(x) is the set of all
elements of D that make P(x) true.
e.g. Let P(x) be “n is the square of a number”,
and the domain D of x is set of positive integers.
e.g. Let P(x) be “n is a prime number”,
and the domain D of x is set of positive integers.
The Universal Quantifier
x For ALL x
x Z y Z, x + y = y
+ x.
b c
a
A statement xP(x) is false, if and only if P(x) is not always true
where x is in the domain. One way to show that is to find a
counterexample to the statement xP(x)
The Existential Quantifier
y There EXISTS some y
e.g.
The truth of a predicate depends on the domain.
xP(x) is false if and only if P(x) is false for every element of the
domain
The existential quantification xP(x) is the same
as
the disjunction P(x1) V P(x2) V … VP(xn)
x y. x y
Domain Truth
value
integers T
positive integers + T
negative integers - F
negative reals - T
Uniqueness quantifier:! 1
• There exists a unique x such that p(x) is
true: ! p( x)
• “There is exactly one”, “There is one and
only one”
8
Translating Mathematical Theorem
Fermat (1637): If an integer n is greater than 2,
then the equation an + bn = cn has no solutions in non-zero integers a,
b, and c.
Andrew Wiles (1994) [Link]
Translating Mathematical Theorem
oldbach’s conjecture: Every even number is the sum of two prime numbers.
Suppose we have a predicate prime(x) to determine if x is a prime number.
How to write prime(p)?
and have higher precedence than all logical operators from propositional
calculus
Negations of Quantified Statements
Everyone likes football.
What is the negation of this statement?
Not everyone likes football = There exists someone who doesn’t like football.
(generalized) DeMorgan’s Law Say the domain has only three values.
Negations of Quantified Statements
There is a plant that can fly.
What is the negation of this statement?
Not exists a plant that can fly = every plant cannot fly.
(generalized) DeMorgan’s Law Say the domain has only three values.
Order of Quantifiers
There is an anti-virus program killing every computer virus.
How to interpret this sentence?
For every computer virus, there is an anti-virus program that kills it.
• For every attack, I have a defense:
• against MYDOOM, use Defender
• against TROJAN, use Norton
• against BABLAS, use Zonealarm …
Order of Quantifiers
There is an anti-virus program killing every computer virus.
How to interpret this sentence?
There is one single anti-virus program that kills all computer viruses.
I have one defense good against every attack.
Example: P is CSE-antivirus,
protects against ALL viruses
That’s much better!
Order of quantifiers is very important!
More Negations
There is an anti-virus program killing every computer virus.
What is the negation of this sentence?
For every program, there is some virus that it can not kill.
Exercises
1. There is a smallest positive integer.
2. There is no smallest positive real number.
3. There are infinitely many prime numbers.
Exercises
1. There is a smallest positive integer.
2. There is no smallest positive real number.
3. There are infinitely many prime numbers.
Predicate Calculus Validity
Propositional validity
A B B A
True no matter what the truth values of A and B are
Predicate calculus validity
z [Q(z) P(z)] → [x.Q(x) y.P(y)]
True no matter what
• the Domain is,
• or the predicates are.
That is, logically correct, independent of the specific content.
Arguments with Quantified Statements
Universal instantiation:
Universal modus ponens:
Universal modus tollens:
More Rules of Inference
© Rosen 1.6
Table 1
Fallacies
• Fallacies arise in incorrect arguments
• E.g., the proposition ((p → q) ∧ q) → p is not a tautology
• It is false when p is false and q is true
• This type of incorrect reasoning is called the fallacy of
affirming the conclusion
• The incorrect reasoning ((p → q) ∧ ¬p) → ¬q is called fallacy of
denying the hypothesis
Exercise: Is the following argument valid?
If you do every problem in the textbook, then you will learn
discrete mathematics. You learned discrete
mathematics.
Therefore, you did every problem in the textbook.
Universal Generalization
A R (c )
valid rule
A x.R ( x)
providing c is independent of
A
e.g. given any number c, 2c is an even number
=> for all x, 2x is an even number.
Not Valid
z [Q(z) P(z)] → [x.Q(x) y.P(y)]
Proof: Give countermodel, where
z [Q(z) P(z)] is true, Find a domain,
and a predicate.
but x.Q(x) y.P(y) is false.
In this example, let domain be integers,
Q(z) be true if z is an even number, i.e. Q(z)=even(z)
P(z) be true if z is an odd number, i.e. P(z)=odd(z)
Then z [Q(z) P(z)] is true, because every number is either even or odd.
But x.Q(x) is not true, since not every number is an even number.
Similarly y.P(y) is not true, and so x.Q(x) y.P(y) is not true.
Validity
z D [Q(z) P(z)] → [x D Q(x) y D P(y)]
Proof: Assume z [Q(z)P(z)].
So Q(z)P(z) holds for all z in the domain D.
Now let c be some element in the domain D.
So Q(c)P(c) holds (by instantiation), and therefore Q(c) by itself holds.
But c could have been any element of the domain D.
So we conclude x.Q(x). (by generalization)
We conclude y.P(y) similarly (by generalization). Therefore,
x.Q(x) y.P(y) QED.
Mathematical Proof
We prove mathematical statement by using logic.
P Q, Q R, R P
not valid
P Q R
To prove something is true, we need to assume some axioms!
This is invented by Euclid in 300 BC,
who begins with 5 assumptions about geometry,
and derive many theorems as logical consequences.
[Link]
Ideal Mathematical World
What do we expect from a logic system?
• What we prove is true. (soundness)
• What is true can be proven. (completeness)
Hilbert’s program
• To resolve foundational crisis of mathematics (e.g. paradoxes)
• Find a finite, complete set of axioms,
and provide a proof that these axioms were consistent.
[Link]
Power of Logic
Good news: Gödel's Completeness Theorem
Only need to know a few axioms & rules, to prove all
validities.
That is, starting from a few propositional &
simple predicate validities, every valid
assertions can be proved using just universal
generalization and modus ponens repeatedly!
modus ponens
Limits of Logic
Gödel's Incompleteness Theorem for Arithmetic
For any “reasonable” theory that proves basic arithemetic
truth, an arithmetic statement that is true, but not
provable in the theory, can be constructed.
(very very brief) proof idea:
Any theory “expressive” enough can express the sentence
“This sentence is not provable.”
If this is provable, then the theory is inconsistent.
So it is not provable.
Limits of Logic
Gödel's Second Incompleteness Theorem for Arithmetic
For any “reasonable” theory that proves basic
arithemetic truth, it cannot prove its consistency.
No hope to find a complete and consistent set of axioms?!
p://[Link]/wiki/G%C3%B6del%27s_incompleteness_theorems