Predicate Logic and Quantifiers
(述語論理、全称限量子、存在限量子)
Discrete Mathematics I
7th lecture, November 6, 2020
https://www.sw.it.aoyama.ac.jp/2020/Math1/lecture7.html
Martin J. Dürst

© 2005-20 Martin
J. Dürst Aoyama Gakuin
University
Today's Schedule
- Leftovers/summary for last lecture
- Homework due November 5
- Homework due October 29
- Predicates and predicate logic
- Quantifiers
- Laws for Quantifiers
- This week's homework
Leftovers of Last Lecture
Limits of sets
Summary of Last Lecture
- Sets are one of the most basic kinds of objects in
Mathematics
- Sets are unordered, and do not contain any repetitions
- There are two notations for sets: Connotation (e.g. {1, 2, 3,
4}) and denotation (e.g. {n|n ∈ ℕ,
n>0, n<5})
- Operations on sets include union, intersection,
difference, and complement
- The empty set is a subset of any set
- The powerset of a set is the set of all subsets
- The laws for sets are very similar to the laws for predicate logic
Homework Due November 5, Problem 1
Prove/check the following laws using truth tables (important: always add a
sentence stating the conclusion):
- Reductio ad absurdum: A→¬A = ¬A
[solution removed]
- Contraposition: A→B =
¬B→¬A
[solution removed]
- The associative law for conjunction:
(A∧B) ∧ C = A ∧
(B∧C)
[solution removed]
- One of De Morgan's laws:
¬(A∧B) = ¬A ∨ ¬B
[solution removed]
Homework Due November 5, Problem 2
Prove transitivity of implication (((A→B) ∧
(B→C)) ⇒ (A→C)) by formula
manipulation.
For each simplification step, indicate which law you used.
Hint: Show that ((A→B) ∧
(B→C)) → (A→C) is a tautology
by simplifying it to T.
[solution removed]
Homework Comment
This homework is a good example of a general strategy to simplify
formulæ:
- Remove implications and equivalences
- Push negation inside using DeMorgan's laws
- Remove double negations
- Regroup formula using associative/commutative/distributive laws
- Reduce opposites to T/F with law of excluded middle/law of
noncontradiction
- Remove T/F or variable terms with properties of T/F
Homework Due October 29
[solution removed]
Types of Symbolic Logic
- Binary (Boolean) logic (using only true and false)
- Multi-valued logic (using e.g. true, false, and unknown)
- Fuzzy logic (including calculation of ambiguity)
- Propositional logic (using only propositions)
- Predicate logic (first order predicate logic,...)
- Temporal logic (integrating temporal relationships)
Limitations of Propositions
With propositions, related statements have to be made separately
Examples:
2 is even. 5 is even.
Today it is sunny. Tomorrow it is sunny. The day after tomorrow, it is
sunny.
We can express "If today is sunny, then tomorrow will also be sunny." or "If
2 is even, then 3 is not even".
But we cannot express "If it's sunny on a given day, it's also sunny on the
next day." or "If x is even, then x+2 is also even.".
⇒ This problem can be solved using predicates
Examples of Predicates
- even(4): 4 is even
- even(27): 27 is even
- odd(4): 4 is odd
- sunny(November 15, 2019): It is sunny on November 15, 2019
- parent(Ieyasu, Hidetada): Ieyasu is the parent of Hidetada
- smaller(3, 7) (or: 3 < 7)
Predicate Overview
- The problem with propositions can be solved by introducing
predicates.
- In the same way as propositions, predicates are objectively true or
false.
- A predicate is a function (with 0 or more arguments) that returns true or
false.
- If the value of an argument is undefined, the result (value) of the
predicate is unknown.
- A predicate with 0 arguments is a proposition.
How to Write Predicates
There are two ways to write predicates:
- Functional notation:
- The name of the predicate is the name of the function
- Arguments are enclosed in parentheses after the function name
- Each predicate has a fixed number of arguments
- Arguments in different positions have different meanings
- Reading of predicates depends on their meaning
- Operator notation:
- Operators that return true or false are predicates
- Examples: 3 < 7, 5 ≧ 2, a ∈ B,
even(x) ∨ odd(y)
Formulas Containing Predicates
Using predicates, we can express new things:
- sunny(x) → sunny(day after x)
- even(y) → even(y+2)
- even(z) → odd(z+1)
Similar to propositions, predicates can be true or false.
But predicates can also be unknown/undefined, for example if they contain
variables.
Even if a predicate is undefined (e.g. even( x)),
a formula containing this predicate can have a defined value (true or false)
(e.g. even(y) → even(y+2), or odd(z) →
even(z+24))
First Order Predicate Logic
- The arguments of predicates can be constants, functions (e.g. sin),
formulæ,...
Examples:
- even(2), say(Romeo, 'I love you'), parent(Ieyasu, Hidetada)
- even(sin(0)), even(2+3×7)
- However, it is not possible to use predicates within predicates
Counterexample: say(z, parent(y,
x))
(z says "y is the parent of x")
- Higher-order logic allows predicates within predicates
Example: ∀n∈ℕ: even(n) →
even(n+2)
Readings:
- For all n, elements of ℕ, if n is even, then
n+2 is even.
- For all natural numbers n, if n is even, then
n+2 is even.
General form: ∀x: P (x)
∀ is the A of "for All", inverted.
Readings in Japanese:
- 全ての自然数 n において、n
が偶数ならば n+2 も偶数である
- 任意の x において、P(x)
Examples of Universal Quantifiers
∀n∈ℕ: n > -1
∀n∈ℕ: ∀m∈ℕ: n+m =
m+n
∀a∈ℚ: ∀b∈ℕ: a+b =
b+a
∀a∈{T, F}: ∀b∈{T, F}:
a∨b = b∨a
Let S be the set of all students, B the set of all
books, and let read(s, b) denote the fact that student
s reads book b.
Then ∀s∈S: ∀b∈B:
read(s, b) means that all students read all books.
Remark: ∀s∈S: ∀b∈B:
read(s, b) is interpreted as
∀s∈S: (∀b∈B:
read(s, b))
Knowledge about Field of Application
Existential Quantifier
Example: ∃n∈ℕ: odd (n)
Readings:
- There exists a n, element of ℕ, for which n is
odd.
- There is a natural number n so that n is odd.
- There exists a natural number n which is odd.
- There exists an odd natural number.
General form: ∃y: P (y)
∃ is the mirrored form of the E in "there
Exists".
Readings in Japanese:
- P(y) が成立する y が存在する
- ある y について、P(y)
Structure of Quantifier Expressions
Example: ∀m, n∈ℕ: m > n →
m2 ≧ n2
- ∀: Quantifier
- m, n:
Variable(s), separated by commas
- ∈ℕ: Set membership
(applies to all previous variables connected by commas; unnecessary if
there is a single obvious universal set)
- ":": Colon
- m > n →
m2 ≧ n2: Quantified
predicate
More Quantifier Examples
∀n∈ℕ: n + n + n =
3n
∃n∈ℕ: n2 =
n3
∃n∈ℝ: n2 < 50n <
n3
∀m, n∈ℕ: 7m + 2n =
2n + 7m
Applied Quantifier Examples
S: Set of students
F: Set of foods
like(p, f): Person p likes food
f
- All students like all foods:
- Some students like all foods:
- There is a food that all students like:
- There is no food that all students like:
- Each student dislikes a food:
Peano Axioms in Predicate Logic
Peano Axioms (Guiseppe Peano, 1858-1932)
- 1∈ℕ
- ∀a∈ℕ: s(a)∈ℕ
- ¬∃x∈ℕ: s(x) = 1
- ∀a, b∈ℕ: a ≠ b →
s(a) ≠ s(b)
- P(1) ∧ (∀k∈ℕ:
(P(k)→P(s(k)))) ⇒
∀a∈ℕ: P(a)
The Use of Variables with Quantifiers
- Bound variable:
- Variable quantified by a quantifier
Example: the x in: ∀x:
(P(x)∧Q(y))
- Free variable:
- Variable not quantified by a quantifier
Example: the y in: ∀x:
(P(x)∧Q(y))
- Closed formula:
- A formula without free variables.
- Scope:
- The part of a formula where a bound variable (or a quantifier) is
active.
All occurrences of a bound variable within its scope can be exchanged by
another variable.
Example: ∀s∈S: (age(s)≤30 ∧
college(s)=CSE) ⇔ ∀u∈S:
(age(u)≤30 ∧ college(u)=CSE)
Using a bound variable outside its scope is an error.
Example: (∀x: P(x))∧Q(x)
Manipulation of Bound Variables
(∀s∈S: age(s)≤30) ∧
(∀t∈S: college(t)=CSE) =
∀u∈S:
(age(u)≤30∧college(u)=CSE)
is the same as
(∀s∈S: age(s)≤30) ∧ (∀s∈S: college(s)=CSE) = ∀s∈S: (age(s)≤30∧college(s)=CSE)
There are three different variables s in the last
statement.
Advice:
- It is better to use different variable names with each
quantifier, but
- You have to understand formuæ that repeatedly used the same
variable name.
- Bound variables are similar to local variables in programming
languages.
Important Points for Quantifiers
- What is the universal
set?
(Example: ∀i ∈ℕ+: i>0)
- Notation (colons, parentheses)
- Definition of used predicates
- Free vs. bound variables
Laws for Quantifiers
- ¬∀x: P(x) = ∃x:
¬P(x)
- ¬∃x: P(x) = ∀x:
¬P(x)
- (X≠{}∧∀x∈X: P(x)) →
(∃x: P(x))
- (∀x: P(x)) ∧ Q(y) = ∀x:
P(x)∧Q(y)
- (∃x: P(x)) ∧ Q(y) = ∃x:
P(x)∧Q(y)
- (∀x: P(x)) ∨ Q(y) = ∀x:
P(x)∨Q(y)
- (∃x: P(x)) ∨ Q(y) = ∃x:
P(x)∨Q(y)
- (∀x: P(x)) ∧ (∀x: R(x))
= ∀x: P(x)∧R(x)
- (∀x: P(x)) ∨ (∀x: R(x))
⇒ ∀x: P(x)∨R(x)
- (∃x: P(x)) ∨ (∃x: R(x))
= ∃x: P(x)∨R(x)
- (∃x: P(x)) ∧ (∃x: R(x))
⇐ ∃x: P(x)∧R(x)
- (∃y: ∀x: P(x, y)) ⇒
(∀x: ∃y: P(x, y))
- P(x) is a tautology ⇔∀x: P(x) is a
tautology
Combination of Quantifiers
(∃y: ∀x: P(x, y)) ⇒
(∀x: ∃y: P(x, y))
(∀x: ∃y: P(x, y)) ⇏
(∃y: ∀x: P(x, y))
The number of prime numbers is infinite.
(This means that whatever big number x we choose, there will
always be a bigger prime number y.)
∀x: ∃y: (y > x ∧
prime(y))
Reversing the order of the quantifiers changes the meaning:
∃y: ∀x: (y > x ∧
prime(y))
(There is a prime number y that is bigger than any (natural
number) x. This statement is obviously false.)
Proof that the Number of Primes is Infinite
- Assume there is a largest prime number z:
∃z: prime(z) ∧ ∀y:
prime(y) → y≤z
- Calculate a new number t as 1 plus the product of all prime
numbers up to z:
t = 1 +
∏zp=2(prime(p))
p
Example: z=7; t = 1 + 2·3·5·7 = 211
- ∀x≤z: prime(x)→t mod
x = 1 ⇒
∃s: (z<s≤t
∧ prime(s)) ⇒
∃y: (y > z ∧
prime(y))
This proves that there is no largest prime number, and therefore, the number
of primes is infinite.
This is a proof by contradiction.
Summary
- Predicates are limited because they cannot express complex facts
- Propositions are functions or operators that return truth values
(true/false)
- First order propositional logic allows formal reasoning for some
application domain (e.g. arithmetic, set theory,...)
- The universal quantifier (∀) expresses that a predicate is
true for all members of some set(s)
- The existential quantifier (∃) expresses that a predicate is
true for some member(s) of some set(s)
- Variables not bound by a quantifier are free variables
This Week's Homework
Deadline: Thursday November 12, 2020, 22:00.
Problems: See handout
If you have a printer, print out and fill in the handout.
If you do not have a printer, use a page of white A4 paper, and number the
solutions carefully.
Format: A4 scanned PDF (more than one page is okay, but
single file; NO cover page), easily readable
handwriting (NO printouts), name (kanji and kana) and student
number at the top right
Where to submit: Moodle
assignment
Glossary
- Mathematical induction
- 数学的帰納法
- Pascal's triangle
- パスカルの三角形
- predicate logic
- 述語論理
- quantifier
- 限量子
- evaluate
- 評価する
- evaluation
- 評価
- array
- 配列
- tautology
- 恒真 (式)、トートロジー
- contradiction
- 恒偽 (式)
- symbolic logic
- 記号論理
- multi-valued logic
- 多値論理
- fuzzy logic
- ファジィ論理
- ambiguity
- 曖昧さ
- first-order predicate logic
- 一階述語論理
- temporal logic
- 時相論理
- binary logic
- 二値論理
- generalization
- 一般化
- argument
- 引数
- undefined
- 未定
- higher-order logic
- 高階述語論理
- universal quantifier
- 全称限量子 (全称記号)
- existential quantifier
- 存在限量子 (存在記号)
- inference
- 推論
- College of Science and Engineering
- 理工学部
- native of ...
- ...出身
- bound variable
- 束縛変数
- free variable
- 自由変数
- local variable
- 局所変数
- closed formula
- 閉論理式
- scope
- 作用領域、スコープ
- prime (number)
- 素数