(述語論理、限量子)

http://www.sw.it.aoyama.ac.jp/2015/Math1/lecture6.html

© 2005-15 Martin J. Dürst Aoyama Gakuin University

- Schedule for the next few weeks
- Leftovers/summary/homework for last lecture
- Predicates
- Quantifiers
- Laws for Quantifiers
- This week's homework

- October 23 (today): Predicate Logic, Quantifiers
- October 30:
**No lecture**(Aoyama Festival) - November 7: Next lecture: Application of Predicate Logic

Laws for equivalence and implication.

- All Boolean formulæ can be expressed using only NAND (⊼) or only NOR (⊽).
- Logic circuits can be built from gates to implement Boolean functions.
- The main gates are AND, OR, NOT, NAND, NOR, XOR (⊕).
- Boolean logic can be axiomatized, there are many different ways to do this (learn at least one set of axioms).
- Logical operations important for symbolic logic are implication (→) and equivalence (↔).

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.

sunny(today), sunny(tomorrow), sunny(yesterday), even(2), even(5), ...

Generalization: sunny(`x`), even(`y`), ...

Using predicates, we can express new things:

- sunny(
`x`) → sunny(day after`x`) - even(
`x`) → even(`x`+2)

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 be

defined (true or false; e.g. even(`x`) → even(`x`+2))

- The arguments of predicates can be constants, functions, formulæ,...
Examples:

- even(2), say(Romeo, 'I love you'), father(Ieyasu, Hidetada)
- even(sin(0)), even(2+3×7)

- However, it is not possible to use predicates within predicates

Counterexample: say(`z`, father(`y`,`x`))

(`z`says "`y`is the father 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 **A**ll", inverted.

Readings in Japanese:

- 全ての x において、P(
`x`) - 任意の x において、P(
`x`)

Example: ∃`y`∈ℕ: odd (`y`)

Readings:

- There is a
`y`, element ℕ, for which`y`is odd. - There exists a natural number
`y`which is odd. - There exists an odd natural number.

General form: ∃`y`: P (`y`)

∃ is the mirrored form of the **E** in "there
**E**xists".

Readings in Japanese:

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

- ¬∀
`x`: P(`x`) = ∃`x`: ¬P(`x`) - ¬∃
`x`: P(`x`) = ∀`x`: ¬P(`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

Deadline: October 29, 2014 (Thursday), 19:00.

Format: **A4 single page** (using both sides is okay; NO cover
page), easily readable **handwriting** (NO printouts), name (kanji
and kana) and student number at the top right

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

Problem 1: Prove/check the following laws using truth tables:

- Reductio ad absurdum (A→¬
`A`= ¬A) - Contraposition
- The associative law for conjunction
- One of De Morgan's laws

Problem 2: Prove transitivity of implication (((`A`→`B`)
∧ (`B`→`C`)) ⇒ (`A`→`C`)) by
formula manipulation.

Hint: Show that ((`A`→`B`) ∧
(`B`→`C`)) → (`A`→`C`) is a tautology
by simplifying it to T.

For each simplification step, indicate which law you used.

Deadline: **November 5**, 2015 (Thursday), 19:00.

Format: **A4 single page** (using both sides is okay; NO cover
page; an additional page is okay if really necessary, but staple the pages
together at the top left corner), easily readable **handwriting**
(NO printouts), name (kanji and kana) and student number at the top right

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

Problem 1: Show that the Wolfram axiom of Boolean logic is a tautology (you can use either a truth table or formula manipulation).

Problem 2: For ternary (three-valued) logic, create truth tables for
conjunction, disjunction, and negation. The three values are T, F, and
**?**, where **?** stands for "maybe true, maybe
false, we don't know".

Hint: What's the result of "**?**∨T"? **?** can
be T or F, but in both cases the result will be T, so
**?**∨T=T.

Problem 3: For each of the laws 1, 5, 8, 11, and 12 of "Laws for Quantifiers", imagine a concrete example and explain it. For law 11, give examples for both why the implication works one way and why the implication does not work the other way.

- 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
- 一般化
- undefined
- 未定
- higher-order logic
- 高階述語論理
- universal quantifier
- 全称限量子 (全称記号)
- existential quantifier
- 存在限量子 (存在記号)