Arithmetic on Finite Sets
Recall that, using only Peano's Axioms (listed below in DC Proof format) plus the rules and axioms of logic and set theory, we can develop the laws of arithmetic for natural numbers.
PA1
Set(n)
PA2
0
e
n
PA3
ALL(a):[a
e
n
=>
s(a)
e
n]
PA4
ALL(a):[a
e
n
=>
~s(a)=0]
PA5
ALL(a):ALL(b):[a
e
n
&
b
e
n
=>
[s(a)=s(b)
=> a=b]]
PA6
ALL(a):[Set(a)
& ALL(b):[b
e
a
=> b
e
n]
=>
[0
e
a
& ALL(b):[b
e
a
=>
s(b)
e
a]
=>
ALL(b):[b
e
n
=>
b
e
a]]]
where n = {0, 1, 2, ...} is the infinite set of natural numbers, and s is the successor function on n.
It is also possible to develop a similar list of axioms for finite sets such as:
{0}
{0, 1, 2, 3}
{0, 1, 2, ... 1x10603}
The axioms for Finite Arithmetic include:
FA1
Set(n)
FA2
0
e
n
FA3
max
e
n
FA4
ALL(a):[a
e
n
=>
[~a=max
=>
s(a)
e
n]]
FA5
~s(max)
e
n
FA6
ALL(a):[a
e
n
=>
~s(a)=0]
FA7 ALL(a):ALL(b):[a e n & b e n & s(a) e n => [s(a)=s(b) => a=b]]
FA8
ALL(a):[Set(a)
& ALL(b):[b
e
a
=> b
e
n]
=>
[0
e
a
& ALL(b):[b
e
a
&
s(b)
e
n
=>
s(b)
e
a]
=>
ALL(b):[b
e
n
=>
b
e
a]]]
where n = {0, 1, 2, ... max} is a finite set with successor function s.
Let us now compare these two remarkably similar sets of axioms.
The axioms of finite arithmetic have only two axioms (axioms 3 and 5) that have no analogs in Peano's Axioms. Axiom 3 introduces the last number, max. (There is no last number in an infinite set.)
FA3
max
e
n
Axiom 5 states that max has no successor.
FA5
~s(max)
e
n
Apart from these two axioms, the other axioms are identical or very similar to those in the Peano's Axioms.
Axioms 1 and 2 are identical. In both cases, 0 is an element of set n.
PA1,
FA1
Set(n)
PA2,
FA2
0
e
n
Compare PA3 and FA4:
PA3
ALL(a):[a
e
n
=>
s(a)
e
n]
FA4
ALL(a):[a
e
n
=>
[~a = max
=>
s(a)
e
n]]
The only difference is highlighted in bold (in FA4). PA3 states that the successor function s is defined on all of n. FA4 states that the successor is defined on all of n but max, which has no successor. In this latter case, we call s a partial function on n, that is, s is defined only on a proper subset of n. Informally, we say that s(a) is undefined for a=max [1].
PA4 and FA6 are identical.
PA4,
FA6
ALL(a):[a
e
n
=>
~s(a)=0]
These two axioms state that 0 is not predecessor.
Compare PA5 and FA7:
PA5 ALL(a):ALL(b):[a e n & b e n => [s(a)=s(b) => a=b]]
FA7 ALL(a):ALL(b):[a e n & b e n & s(a) e n => [s(a)=s(b) => a=b]]
The only difference is highlighted in bold (in FA7). These two axioms state that predecessors are unique.
Compare PA6 and FA8:
PA6
ALL(a):[Set(a)
& ALL(b):[b
e
a
=> b
e
n]
=>
[0
e
a
& ALL(b):[b
e
a
=>
s(b)
e
a]
=>
ALL(b):[b
e
n
=>
b
e
a]]]
FA8
ALL(a):[Set(a)
& ALL(b):[b
e
a
=> b
e
n]
=>
[0
e
a
& ALL(b):[b
e
a
&
s(b)
e
n
=>
s(b)
e
a]
=>
ALL(b):[b
e
n
=>
b
e
a]]]
The only difference is highlighted in bold (in FA8). These two axioms represent the Principal of Mathematical Induction for the infinite set n, and the finite set n respectively. For the inductive step in the case of a finite set n (FA8), we have prove that, in addition to be being an element of a, the successor of b must also be defined. In the case of the infinite set n (PA6), the successor will be defined for all elements of n.
To develop the laws of arithmetic in either system, we must define addition. We can construct (i.e. prove the existence of) the add function using either Peano's Axioms or the axioms of finite arithmetic above, along with the rules and axioms of logic and set theory. From Peano's axioms, we can construct a function + such that:
PA+1
ALL(a):[a
e
n
=>
a+0=a]
PA+2
ALL(a):ALL(b):ALL(c):[a
e
n
&
b
e
n
&
c
e
n
=>
[a+b=c => a+s(b)=s(c)]
From the axioms of finite arithmetic, we can construct a function + such that:
FA+1
ALL(a):[a
e
n
=>
a+0=a]
FA+2
ALL(a):ALL(b):[a
e
n
& b
e
n
& c
e
n
&
s(b)
e n &
s(c)
e n
=>
[a+b=c
=>
a+s(b)=s(c)]
Differences are highlighted in bold (in FA+2). Before we can increment a sum in finite arithmetic, we must determine that the successors actually exist.
See formal proof of the construction of the add function based on the axioms of finite arithmetic (makes using of prefix notation, i.e. add(x,y) = x+y).
1. Other, somewhat less satisfying attempts to develop finite arithmetic have been based on what amounts to changing the specifications by arbitrarily assigning a successor to max, or adding another element to the co-domain to which all unassigned elements of the domain can be mapped.