Applications of Predicate Logic

(述語論理の応用)

Discrete Mathematics I

8th lecture, November 16, 2018

http://www.sw.it.aoyama.ac.jp/2018/Math1/lecture8.html

Martin J. Dürst

AGU

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

Today's Schedule

 

Announcement

There will be a minitest (ca. 30minutes) at the start of the next lecture. Please prepare well!

 

Summary of Last Lecture

 

Last Week's Homework

Sorry, it was removed! :)

 

Homework, Problem 3, Law 8

Sorry, it was removed! :)

 

Homework, Problem 3, Law 12

Sorry, it was removed! :)

 

Relation between Sums/Products and Quantifiers

Sum: i=1 1/i2 = 1 + 1/4 + 1/9 + 1/16 + 1/25 + ...

Product: i=1 1+1/(-2)i = ...

Universal quantification: (∀i ∈ℕ+: i>0) = i=1 i>0 = 1>0 ∧ 2>0 ∧ 3>0 ∧...

Existential quantification: (∃i ∈ℕ+: odd(i)) = i=1 odd(i) = odd(1)∨odd(2)∨odd(3)∨...

Quantification is a generalization of conjunction/disjunction to more than two operands in the same way that sum and product are a generalization of addition/multiplication to more than two operands.

two operands many operands
name symbol name symbol(s)
addition + sum
multiplication * product
conjunction universal quantification ∀/
disjunction existential quantification ∃/

  

Factorial

Notation: n!

Definition: n! = 1 · 2 · ... (n-1) · n = ∏ni=1 i

(∏ is called product)

Question:

1! = 1

0! = 1

 

Neutral Element of an Operation

 

Structure of a Program to Calculate Sums, ...

Concrete example (sum):

int sum = 0;
for (i=0; i<end; i++)
    sum += array[i];

General Structure

In programming language C:

type result = neutral element;
for (i=0; i<end; i++)
    result = result operator array[i];

In programming language Ruby:

array.inject(neutral element) do |memo, next|
  memo operator next
end

 

Quantifiers for Empty Sets

i (i<0⋀i>5): odd(i) = T (because the unit element of conjunction is T)

i (i<0⋀i>5): odd(i) = F (because the unit element of disjunction is F)

  

Extension of DeMorgans' Laws

Laws 1 and 2 introduced in the last lecture are generalizations of DeMorgans' laws:

 

Formula Manipulation with Quantifiers

Simplify ¬(∃x: P(x) → ∀y: ¬Q(y))

¬(∃x: P(x) → ∀y: ¬Q(y)) [removing implication]

= ¬(¬∃x: P(x) ∨ ∀y: ¬Q(y)) [deMorgan's law]

= ¬¬∃x: P(x) ∧ ¬∀y: ¬Q(y) [law 1 of last lecture]

= ¬¬∃x: P(x) ∧ ∃y: ¬¬Q(y) [double negation]

= ∃x: P(x) ∧ ∃y: Q(y)

Actual example:

Let P(x) mean "it is raining in x", and Q(y) "it is snowing y"

Then the original formula says "It's wrong that if it rains somewhere, then it snows nowhere". The final formula says "There is a place where it rains and there is a place where it snows".

 

Pascal's Triangle

Start with a single 1 in the first row, surrounded by zeroes ((0 ... 0) 1 (0 ... 0)).
Create row by row by adding the number above and to the left and the number above and to the right.

                  1
                1   1
              1   2   1
            1   3   3   1
          1   4   6   4   1
        1   5  10  10   5   1
      1   6  15  20  15   6   1
    1   7  21  35  35  21   7   1
  1   8  28  56  70  56  28   8   1

 

Subsets and Pascal's Triangle

 

Subsets and Combinations

 

Direct Formula for Combinations

(prove it as a homework)

 

Homework Due November 22

Deadline: November 22, 2018 (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: By using formula manipulation, show that the Wolfram axiom of Boolean logic (((AB)⊼C)⊼(A⊼((AC)⊼A))=C) is a tautology. For each simplification step, indicate which law(s) you used.

Hints: Simplify the left side to obtain the right side. There should be between 15 and 20 steps.

Problem 2: For ternary (three-valued) logic, create defining truth tables for conjunction, disjunction, and negation. The three values are T, F, and ?, where ? stands for "unknown" (in more words: "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.

 

Homework Due November 29

Deadline: November 29, 2018 (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)

Prove nCm = n!/(m! (n-m)!) for 0≦n, 0≦mn using nCm = n-1Cm-1 + n-1Cm
(Hint: Prove first for m=0 and m=n, then for 0<m<n)

 

Glossary

Pascal's triangle
パスカルの三角形
combinatorics
組合せ論
combination
組合せ
permutation
順列
repeated combination
重複組合せ
repeated permutation
重複順列