# Representation of Natural Numbers

(自然数の表現)

## Discrete Mathematics I

### 2nd lecture, September 30, 2022

https://www.sw.it.aoyama.ac.jp/2022/Math1/lecture2.html

# Seating Order

Only use two outer seats of each table

# Today's Schedule

• Moodle registration, last lecture's homework
• History of numbers and numerals
• The historic origin of numbers: 1
• Creating natural numbers starting from 1 (Peano arithmetic)
• The discovery of 0
• Positional notation (decimal, binary, hexadecimal, ...)
• Base conversion

# Introduction of TA

Teaching Assistant (TA): Tensho Miyashita (宮下 天祥, M1)

# Summary of Last Lecture

(apologies for delay on September 16 (Friday); reason: software troubles)

• Mathematics is an important base for Information Technology
• Discrete Mathematics I mainly covers number representation, logic, sets, relations, proofs
• Mathematics is a tool, a language, and a way of thinking
• English is very important for Information Technology
• English is best learned by diving in and practicing

# Registrations and Homework

• Students listed in Course Power: 180
• Students enrolled in Moodle Course: 154
• Homework 1 (5' limit)
• Solution submitted: 132
• Solution non-empty: 112
• Homework 2 (repeat until 100% correct)
• Solutions submitted: 128
• Solutions 100% correct: 118

# Last Lecture's Homework

• Make sure you are officially registered for the course and enrolled in Discrete Mathematics I (https://moo.sw.it.aoyama.ac.jp/course/view.php?id=58)
• Review decimal number representation, binary number representation, and n-ary number representation based on high-school notes and Web resources
• Solve the Quiz Languages Necessary for Information Technology (one attempt, maximum 5 minutes; deadline: September 27, 22:00 (no extensions))
• Solve the Quiz Simple Arithmetic in English (repeat until you get it 100% correct; deadline: September 27, 22:00 (no extensions))
• Check out/buy/borrow a textbook or reference book

# Languages Necessary for Information Technology

(4 in total, order irrelevant)

• Mathematics
• English
• Mother tongue (e.g. Japanese)
• Programming language(s)

Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.

Edsger W. Dijkstra, EWD498, Selected Writings on Computing: A Personal Perspective, Springer-Verlag, 1982, pp. 129-131.

# History of Numbers and Numerals

(Georges Ifrah: The Universal History of Numbers, John Wiley & Sons, 1998)

• Humans have used many different representations of numbers throughout history
• The first number represented was 1
• Representations such as |, ||, |||,... are most frequent
• For bigger numbers, using groups of 10 is most frequent
(20 (French 80: quatre-vingt=4-20) and 60 (minutes, seconds) also exist

# The Shape of Numerals

• Chinese numerals: 一、二、三、亖 (or 四)
• Roman numerals: I, II, III, IIII (or IV)
• (Arabic-)Indic numerals: ١, ٢, ٣ (used in Arabic)
• (European-)Arabic numerals: 1, 2, 3
• Chinese numerals: 十、廿、...
• Roman numerals: X, XX,...

# Creating the Natural Numbers Starting with 1

Peano Axioms (Guiseppe Peano, 1858-1932):

1. 1 is a natural number
(1∈ℕ)
2. If a is a natural number, then s(a) is a natural number (s(a) is the successor of a)
(a∈ℕ ⇒ s(a)∈ℕ)
3. There is no natural number x so that s(x) = 1
4. If two natural numbers are different, then their successors are different
(a∈ℕ, b∈ℕ, abs(a) ≠ s(b))
5. If we can prove a property for 1,
and we can prove, for any natural number a, that if a has this property then s(a) also has this property,
then all natural numbers have this property.

(Nowadays, it is usual to start natural numbers with 0 rather than with 1.)

(We will learn how to express axioms 3 and 5 as formulæ in the lesson about Predicate Logic)

# Symbols Used

ℕ: The set of natural numbers

∈: Set membership (aB: a is an element of set B)

=: Equality (a = b: a is equal to b)

≠: Inequality (ab: a is not equal to b)

⇒: Implication (ab: If a, then b, or: a implies b)

# Number Representation using Peano Axioms

 1 1 2 s(1) 3 s(s(1)) 4 s(s(s(1))) 5 s(s(s(s(1)))) 6 s(s(s(s(s(1))))) 7 s(s(s(s(s(s(1)))))) ... ...

1. If a is a natural number, then a + 1 = s(a)
(a∈ℕ ⇒ a + 1 = s(a))
2. If a and b are natural numbers, a + s(b) = s(a + b)
(a∈ℕ, b∈ℕ ⇒ a + s(b) = s(a + b))

Calculate 2 + 3 using Peano arithmetic:

```
```

# Associative Law

(associative property)

A binary operation (represented by operator △) is associative if and only if for all operands a, b, and c:

(ab) △ c = a △ (bc)

Examples:

• Addition of (natural) numbers is associative:
(a+b) + c = a + (b+c)
• Multiplication of (natural) numbers is associative:
(a·b) · c = a · (b·c)
• Multiplication of matrices is associative.

Counterexamples:

• Subtraction of (natural) numbers is not associative:
((a-b) - ca - (b-c))
• Exponentiation is not associative:
(ab)ca(bc)

# Proof of Associativity of Addition using Peano Axioms

What we want to prove:

Associative law for addition: (d+e) + f = d + (e+f)

Let's prove this for all values of f.

• Let's distinguish two cases: f=1 and f=k+1
• If f = 1, then (d+e) + 1 = s(d + e) [by the 1st axiom of addition, with (d+e) for a]
= d + s(e) [by the 2nd axiom of addition, with d for a and e for b]
= d + (e+1) [by the 1st axiom of addition, backwards, with e for a]

# Proof of Associativity (continued)

• Assuming that associativity holds for f = k
(i.e. (d+e) + k = d + (e+k)),
let's prove associativity for f = k+1,
i.e let's prove (d+e) + k = d + (e+k) ⇒
⇒(d+e) + (k+1) = d + (e + (k+1)):

(d+e) + (k+1) = (d+e) + s(k) [by the 1st axiom of addition, with k for a]
= s((d+e) + k) [by the 2nd axiom of addition, with (d+e) for a and k for b]
= s(d + (e+k)) [using the assumption]
= d + s(e+k) [by the 2nd axiom of addition, backwards, with d for a and (e+k) for b]
= d + ((e+k) + 1) [by the 1st axiom of addition, with (e+k for a]
= d + (e + (k+1)) [using the case f=1, with e for d and k for e]
Q.E.D. [using the 5th Peano axiom, with f for a and the property (d+e) + f = d + (e+f)]

• We have to be careful that we only use axioms, not any 'general knowledge'.
• Proofs include two aspects:
• Originality (human imagination)
• Mechanics (careful execution or automated proof checking)
• Because we have not yet established associativity, we always have to use parentheses.
• Once we have proved associativity, we can eliminate the parentheses.
• This proof uses mathematical induction.
• Peano Axiom 5 can be seen as the basis for mathematical induction.
• We will look at mathematical induction more closely later.

• These are usually called axioms
• The axioms should be self-evident
• Other facts and rules (theorems) are deduced from the axioms using proofs
• This is called the axiomatic method
• The less axioms and the more interesting theorems, the better
(from a mathematical viewpoint)

# The Discovery of 0

• The latest (natural/integer) number (and numeral) discovered by humans
• Discovered around 800 A.D. in India
• Discovery spread West to Arabia and Europe, East to China and Japan
• 0 is very important for positional notations such as decimal, binary,...

# More Arithmetic Operations

### Exponentiation (e.g. 23)

Two raised to the power of three is eight.

Two to the power of three is eight.

Two to the three (third) is eight.

The third power of two is eight.

Three raised to the power of three is twenty-seven.

Five to the power of four is six hundred twenty-five.

### Modulo operation (remainder)

Twenty modulo six is two.

Twenty-five modulo seven is four.

(written "`25 % 7`" in C and many other programming languages, "25 mod 7" in Mathematics)

# Positional Notation: Decimal Notation

Number representations before positional notation:

Chinese (Han) numerals: 二百五十六、二千二十二

Roman numerals: CCLVI, MMXXII

Example of decimal notation (the base of a number is often given as a subscript):
25610 = 2·102 + 5·101 + 6·100

Example containing 0: 206 = 2·102 + 0·101 + 6·100

Generalization: dn...d1d0 = dn·10n+...+d1·101+d0·100
(here the subscript indicates the position, not the base)

Example with decimal point:
34.5610 = 3·101 + 4·100 + 5·10-1 + 6·10-2

# Binary Numeral System

10100112 = 1·26 + 0·25 + 1·24 + 0·23 + 0·22 + 1·21 + 1·20 =

1·64 + 0·32 + 1·16 + 0·8 + 0·4 + 1·2 + 1·1 =

64 + 16 + 2 + 1 = 83

# Base Conversion: Base b to Base 10

Calculate the sum of each of the digits multiplied by its positional weight.

The positional weight is a power of the base b, the 0th power for the rightmost digit.

The power increases by one when moving one position to the left.

dn...d1d0 (in base b) = dn·bn+...+d1·b1+d0·b0 = ∑ni=0 di·bi

# Base Conversion: Base 10 to Base b (first method)

Take the number to convert as the first quotient. Start with an empty list of result digits.

Repeatedly, as long as the quotient is positive:

• Take the quotient of the previous division as the dividend
• Divide that dividend by the base b
• Add the remainder of the division as a digit to the left of the previous result digits

# Base 10 to Base b (first method), Example

Example: Convert 65 to base 3
dividend divisor quotient remainder result digits
65↙ (empty)
65 3 21↙ 2 2
21 3 7↙ 0 02
7 3 2↙ 1 102
2 3 0→done! 2 2102

65 divided by 3 is 21 remainder 2

21 divided by 3 is 7 remainder 0

7 divided by 3 is 2 remainder 1

2 divided by 3 is 0 remainder 2

65 = 65·30
= 21·31 + 2·30
= 7·32 + 0·31 + 2·30
= 2·33 + 1·32 + 0·31 + 2·30 = 21023

Using Horner's rule: 65 = (((2×3 + 1)×3 + 0)×3 + 2)

# Reference: Terms for Operands and Results

left operand operator right operand result
Subtraction minuend - subtrahend difference
Multiplication multiplicand (also: factor) ×, ·, `*`, nothing multiplier (also: factor) product
Division dividend ÷, / divisor quotient
Modulo operation dividend mod, `%` divisor remainder
Exponentiation base (superscript), `^`, `**` exponent power

# Base Conversion: Base 10 to Base b (second method)

Determine the first exponent n so that bna < bn+1

Repeatedly, as long as the exponent is ≧0:

• Take the remainder of the previous division as the dividend
• Divide the dividend by bn, then by bn-1, and so on
• Add the quotient of the division as a digit to the right of the previous result digits

# Base 10 to Base b (second method), Example

Example: Convert 65 to base 3: 33 ≦ 65 < 34n=3
dividend exponent divisor quotient remainder digits of the result
65↙
65 3 (=n) 33=27 2 11↙ 2
11 2 32=9 1 2↙ 21
2 1 31=3 0 2↙ 210
2 0→done! 30=1 2 0 2102

# Base Conversion: Base b to Base c

• General method: Convert via base 10
base b → base 10 → base c
Example: base 3 → base 10 → base 5
• Shortcut 1: If b is a power of c (b = cn) or the other way around (c = bn), then convert the digits in groups
Example 1: base 3 → base 9 (32 = 9, therefore make groups of 2 digits and convert to a single digit)
Example 2: base 8 → base 2 (8 = 23, therefore convert each digit to a group of 3 digits)
• Shortcut 2: If both b and c are powers of d (b = dn, c=dm), then convert via base d
Example: base 4 → base 8
because 4 = 22 and 8 = 23, d = 2
therefore, convert base 4 → base 2 → base 8 (use shortcut 1 two times)

# Base Conversion Shortcut Example

Convert 476238 to base 4.

8 = 23, 4 = 22, therefore convert base 8 → base 2 → base 4

476238

 4 7 6 2 3 base 8 100 111 110 010 011 convert each base-8 digit to 3 base-2 digits

1001111100100112

 1 00 11 11 10 01 00 11 split base 2 into groups of 2 digits (start at the right) 1 0 3 3 2 1 0 3 convert two base-2 digits to one base-4 digit

→ 103321034

# Addition in Different Numeral Systems

Works the same as in the decimal system:

• Progress from least signifinant digit to more significant digits
• Carry over when base (e.g. 10) is reached

Example (base 7):

 Operand 1 3 6 5 1 2 Operand 2 6 0 3 3 4 carry 1 1 1 sum in base 10 1 10 7 8 4 6 sum in base 7 1 13 10 11 4 6 Result 1 3 0 1 4 6

# Numbers Represented with Hexadecimal Digits

1AF16 = 1×162 + A×161 + F×160 = 1×256 + 10×16 + 15×1 = 256 + 160 + 15 = 431

 digit (upper case) digit (lower case) value (decimal) A a 10 B b 11 C c 12 D d 13 E e 14 F f 15

# Number of Digits in Base b

The number of different digits in base b is b.

The lowest digit is 0, the highest digit is b-1.

 Base Number of Digits Lowest Digit Highest Digit Digits 2 2 0 1 0, 1 3 3 0 2 0, 1, 2 4 4 0 3 0, 1, 2, 3 5 5 0 4 0, 1, 2, 3, 4 8 8 0 7 0, 1, 2, 3, 4, 5, 6, 7 10 10 0 9 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 12 12 0 B (11) 0123456789 A B 16 16 0 F (15) 0123456789 A B C D E F 22 22 0 L (21) 0123456789 ABCDEFGHIJ KL

# Bases Frequently Used in IT

base name (adjective) and abbreviation (reason for) use constants in programming languages
2 binary, bin used widely in logic and circuits (computer hardware) `0b101100` (Ruby,...)
8 octal, oct shortened form of binary (rare these days) `024570` (C and many others)
10 decimal, dec for humans `1234567` (all languages)
16 hexadecimal, hex shortened form of binary, 1 byte (8 bits) can be represented with two digits `0xA3b5` (C and many others)

# Small Numbers in Various Bases

10 2 3 4 5 6 7 8 9 16
0 0000 0 0 0 0 0 0 0 0
1 0001 1 1 1 1 1 1 1 1
2 0010 2 2 2 2 2 2 2 2
3 0011 10 3 3 3 3 3 3 3
4 0100 11 10 4 4 4 4 4 4
5 0101 12 11 10 5 5 5 5 5
6 0110 20 12 11 10 6 6 6 6
7 0111 21 13 12 11 10 7 7 7
8 1000 22 20 13 12 11 10 8 8
9 1001 100 21 14 13 12 11 10 9
10 1010 101 22 20 14 13 12 11 A/a
11 1011 102 23 21 15 14 13 12 B/b
12 1100 110 20 22 20 15 14 13 C/c
13 1101 111 21 23 21 16 15 14 D/d
14 1110 112 22 24 22 20 16 15 E/e
15 1111 120 23 30 23 21 17 16 F/f
16 10000 121 100 31 24 22 20 17 10

# Powers of 2

n 2n in base 16
0 1 1
1 2 2
2 4 4
3 8 8
4 16 10
5 32 20
6 64 40
7 128 80
8 256 100
9 512 200
10 1'024 ≈103 (kilo) 400
11 2'048 (the game) 800
12 4'096 1000
16 65'536 1'0000
20 1'048'576 ≈ 106 (mega) 10'0000
30 1'073'741'824 ≈ 109 (giga) 4000'0000
40 1'099'511'627'776 ≈ 1012 (tera) 100'0000'0000

# Homework: Jokes

### First Joke

Question: Why do computer scientist always think Christmas and Halloween are the same?
(Hint: In the USA, Halloween is October 31st only)

### Second Joke

Question: At what age do Information Technologists celebrate "Kanreki" (還暦)

# Summary of This Lecture

• The history of numbers starts with the natural numbers 1, 2, 3,...
• Across different cultures, the numerals for 1, 2, 3,... and 10, 20,... look similar
• Peano created a set of 5 axioms using "1" and "successor" only
• These axioms form a base for arithmetic on natural numbers
• The numeral 0 was discovered very late.
It is important in positional number representation.
• Positional number representation can use various bases, and these bases can be converted
• In Information Technology, the bases 2, (8,) 10, and 16 are used

# This Week's Homework

• Register to Moodle and enroll in the course Discrete Mathematics I
• Solve Arithmetic and Base Conversion (repeat until you get it 100% correct; deadline: Thursday, October 6, 22:00, 15 minutes time limit for each attempt)
• Learn binary and hexadecimal numbers up to 16, and powers of 2 up to 212
• Try to find an answer to the joke questions (no need to submit)
• Use highschool texts or the Web to refresh your knowledge about propositions, logic, and functions

# 今週の宿題

• MoodleDiscrete Mathematics I に登録
• Moodle で Arithmetic and Base Conversion のクイズを解く (満点まで繰り返す、締切: 10月 6日 (木) 22:00, 一回ごとに15分の時間制限)
• 16 までの二進法、16進法と 2nn=12 までを暗記
• 冗談の問題の解答を考える (提出不要)
• 数学の「命題」、「論理演算」、「関数」について高校で学んだことを再確認し、ウェブで調べる

# Glossary

number
numeral

natural number

discovery

origin

positional notation

perfect score

confusion

representation

exponentiation
べき乗演算
Modulo operation
モジュロ演算
remainder

decimal notation (decimal numeral system)

Chinese numerals

Roman numerals
ローマ数字
discovery

axiom

Peano axioms
ペアノの公理
successor

formula (plural: formulæ)
symbol

set membership

equality (sign)

inequality (sign)

implication

property

arithmetic

associative law (property)

counterexample

operation

operator

operand

binary operation

proof

prove

Q.E.D. (quod erat demonstrandum)

parenthesis
(丸・小) 括弧、複数 parentheses
mathematical induction

originality

automated proof checking

imagination

self-evident

axiomatic method

integer

remainder

subscript

generalization

decimal point

base

base conversion

positional weight
(その桁の) 重み
dividend (or numerator)

divisor (or denominator, modulus)

quotient

Horner's rule
ホーナー法
digit

shortcut

upper case

lower case

binary

octal

decimal