Predicate Logic, Universal and Existential Quantifiers

(述語論理、全称限量子、存在限量子)

Discrete Mathematics I

7th lecture, November 15, 2019

https://www.sw.it.aoyama.ac.jp/2019/Math1/lecture7.html

Today's Schedule

• Schedule for the next few weeks
• Leftovers/summary/homework for last lecture
• Predicates and predicate logic
• Quantifiers
• Laws for Quantifiers
• This week's homework

Announcement

There will be a minitest (ca. 30minutes) on November 29. Please start to prepare early!

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 7, Problem 1

Prove/check the following laws using truth tables (important: Always add a sentence stating the conclusion):

1. Reductio ad absurdum: A→¬A = ¬A
 A ¬A A→¬A F T T T F F

Because the columns for ¬A and A→¬A are the same, this law is correct.

2. Contraposition: AB = ¬B→¬A
 A B A→B ¬B ¬A ¬B→¬A (A→B) ↔(¬B→¬A) F F T T T T T F T T F T T T T F F T F F T T T T F F T T

Because the column for (AB) ↔(¬B→¬A) is all Ts, this law is correct.

3. The associative law for conjunction: (AB) ∧ C = A ∧  (BC)
 A B C A∧B (A∧B) ∧ C B∧C A ∧ (B∧C) F F F F F F F F F T F F F F F T F F F F F F T T F F T F T F F F F F F T F T F F F F T T F T F F F T T T T T T T

Because the columns for (AB) ∧ C  and A ∧  (BC) are the same, this law is correct.

4. One of De Morgan's laws: ¬(AB) = ¬A ∨ ¬B
 A B A∧B ¬(A∧B) ¬A ¬B ¬A ∨ ¬B F F F T T T T F T F T T F T T F F T F T T T T T F F F F

Because the columns for ¬(AB) and ¬A ∨ ¬B are the same, this law is correct.

Homework Due November 7, Problem 2

Prove transitivity of implication (((AB) ∧ (BC)) ⇒ (AC)) by formula manipulation.

For each simplification step, indicate which law you used.

Hint: Show that ((AB) ∧ (BC)) → (AC) is a tautology by simplifying it to T.

((AB) ∧ (BC)) → (AC) [removing implication]
= ¬((AB) ∧ (BC))∨ (AC) [removing implication, 3 times]
= ¬((¬AB) ∧ (¬BC)) ∨ (¬AC) [DeMorgan]
= (¬(¬AB) ∨ ¬(¬BC)) ∨ (¬AC) [DeMorgan, twice]
= ((¬¬A∧¬B) ∨ (¬¬B∧¬C)) ∨ (¬AC) [double negation, twice]
= ((A∧¬B) ∨ (B∧¬C)) ∨ (¬AC) [associative/commutative laws]
= (A∧¬B) ∨ ¬A ∨ (B∧¬C) ∨ C [distributive law, twice]
= (A∨¬A)∧(¬B∨¬A) ∨ (BC) ∧ (¬CC) [law of excluded middle, twice]
= T ∧ (¬B∨¬A) ∨ (BC) ∧ T [property of true, twice]
= (¬B∨¬A) ∨ (BC) [associative/commutative laws]
= ¬AB∨¬BC [law of excluded middle]
= ¬A ∨ T ∨ C [property of true, twice]
= T ∴

Homework Due November 14, Problems 1/2

1. Create a set with four elements. If you use the same elements as other students, a deduction of points will be applied.

Example: {cat, cow, crow, camel}

2. Create the powerset of the set you created in problem 1.

Example: {{}, {cat}, {cow}, {crow}, {camel}, {cat, cow}, {cat, crow}, {cat, camel}, {cow, crow}, {cow, camel}, {crow, camel}, {cat, cow, crow}, {cat, cow, camel}, {cat, crow, camel}, {cow, crow, camel}, {cat, cow, crow, camel}}

Homework Due November 14, Problems 3/4

3. For sets A of size zero to six, create a table of the sizes of the powersets (|P(A)|).

 |A| |P(A)| 0 1 1 2 2 4 3 8 4 16 5 32 6 64

4. Express the relationship between the size of a set A and the size of its powerset P(A) as a formula.

|P(A)| = 2|A|

Homework Due November 14, Problem 5

5. Explain the reason behind the formula in problem 4.

The formula is correct for |A|=0: A={}, P(A)={{}}, |P(A)|=20=1

If the formula is correct for |A|=k (i.e. |P(A)|=2k),
we can show that it is correct for B with |B|=k+1

Example: A={cat, cow}, |A|=2, P(A) = {{}, {cat}, {cow}, {cat, cow}}, |P(A)|=4
B = A∪{carp}={cat, cow, carp}, |B|=3, P(B) = P(A)∪{a∪{carp}|aP(A)}
=P(A)∪{{carp}, {cat, carp}, {cow, carp}, {cat, cow, carp}}

|P(B)| = 2·|P(A)| = 8

General case:

B = {c|cAc=ddA},
|B| = k+1 = |A|+1,
P(B)=P(A)∪{e∪{d}|eP(A)},
|P(B)|=2·|P(A)| = 2·2k=2k+1

