Constructing the Natural Numbers from the Reals
From the field and order axioms for the real numbers, we show here that there
exists a unique subset n in the set of real numbers such that:
1
n
& ALL(a):[a
n => a+1
n]
& ALL(a):ALL(b):[a
n & b
n & a+1=b+1 => a=b]
& ALL(a):[a
n => ~a+1=1]
& ALL(s):[Set(s)
& ALL(c):[c
s => c
real] & 1
s & ALL(c):[c
s => c+1
s]
=> ALL(a):[a
n => a
s]]
These properties correspond to Peano's Axioms for the natural numbers.
(F5 for overview)
Field Axioms
************
1 Set(real)
& ALL(a):ALL(b):[a
real & b
real => a+b
real]
& ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => a+b+c=a+(b+c)]
& ALL(a):ALL(b):[a
real & b
real => a+b=b+a]
& 0
real
& ALL(a):[a
real => a+0=a]
& ALL(a):[a
real => _a
real]
& ALL(a):[a
real => a+_a=0]
& ALL(a):ALL(b):[a
real & b
real => a*b
real]
& ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => a*b*c=a*(b*c)]
& ALL(a):ALL(b):[a
real & b
real => a*b=b*a]
& ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => a*(b+c)=a*b+a*c]
& 1
real
& ~0=1
& ALL(a):[a
real => a*1=a]
& ALL(a):[a
real & ~a=0 => 1/a
real]
& ALL(a):[a
real => a*(1/a)=1]
Premise
Splitting into individual axioms...
Define: real, the set of real numbers
2 Set(real)
Split, 1
Define: + operator
3 ALL(a):ALL(b):[a
real & b
real => a+b
real]
Split, 1
+ is associative
4 ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => a+b+c=a+(b+c)]
Split, 1
+ is commutative
5 ALL(a):ALL(b):[a
real & b
real => a+b=b+a]
Split, 1
Define: 0
6 0
real
Split, 1
7 ALL(a):[a
real => a+0=a]
Split, 1
Define: _x (additive invervse)
8 ALL(a):[a
real => _a
real]
Split, 1
9 ALL(a):[a
real => a+_a=0]
Split, 1
Define: * operator
10 ALL(a):ALL(b):[a
real & b
real => a*b
real]
Split, 1
* is associative
11 ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => a*b*c=a*(b*c)]
Split, 1
* is commutative
12 ALL(a):ALL(b):[a
real & b
real => a*b=b*a]
Split, 1
* is distributive over +
13 ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => a*(b+c)=a*b+a*c]
Split, 1
Define: 1
14 1
real
Split, 1
15 ~0=1
Split, 1
16 ALL(a):[a
real => a*1=a]
Split, 1
Define: 1/x (multiplicative inverse)
17 ALL(a):[a
real & ~a=0 => 1/a
real]
Split, 1
18 ALL(a):[a
real => a*(1/a)=1]
Split, 1
Order Axioms
************
19 Set(pos)
& ALL(a):[a
pos => a
real]
& ALL(a):[a
real
=> [a=0 | a
pos | _a
pos]
& ~[a=0 & a
pos]
& ~[a=0 & _a
pos]
& ~[a
pos & _a
pos]]
& ALL(a):ALL(b):[a
real & b
real & a
pos & b
pos => a+b
pos]
& ALL(a):ALL(b):[a
real & b
real & a
pos & b
pos => a*b
pos]
& ALL(a):ALL(b):[a
real & b
real => [a<b <=> b+_a
pos]]
& ALL(a):ALL(b):[a
real & b
real => [a<=b <=> a<b | a=b]]
Premise
Splitting into individual axioms...
Define: pos, the set of postive elements of the set real
20 Set(pos)
Split, 19
pos is a subset of real
21 ALL(a):[a
pos => a
real]
Split, 19
The Trichotomy Rule
22 ALL(a):[a
real
=> [a=0 | a
pos | _a
pos]
& ~[a=0 & a
pos]
& ~[a=0 & _a
pos]
& ~[a
pos & _a
pos]]
Split, 19
Adding postive elements
23 ALL(a):ALL(b):[a
real & b
real & a
pos & b
pos => a+b
pos]
Split, 19
Mulitplying postive elements
24 ALL(a):ALL(b):[a
real & b
real & a
pos & b
pos => a*b
pos]
Split, 19
Define: < relation
25 ALL(a):ALL(b):[a
real & b
real => [a<b <=> b+_a
pos]]
Split, 19
Define: <= relation
26 ALL(a):ALL(b):[a
real & b
real => [a<=b <=> a<b | a=b]]
Split, 19
Previously established results
******************************
Lemma 1
27 0<1
Premise
Lemma 2 Additivity of <
28 ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real & a<b => a+c<b+c]
Premise
Lemma 3 Transitivity of <
29 ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real & a<b & b<c => a<c]
Premise
Lemma 4 Right cancellation, and adding same to both sides
30 ALL(a):ALL(b):ALL(c):[a
real & b
real & c
real => [a=b <=> a+c=b+c]]
Premise
Lemma 5
31 _1
real
Premise
Lemma 6
32 _0=0
Premise
Lemma 7 x+1=y => x<y
33 ALL(a):ALL(b):[a
real & b
real & a+1=b => a<b]
Premise
Lemma 8 x<=y <=> ~y<x
34 ALL(a):ALL(b):[a
real & b
real => [a<=b <=> ~b<a]]
Premise
Construct n
Applying the subset axiom...
35 EXIST(n):[Set(n) & ALL(a):[a
n <=> a
real & [0<a
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> a
b]]]]
Subset, 2
Define: n
36 Set(n) & ALL(a):[a
n <=> a
real & [0<a
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> a
b]]]
E Spec, 35
37 Set(n)
Split, 36
38 ALL(a):[a
n <=> a
real & [0<a
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> a
b]]]
Split, 36
Prove: x
n => x
real
Suppose...
39 x
n
Premise
Apply definition of n.
40 x
n <=> x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
U Spec, 38
41 [x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]]
& [x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n]
Iff-And, 40
42 x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Split, 41
43 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n
Split, 41
44 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Detach, 42, 39
45 x
real
Split, 44
As Required:
46 x
n => x
real
Conclusion, 39
n is a subset of the real numbers
47 ALL(a):[a
n => a
real]
U Gen, 46
Prove: 1
n
Apply the definition of n.
48 1
n <=> 1
real & [0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]]
U Spec, 38
49 [1
n => 1
real & [0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]]]
& [1
real & [0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]] => 1
n]
Iff-And, 48
50 1
n => 1
real & [0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]]
Split, 49
Sufficient: For 1
n
51 1
real & [0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]] => 1
n
Split, 49
52 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
Premise
53 Set(sub)
Split, 52
54 ALL(c):[c
sub => c
real]
Split, 52
55 1
sub
Split, 52
56 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
=> 1
sub
Conclusion, 52
57 ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]
U Gen, 56
58 0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]
Join, 27, 57
59 1
real
& [0<1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> 1
b]]
Join, 14, 58
PA1
60 1
n
Detach, 51, 59
Prove: x
n => x+1
n
Suppose...
61 x
n
Premise
Apply definition of n.
62 x
n <=> x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
U Spec, 38
63 [x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]]
& [x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n]
Iff-And, 62
64 x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Split, 63
65 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n
Split, 63
66 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Detach, 64, 61
67 x
real
Split, 66
68 0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]
Split, 66
69 0<x
Split, 68
70 ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]
Split, 68
Apply definition of n.
71 x+1
n <=> x+1
real & [0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]]
U Spec, 38
72 [x+1
n => x+1
real & [0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]]]
& [x+1
real & [0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]] => x+1
n]
Iff-And, 71
73 x+1
n => x+1
real & [0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]]
Split, 72
Sufficient: For x+1
n
Apply the defintion of n.
74 x+1
real & [0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]] => x+1
n
Split, 72
Prove: x+1
real
75 ALL(b):[x
real & b
real => x+b
real]
U Spec, 3
76 x
real & 1
real => x+1
real
U Spec, 75
77 x
real & 1
real
Join, 67, 14
As Required:
78 x+1
real
Detach, 76, 77
Prove: x<x+1
Apply lemma.
79 ALL(b):[x
real & b
real & x+1=b => x<b]
U Spec, 33
80 x
real & x+1
real & x+1=x+1 => x<x+1
U Spec, 79
81 x+1=x+1
Reflex
82 x
real & x+1
real
Join, 67, 78
83 x
real & x+1
real & x+1=x+1
Join, 82, 81
As Required:
84 x<x+1
Detach, 80, 83
Prove: 0<x+1
Apply transitivity of <.
85 ALL(b):ALL(c):[0
real & b
real & c
real & 0<b & b<c => 0<c]
U Spec, 29
86 ALL(c):[0
real & x
real & c
real & 0<x & x<c => 0<c]
U Spec, 85
87 0
real & x
real & x+1
real & 0<x & x<x+1 => 0<x+1
U Spec, 86
88 0
real & x
real
Join, 6, 67
89 0
real & x
real & x+1
real
Join, 88, 78
90 0
real & x
real & x+1
real & 0<x
Join, 89, 69
91 0
real & x
real & x+1
real & 0<x & x<x+1
Join, 90, 84
As Required:
92 0<x+1
Detach, 87, 91
Prove: Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
=> x+1
sub
Suppose...
93 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
Premise
94 Set(sub)
Split, 93
95 ALL(c):[c
sub => c
real]
Split, 93
96 1
sub
Split, 93
97 ALL(c):[c
sub => c+1
sub]
Split, 93
98 x
sub => x+1
sub
U Spec, 97
Since x
n...
99 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
=> x
sub
U Spec, 70
100 x
sub
Detach, 99, 93
101 x+1
sub
Detach, 98, 100
As Required:
102 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
=> x+1
sub
Conclusion, 93
As Required:
Generalizing...
103 ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]
U Gen, 102
104 0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]
Join, 92, 103
105 x+1
real
& [0<x+1
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x+1
b]]
Join, 78, 104
106 x+1
n
Detach, 74, 105
As Required:
107 x
n => x+1
n
Conclusion, 61
PA2
108 ALL(a):[a
n => a+1
n]
U Gen, 107
Prove: x
n & y
n & x+1=y+1 => x=y
Suppose...
109 x
n & y
n & x+1=y+1
Premise
110 x
n
Split, 109
111 y
n
Split, 109
112 x+1=y+1
Split, 109
Prove: x
real
113 x
n => x
real
U Spec, 47
114 x
real
Detach, 113, 110
Prove: y
real
115 y
n => y
real
U Spec, 47
116 y
real
Detach, 115, 111
Apply lemma for adding same to right cancellation.
117 ALL(b):ALL(c):[x
real & b
real & c
real => [x=b <=> x+c=b+c]]
U Spec, 30
118 ALL(c):[x
real & y
real & c
real => [x=y <=> x+c=y+c]]
U Spec, 117
119 x
real & y
real & 1
real => [x=y <=> x+1=y+1]
U Spec, 118
120 x
real & y
real
Join, 114, 116
121 x
real & y
real & 1
real
Join, 120, 14
122 x=y <=> x+1=y+1
Detach, 119, 121
123 [x=y => x+1=y+1] & [x+1=y+1 => x=y]
Iff-And, 122
124 x=y => x+1=y+1
Split, 123
125 x+1=y+1 => x=y
Split, 123
126 x=y
Detach, 125, 112
As Required:
127 x
n & y
n & x+1=y+1 => x=y
Conclusion, 109
Generalizing...
128 ALL(b):[x
n & b
n & x+1=b+1 => x=b]
U Gen, 127
PA3
129 ALL(a):ALL(b):[a
n & b
n & a+1=b+1 => a=b]
U Gen, 128
Prove: x
n => ~x+1=1
Suppose...
130 x
n
Premise
Apply definition of n.
131 x
n <=> x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
U Spec, 38
132 [x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]]
& [x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n]
Iff-And, 131
133 x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Split, 132
134 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n
Split, 132
135 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Detach, 133, 130
136 x
real
Split, 135
137 0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]
Split, 135
Since x
n...
138 0<x
Split, 137
139 ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]
Split, 137
Prove: ~x+1=1
Suppose to the contrary...
140 x+1=1
Premise
Prove: x=0
Add _1 to both sides.
141 ALL(b):ALL(c):[x+1
real & b
real & c
real => [x+1=b <=> x+1+c=b+c]]
U Spec, 30
142 ALL(c):[x+1
real & 1
real & c
real => [x+1=1 <=> x+1+c=1+c]]
U Spec, 141
143 x+1
real & 1
real & _1
real => [x+1=1 <=> x+1+_1=1+_1]
U Spec, 142
Prove: x+1
real
144 ALL(b):[x
real & b
real => x+b
real]
U Spec, 3
145 x
real & 1
real => x+1
real
U Spec, 144
146 x
real & 1
real
Join, 136, 14
As Required:
147 x+1
real
Detach, 145, 146
148 x+1
real & 1
real
Join, 147, 14
149 x+1
real & 1
real & _1
real
Join, 148, 31
150 x+1=1 <=> x+1+_1=1+_1
Detach, 143, 149
151 [x+1=1 => x+1+_1=1+_1] & [x+1+_1=1+_1 => x+1=1]
Iff-And, 150
152 x+1=1 => x+1+_1=1+_1
Split, 151
153 x+1+_1=1+_1 => x+1=1
Split, 151
154 x+1+_1=1+_1
Detach, 152, 140
Apply associative property of +.
155 ALL(b):ALL(c):[x
real & b
real & c
real => x+b+c=x+(b+c)]
U Spec, 4
156 ALL(c):[x
real & 1
real & c
real => x+1+c=x+(1+c)]
U Spec, 155
157 x
real & 1
real & _1
real => x+1+_1=x+(1+_1)
U Spec, 156
158 x
real & 1
real
Join, 136, 14
159 x
real & 1
real & _1
real
Join, 158, 31
160 x+1+_1=x+(1+_1)
Detach, 157, 159
161 x+(1+_1)=1+_1
Substitute, 160, 154
Apply definition of _ operator.
162 1
real => 1+_1=0
U Spec, 9
163 1+_1=0
Detach, 162, 14
164 x+0=0
Substitute, 163, 161
Apply definition of 0.
165 x
real => x+0=x
U Spec, 7
166 x+0=x
Detach, 165, 136
As Required:
167 x=0
Substitute, 166, 164
168 0<0
Substitute, 167, 138
Apply definition of <.
169 ALL(b):[0
real & b
real => [0<b <=> b+_0
pos]]
U Spec, 25
170 0
real & 0
real => [0<0 <=> 0+_0
pos]
U Spec, 169
171 0
real & 0
real
Join, 6, 6
172 [0
real & 0
real => [0<0 <=> 0+_0
pos]]
& [0
real & 0
real]
Join, 170, 171
173 0
real & 0
real => [0<0 <=> 0+_0
pos]
Split, 172
174 0
real & 0
real
Split, 172
175 0<0 <=> 0+_0
pos
Detach, 173, 174
176 [0<0 => 0+_0
pos] & [0+_0
pos => 0<0]
Iff-And, 175
177 0<0 => 0+_0
pos
Split, 176
178 0+_0
pos => 0<0
Split, 176
179 0+_0
pos
Detach, 177, 168
Apply definition of _ operator.
180 0
real => 0+_0=0
U Spec, 9
181 0+_0=0
Detach, 180, 6
182 0
pos
Substitute, 181, 179
Apply trichotomy rule.
183 0
real
=> [0=0 | 0
pos | _0
pos]
& ~[0=0 & 0
pos]
& ~[0=0 & _0
pos]
& ~[0
pos & _0
pos]
U Spec, 22
184 [0=0 | 0
pos | _0
pos]
& ~[0=0 & 0
pos]
& ~[0=0 & _0
pos]
& ~[0
pos & _0
pos]
Detach, 183, 6
185 0=0 | 0
pos | _0
pos
Split, 184
186 ~[0=0 & 0
pos]
Split, 184
187 ~[0=0 & _0
pos]
Split, 184
188 ~[0
pos & _0
pos]
Split, 184
189 0=0
Reflex
190 0=0 & 0
pos
Join, 189, 182
Obtain the contradiction...
191 0=0 & 0
pos & ~[0=0 & 0
pos]
Join, 190, 186
As Required:
By contradiction...
192 ~x+1=1
Conclusion, 140
193 x
n => ~x+1=1
Conclusion, 130
PA4
194 ALL(a):[a
n => ~a+1=1]
U Gen, 193
195 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
Premise
196 Set(sub)
Split, 195
197 ALL(c):[c
sub => c
real]
Split, 195
198 1
sub
Split, 195
199 ALL(c):[c
sub => c+1
sub]
Split, 195
Prove: x
n => x
sub
Suppose...
200 x
n
Premise
201 x
n <=> x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
U Spec, 38
202 [x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]]
& [x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n]
Iff-And, 201
203 x
n => x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Split, 202
204 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]] => x
n
Split, 202
205 x
real & [0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]]
Detach, 203, 200
206 x
real
Split, 205
207 0<x
& ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]
Split, 205
208 0<x
Split, 207
209 ALL(b):[Set(b)
& ALL(c):[c
b => c
real]
& 1
b
& ALL(c):[c
b => c+1
b]
=> x
b]
Split, 207
210 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
=> x
sub
U Spec, 209
211 x
sub
Detach, 210, 195
As Required:
212 x
n => x
sub
Conclusion, 200
213 ALL(a):[a
n => a
sub]
U Gen, 212
214 Set(sub)
& ALL(c):[c
sub => c
real]
& 1
sub
& ALL(c):[c
sub => c+1
sub]
=> ALL(a):[a
n => a
sub]
Conclusion, 195
PA5
215 ALL(s):[Set(s)
& ALL(c):[c
s => c
real]
& 1
s
& ALL(c):[c
s => c+1
s]
=> ALL(a):[a
n => a
s]]
U Gen, 214
216 Set(n) & ALL(a):[a
n => a
real]
Join, 37, 47
217 Set(n) & ALL(a):[a
n => a
real] & 1
n
Join, 216, 60
218 Set(n) & ALL(a):[a
n => a
real] & 1
n
& ALL(a):[a
n => a+1
n]
Join, 217, 108
219 Set(n) & ALL(a):[a
n => a
real] & 1
n
& ALL(a):[a
n => a+1
n]
& ALL(a):ALL(b):[a
n & b
n & a+1=b+1 => a=b]
Join, 218, 129
220 Set(n) & ALL(a):[a
n => a
real] & 1
n
& ALL(a):[a
n => a+1
n]
& ALL(a):ALL(b):[a
n & b
n & a+1=b+1 => a=b]
& ALL(a):[a
n => ~a+1=1]
Join, 219, 194
We have...
221 Set(n) & ALL(a):[a
n => a
real] & 1
n
& ALL(a):[a
n => a+1
n]
& ALL(a):ALL(b):[a
n & b
n & a+1=b+1 => a=b]
& ALL(a):[a
n => ~a+1=1]
& ALL(s):[Set(s)
& ALL(c):[c
s => c
real]
& 1
s
& ALL(c):[c
s => c+1
s]
=> ALL(a):[a
n => a
s]]
Join, 220, 215
222 EXIST(nat):[Set(nat) & ALL(a):[a
nat => a
real] & 1
nat
& ALL(a):[a
nat => a+1
nat]
& ALL(a):ALL(b):[a
nat & b
nat & a+1=b+1 => a=b]
& ALL(a):[a
nat => ~a+1=1]
& ALL(s):[Set(s)
& ALL(c):[c
s => c
real]
& 1
s
& ALL(c):[c
s => c+1
s]
=> ALL(a):[a
nat => a
s]]]
E Gen, 221
Prove: n is unique.
Suppose we have n' such that...
223 Set(n')
& ALL(a):[a
n' => a
real]
& 1
n'
& ALL(a):[a
n' => a+1
n']
& ALL(a):ALL(b):[a
n' & b
n' & a+1=b+1 => a=b]
& ALL(a):[a
n' => ~a+1=1]
& ALL(s):[Set(s)
& ALL(c):[c
s => c
real]
& 1
s
& ALL(c):[c
s => c+1
s]
=> ALL(a):[a
n' => a
s]]
Premise
Splitting...
224 Set(n')
Split, 223
225 ALL(a):[a
n' => a
real]
Split, 223
226 1
n'
Split, 223
227 ALL(a):[a
n' => a+1
n']
Split, 223
228 ALL(a):ALL(b):[a
n' & b
n' & a+1=b+1 => a=b]
Split, 223
229 ALL(a):[a
n' => ~a+1=1]
Split, 223
230 ALL(s):[Set(s)
& ALL(c):[c
s => c
real]
& 1
s
& ALL(c):[c
s => c+1
s]
=> ALL(a):[a
n' => a
s]]
Split, 223
Apply Set Equality axiom.
231 ALL(a):ALL(b):[Set(a) & Set(b) => [a=b <=> ALL(c):[c
a <=> c
b]]]
Set Equality
232 ALL(b):[Set(n) & Set(b) => [n=b <=> ALL(c):[c
n <=> c
b]]]
U Spec, 231
233 Set(n) & Set(n') => [n=n' <=> ALL(c):[c
n <=> c
n']]
U Spec, 232
234 Set(n) & Set(n')
Join, 37, 224
235 n=n' <=> ALL(c):[c
n <=> c
n']
Detach, 233, 234
236 [n=n' => ALL(c):[c
n <=> c
n']]
& [ALL(c):[c
n <=> c
n'] => n=n']
Iff-And, 235
237 n=n' => ALL(c):[c
n <=> c
n']
Split, 236
Sufficient: For n=n'
238 ALL(c):[c
n <=> c
n'] => n=n'
Split, 236
Sufficient: For ALL(a):[a
n => a
n']
Applying the principle of mathematical induction in n...
239 Set(n')
& ALL(c):[c
n' => c
real]
& 1
n'
& ALL(c):[c
n' => c+1
n']
=> ALL(a):[a
n => a
n']
U Spec, 215
240 Set(n') & ALL(a):[a
n' => a
real]
Join, 224, 225
241 Set(n') & ALL(a):[a
n' => a
real] & 1
n'
Join, 240, 226
242 Set(n') & ALL(a):[a
n' => a
real] & 1
n'
& ALL(a):[a
n' => a+1
n']
Join, 241, 227
243 ALL(a):[a
n => a
n']
Detach, 239, 242
244 Set(n)
& ALL(c):[c
n => c
real]
& 1
n
& ALL(c):[c
n => c+1
n]
=> ALL(a):[a
n' => a
n]
U Spec, 230
245 Set(n) & ALL(a):[a
n => a
real]
Join, 37, 47
246 Set(n) & ALL(a):[a
n => a
real] & 1
n
Join, 245, 60
247 Set(n) & ALL(a):[a
n => a
real] & 1
n
& ALL(a):[a
n => a+1
n]
Join, 246, 108
248 ALL(a):[a
n' => a
n]
Detach, 244, 247
249 x
n => x
n'
U Spec, 243
250 x
n' => x
n
U Spec, 248
251 [x
n => x
n'] & [x
n' => x
n]
Join, 249, 250
252 x
n <=> x
n'
Iff-And, 251
253 ALL(a):[a
n <=> a
n']
U Gen, 252
As Required:
254 n=n'
Detach, 238, 253