(Let B be the set consisting of the elements of A and one additional element d which is not contained in A.
The size of B is one greater than the size of A.
Then the powerset of B is the union of two distinct sets: the powerset of A, and the set of sets from the powerset of A with d added.
The size of the powerset of B is therefore double the size of the powerset of A.)

Homework Due November 14, Problem 6

6. Create a table that shows, for sets A of size zero to five, and for each n (size of sets in P(A)), the number of such sets.

|A| n |{B|BA∧|B|=n}| |A| n |{B|BA∧|B|=n}|
0 0 1 4 0 1
1 0 1 4 1 4
1 1 1 4 2 6
2 0 1 4 3 4
2 1 2 4 4 1
2 2 1 5 0 1
3 0 1 5 1 5
3 1 3 5 2 10
3 2 3 5 3 10
3 3 1 5 4 5
5 5 1

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 prepositions)
• 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
• 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:

1. 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
2. Operator notation:
• Operators that return true or false are predicates
• Examples: 3 < 7, 5 ≧ 2, aB, 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.

Also, 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

Universal Quantifier

Example: ∀n∈ℕ: even(n) → even(n+2)

• 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.

• 全ての自然数 n において、n が偶数ならば n+2 も偶数である
• 任意の x において、P(x)

Universal Quantifier for the Empty Set

x∈{}: P(x) = T

Reason:
We have to check P(x) for all elements x in the set.
If we find just one x where P(x) is false, the overall statement is false.
But we cannot find any x where P(x) is false.
Therefore, ∀x∈{}: P(x) is always true

Application example:

All students in this room from Hungary are over 50 (years old).
sS: native(s, Hungary) → age(s) > 50

See: Vacuous truth, https://en.wikipedia.org/wiki/Vacuous_truth

• Propositional logic does not need application knowledge except for the truth value of each proposition.
• Predicate logic combines axioms/theorems/knowledge of logic with axioms/theorems/knowledge of one or more application areas.
• Example: Predicate logic on natural numbers: Peano axioms,...
• Example: Predicate logic for sets: Laws for operations on sets,...
• Example: Size of sets: Knowledge about set operations and arithmetic with natural numbers
• Concrete example:

s: (male(s) ∨ female(s)) [all students are either male or female]

s: ¬(male(s) ∧ female(s)) [no student is both male and female]

Existential Quantifier

Example: ∃n∈ℕ: odd (n)

• 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".

• P(y) が成立する y が存在する
• ある y について、P(y)

Structure of Quantifier Expressions

Example: ∀m, n∈ℕ: m > nm2n2

• ∀: 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 > nm2n2: 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. 1∈ℕ
2. a∈ℕ: s(a)∈ℕ
3. ¬∃x∈ℕ: s(x) = 1
4. a, b∈ℕ: abs(a) ≠ s(b)
5. 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: ∀sS: (age(s)≤30 ∧ college(s)=CSE) ⇔ ∀uS: (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

(∀sS: age(s)≤30) ∧ (∀tS: college(t)=CSE) = ∀uS: (age(u)≤30∧college(u)=CSE)

is the same as

(∀sS: age(s)≤30) ∧ (∀sS: college(s)=CSE) = ∀sS: (age(s)≤30∧college(s)=CSE)

There are three different variables s in the last statement.

• 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

1. ¬∀x: P(x) = ∃x: ¬P(x)
2. ¬∃x: P(x) = ∀x: ¬P(x)
3. (X≠{}∧∀xX: P(x)) → (∃x: P(x))
4. (∀x: P(x)) ∧ Q(y) = ∀x: P(x)∧Q(y)
5. (∃x: P(x)) ∧ Q(y) = ∃x: P(x)∧Q(y)
6. (∀x: P(x)) ∨ Q(y) = ∀x: P(x)∨Q(y)
7. (∃x: P(x)) ∨ Q(y) = ∃x: P(x)∨Q(y)
8. (∀x: P(x)) ∧ (∀x: R(x)) = ∀x: P(x)∧R(x)
9. (∀x: P(x)) ∨ (∀x: R(x)) ⇒ ∀x: P(x)∨R(x)
10. (∃x: P(x)) ∨ (∃x: R(x)) = ∃x: P(x)∨R(x)
11. (∃x: P(x)) ∧ (∃x: R(x)) ⇐ ∃x: P(x)∧R(x)
12. (∃y: ∀x: P(x, y)) ⇒ (∀x: ∃y: P(x, y))
13. 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 Prime Numbers is Infinite

• Assume there is a largest prime number z:
z: prime(z) ∧ ∀y: prime(y) → yz
• Calculate a new number as the product of all prime numbers up to z plus 1:
t = 1 + zp=2(prime(p)) p
Example: z=7; t = 1 + 2·3·5·7 = 211
• xz: prime(x)→t mod x =1 ⇒

s: (z<st ∧ prime(s)) ⇒

y: (y > z ∧ prime(y))

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 1

Deadline: November 21, 2017 (Thursday), 19:00.

Where to submit: Box in front of room O-529 (building O, 5th floor)

Problems: See handout

Glossary

predicate logic

quantifier

evaluate

evaluation

array

tautology

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