LEMMA 3
*******
ALL(x1):ALL(x2):[x1
e n & x2 e n
=> ALL(exp):ALL(exp'):[ALL(a):ALL(b):[a e n & b e n => exp(a,b) e n]
& exp(0,0)=x1
& ALL(a):[a
e n => [~a=0 => exp(a,0)=1]]
& ALL(a):ALL(b):[a
e n & b e n => exp(a,b+1)=exp(a,b)*a]
& ALL(a):ALL(b):[a
e n & b e n => exp'(a,b) e n]
& exp'(0,0)=x2
& ALL(a):[a
e n => [~a=0 => exp'(a,0)=1]]
& ALL(a):ALL(b):[a
e n & b e n => exp'(a,b+1)=exp'(a,b)*a]
=> ALL(a):ALL(b):[a
e n & b e n =>
[~[a=0 & b=0] => exp(a,b)=exp'(a,b)]]]]
This formal, machine-verified
proof was written with the aid of the author's DC Proof 2.0 freeware available
at http://www.dcproof.com
AXIOMS USED
***********
1 Set(n)
Axiom
2 0 e n
Axiom
Induction Axiom
3 ALL(a):[Set(a) & ALL(b):[b e a => b e n]
=>
[0 e a & ALL(b):[b e a => b+1 e a]
=>
ALL(b):[b e n => b e a]]]
Axiom
4 1 e n
Axiom
5 ALL(a):ALL(b):[a e n & b e n => a+b e n]
Axiom
6 ALL(a):ALL(b):[a e n & b e n => a*b e n]
Axiom
7 ALL(a):[a e n => a*0=0]
Axiom
PROOF
*****
Suppose...
8 x1 e n & x2 e n
Premise
9 x1 e n
Split, 8
10 x2 e n
Split, 8
Suppose...
11 ALL(a):ALL(b):[a e n & b e n => exp(a,b) e n]
&
exp(0,0)=x1
&
ALL(a):[a e n => [~a=0 => exp(a,0)=1]]
&
ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]
&
ALL(a):ALL(b):[a e n & b e n => exp'(a,b) e n]
&
exp'(0,0)=x2
&
ALL(a):[a e n => [~a=0 => exp'(a,0)=1]]
&
ALL(a):ALL(b):[a e n & b e n => exp'(a,b+1)=exp'(a,b)*a]
Premise
Define: exp
12 ALL(a):ALL(b):[a e n & b e n => exp(a,b) e n]
Split, 11
13 exp(0,0)=x1
Split, 11
14 ALL(a):[a e n => [~a=0 => exp(a,0)=1]]
Split, 11
15 ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]
Split, 11
Define: exp'
16 ALL(a):ALL(b):[a e n & b e n => exp'(a,b) e n]
Split, 11
17 exp'(0,0)=x2
Split, 11
18 ALL(a):[a e n => [~a=0 => exp'(a,0)=1]]
Split, 11
19 ALL(a):ALL(b):[a e n & b e n => exp'(a,b+1)=exp'(a,b)*a]
Split, 11
Prove: ALL(a):ALL(b):[a e n & b e n =>
[~[a=0 & b=0] => exp(a,b)=exp'(a,b)]]
Suppose...
20 x e n & y e n
Premise
21 x e n
Split, 20
22 y e n
Split, 20
Prove: ~[x=0 & y=0]
=> exp(x,y)=exp'(x,y)
Suppose...
23 ~[x=0 & y=0]
Premise
24 ~~[x=0 => ~y=0]
Imply-And, 23
25 x=0 => ~y=0
Rem DNeg, 24
Two cases:
26 x=0 | ~x=0
Or Not
Case 1
Prove: x=0 => exp(x,y)=exp'(x,y)
Suppose...
27 x=0
Premise
28 ~y=0
Detach, 25, 27
Prove By Induction: ALL(a):[a
e n => [~a=0 => exp(0,a)=0]]
Apply Subset Axiom
29 EXIST(sub):[Set(sub) & ALL(b):[b e sub <=> b e n & [~b=0 => exp(0,b)=0]]]
Subset, 1
30 Set(p) & ALL(b):[b e p <=> b e n & [~b=0 => exp(0,b)=0]]
E Spec, 29
Define: p
31 Set(p)
Split, 30
32 ALL(b):[b e p <=> b e n & [~b=0 => exp(0,b)=0]]
Split, 30
Apply Induction Axiom for set p
33 Set(p) & ALL(b):[b e p => b e n]
=>
[0 e p & ALL(b):[b e p => b+1 e p]
=>
ALL(b):[b e n => b e p]]
U Spec, 3
Prove: ALL(b):[b e p => b e n]
Suppose...
34 t e p
Premise
35 t e p <=> t e n & [~t=0 => exp(0,t)=0]
U Spec, 32
36 [t e p => t e n & [~t=0 => exp(0,t)=0]]
&
[t e n & [~t=0 => exp(0,t)=0] => t e p]
Iff-And, 35
37 t e p => t e n & [~t=0 => exp(0,t)=0]
Split, 36
38 t e n & [~t=0 => exp(0,t)=0] => t e p
Split, 36
39 t e n & [~t=0 => exp(0,t)=0]
Detach, 37, 34
40 t e n
Split, 39
As Required:
41 ALL(b):[b e p => b e n]
4 Conclusion, 34
42 Set(p) & ALL(b):[b e p => b e n]
Join, 31, 41
Sufficient: For ALL(b):[b
e n => b e p]
43 0 e p & ALL(b):[b e p => b+1 e p]
=>
ALL(b):[b e n => b e p]
Detach, 33, 42
Prove: 0ep (Base Case)
44 0 e p <=> 0 e n & [~0=0 => exp(0,0)=0]
U Spec, 32
45 [0 e p => 0 e n & [~0=0 => exp(0,0)=0]]
&
[0 e n & [~0=0 => exp(0,0)=0] => 0 e p]
Iff-And, 44
46 0 e p => 0 e n & [~0=0 => exp(0,0)=0]
Split, 45
47 0 e n & [~0=0 => exp(0,0)=0] => 0 e p
Split, 45
Prove: ~0=0 => exp(0,0)=0
Suppose...
48 ~0=0
Premise
49 0=0
Reflex
50 ~0=0 => exp(0,0)=0
Arb Cons, 49
51 exp(0,0)=0
Detach, 50, 48
As
Required:
52 ~0=0 => exp(0,0)=0
4 Conclusion, 48
53 0 e n & [~0=0 => exp(0,0)=0]
Join, 2, 52
As Required:
54 0 e p
Detach, 47, 53
Prove: ALL(b):[b e p => b+1 e p] (Inductive Step)
Suppose...
55 t e p
Premise
56 t e p <=> t e n & [~t=0 => exp(0,t)=0]
U Spec, 32
57 [t e p => t e n & [~t=0 => exp(0,t)=0]]
&
[t e n & [~t=0 => exp(0,t)=0] => t e p]
Iff-And, 56
58 t e p => t e n & [~t=0 => exp(0,t)=0]
Split, 57
59 t e n & [~t=0 => exp(0,t)=0] => t e p
Split, 57
60 t e n & [~t=0 => exp(0,t)=0]
Detach, 58, 55
61 t e n
Split, 60
62 ~t=0 => exp(0,t)=0
Split, 60
63 ~~t=0 | exp(0,t)=0
Imply-Or, 62
Two Sub-Cases:
64 t=0 | exp(0,t)=0
Rem DNeg, 63
65 t+1 e p <=> t+1 e n & [~t+1=0 => exp(0,t+1)=0]
U Spec, 32
66 [t+1 e p => t+1 e n & [~t+1=0 => exp(0,t+1)=0]]
&
[t+1 e n & [~t+1=0 => exp(0,t+1)=0] => t+1 e p]
Iff-And, 65
67 t+1 e p => t+1 e n & [~t+1=0 => exp(0,t+1)=0]
Split, 66
68 t+1 e n & [~t+1=0 => exp(0,t+1)=0] => t+1 e p
Split, 66
69 t+1 e n & [~~t+1=0 | exp(0,t+1)=0] => t+1 e p
Imply-Or, 68
Sufficient:
70 t+1 e n & [t+1=0 | exp(0,t+1)=0] => t+1 e p
Rem DNeg, 69
Sub-Case 1
Prove: t=0 => t+1 e p
Suppose...
71 t=0
Premise
72 ALL(b):[t e n & b e n => t+b e n]
U Spec, 5
73 t e n & 1 e n => t+1 e n
U Spec, 72
74 t e n & 1 e n
Join, 61, 4
75 t+1 e n
Detach, 73, 74
76 ALL(b):[0 e n & b e n => exp(0,b+1)=exp(0,b)*0]
U Spec, 15
77 0 e n & 0 e n => exp(0,0+1)=exp(0,0)*0
U Spec, 76
78 0 e n & 0 e n
Join, 2, 2
79 exp(0,0+1)=exp(0,0)*0
Detach, 77, 78
80 exp(0,0+1)=x1*0
Substitute, 13,
79
81 x1 e n => x1*0=0
U Spec, 7
82 x1*0=0
Detach, 81, 9
83 exp(0,0+1)=0
Substitute, 82,
80
84 exp(0,t+1)=0
Substitute, 71,
83
85 t+1=0 | exp(0,t+1)=0
Arb Or, 84
86 t+1 e n & [t+1=0 | exp(0,t+1)=0]
Join, 75, 85
87 t+1 e p
Detach, 70, 86
Sub-Case 1
As Required:
88 t=0 => t+1 e p
4 Conclusion, 71
Sub-Case 2
Prove: exp(0,t)=0 => t+1 e p
Suppose...
89 exp(0,t)=0
Premise
90 ALL(b):[t e n & b e n => t+b e n]
U Spec, 5
91 t e n & 1 e n => t+1 e n
U Spec, 90
92 t e n & 1 e n
Join, 61, 4
93 t+1 e n
Detach, 91, 92
94 ALL(b):[0 e n & b e n => exp(0,b+1)=exp(0,b)*0]
U Spec, 15
95 0 e n & t e n => exp(0,t+1)=exp(0,t)*0
U Spec, 94
96 0 e n & t e n
Join, 2, 61
97 exp(0,t+1)=exp(0,t)*0
Detach, 95, 96
98 exp(0,t+1)=0*0
Substitute, 89,
97
99 0 e n => 0*0=0
U Spec, 7
100 0*0=0
Detach, 99, 2
101 exp(0,t+1)=0
Substitute, 100,
98
102 t+1=0 | exp(0,t+1)=0
Arb Or, 101
103 t+1 e n & [t+1=0 | exp(0,t+1)=0]
Join, 93, 102
104 t+1 e p
Detach, 70, 103
Sub-Case 2
As Required:
105 exp(0,t)=0 => t+1 e p
4 Conclusion, 89
106 [t=0 => t+1 e p] & [exp(0,t)=0 => t+1 e p]
Join, 88, 105
107 t+1 e p
Cases, 64, 106
As Required:
108 ALL(b):[b e p => b+1 e p]
4 Conclusion, 55
109 0 e p & ALL(b):[b e p => b+1 e p]
Join, 54, 108
As Required:
110 ALL(b):[b e n => b e p]
Detach, 43, 109
Prove: ALL(a):[a e n => [~a=0 => exp(0,a)=0]]
Suppose...
111 t e n
Premise
112 t e n => t e p
U Spec, 110
113 t e p
Detach, 112, 111
114 t e p <=> t e n & [~t=0 => exp(0,t)=0]
U Spec, 32
115 [t e p => t e n & [~t=0 => exp(0,t)=0]]
&
[t e n & [~t=0 => exp(0,t)=0] => t e p]
Iff-And, 114
116 t e p => t e n & [~t=0 => exp(0,t)=0]
Split, 115
117 t e n & [~t=0 => exp(0,t)=0] => t e p
Split, 115
118 t e n & [~t=0 => exp(0,t)=0]
Detach, 116, 113
119 t e n
Split, 118
120 ~t=0 => exp(0,t)=0
Split, 118
As Required:
121 ALL(a):[a e n => [~a=0 => exp(0,a)=0]]
4 Conclusion, 111
122 y e n => [~y=0 => exp(0,y)=0]
U Spec, 121
123 ~y=0 => exp(0,y)=0
Detach, 122, 22
124 exp(0,y)=0
Detach, 123, 28
125 exp(x,y)=0
Substitute, 27,
124
126 EXIST(sub):[Set(sub) & ALL(b):[b e sub <=> b e n & [~b=0 => exp'(0,b)=0]]]
Subset, 1
127 Set(p2) & ALL(b):[b e p2 <=> b e n & [~b=0 => exp'(0,b)=0]]
E Spec, 126
Define: p2
128 Set(p2)
Split, 127
129 ALL(b):[b e p2 <=> b e n & [~b=0 => exp'(0,b)=0]]
Split, 127
130 Set(p2) & ALL(b):[b e p2 => b e n]
=>
[0 e p2 & ALL(b):[b e p2 => b+1 e p2]
=>
ALL(b):[b e n => b e p2]]
U Spec, 3
Prove: ALL(b):[b e p2 => b e n]
Suppose...
131 t e p2
Premise
132 t e p2 <=> t e n & [~t=0 => exp'(0,t)=0]
U Spec, 129
133 [t e p2 => t e n & [~t=0 => exp'(0,t)=0]]
&
[t e n & [~t=0 => exp'(0,t)=0] => t e p2]
Iff-And, 132
134 t e p2 => t e n & [~t=0 => exp'(0,t)=0]
Split, 133
135 t e n & [~t=0 => exp'(0,t)=0] => t e p2
Split, 133
136 t e n & [~t=0 => exp'(0,t)=0]
Detach, 134, 131
137 t e n
Split, 136
As Required:
138 ALL(b):[b e p2 => b e n]
4 Conclusion, 131
139 Set(p2) & ALL(b):[b e p2 => b e n]
Join, 128, 138
Sufficient:
140 0 e p2 & ALL(b):[b e p2 => b+1 e p2]
=>
ALL(b):[b e n => b e p2]
Detach, 130, 139
141 0 e p2 <=> 0 e n & [~0=0 => exp'(0,0)=0]
U Spec, 129
142 [0 e p2 => 0 e n & [~0=0 => exp'(0,0)=0]]
&
[0 e n & [~0=0 => exp'(0,0)=0] => 0 e p2]
Iff-And, 141
143 0 e p2 => 0 e n & [~0=0 => exp'(0,0)=0]
Split, 142
144 0 e n & [~0=0 => exp'(0,0)=0] => 0 e p2
Split, 142
Prove: ~0=0 => exp'(0,0)=0
Suppose...
145 ~0=0
Premise
146 0=0
Reflex
147 ~0=0 => exp'(0,0)=0
Arb Cons, 146
148 exp'(0,0)=0
Detach, 147, 145
As Required:
149 ~0=0 => exp'(0,0)=0
4 Conclusion, 145
150 0 e n & [~0=0 => exp'(0,0)=0]
Join, 2, 149
As Required:
151 0 e p2
Detach, 144, 150
Prove: ALL(t):[t e p2 => t+1 e p2]
Suppose...
152 t e p2
Premise
153 t e p2 <=> t e n & [~t=0 => exp'(0,t)=0]
U Spec, 129
154 [t e p2 => t e n & [~t=0 => exp'(0,t)=0]]
&
[t e n & [~t=0 => exp'(0,t)=0] => t e p2]
Iff-And, 153
155 t e p2 => t e n & [~t=0 => exp'(0,t)=0]
Split, 154
156 t e n & [~t=0 => exp'(0,t)=0] => t e p2
Split, 154
157 t e n & [~t=0 => exp'(0,t)=0]
Detach, 155, 152
158 t e n
Split, 157
159 ~t=0 => exp'(0,t)=0
Split, 157
160 ~~t=0 | exp'(0,t)=0
Imply-Or, 159
Two Sub-Cases:
161 t=0 | exp'(0,t)=0
Rem DNeg, 160
162 t+1 e p2 <=> t+1 e n & [~t+1=0 => exp'(0,t+1)=0]
U Spec, 129
163 [t+1 e p2 => t+1 e n & [~t+1=0 => exp'(0,t+1)=0]]
&
[t+1 e n & [~t+1=0 => exp'(0,t+1)=0] => t+1 e p2]
Iff-And, 162
164 t+1 e p2 => t+1 e n & [~t+1=0 => exp'(0,t+1)=0]
Split, 163
165 t+1 e n & [~t+1=0 => exp'(0,t+1)=0] => t+1 e p2
Split, 163
166 t+1 e n & [~~t+1=0 | exp'(0,t+1)=0] => t+1 e p2
Imply-Or, 165
Sufficient: t+1 e p2
167 t+1 e n & [t+1=0 | exp'(0,t+1)=0] => t+1 e p2
Rem DNeg, 166
Sub-Case 1
168 t=0
Premise
169 ALL(b):[t e n & b e n => t+b e n]
U Spec, 5
170 t e n & 1 e n => t+1 e n
U Spec, 169
171 t e n & 1 e n
Join, 158, 4
172 t+1 e n
Detach, 170, 171
173 ALL(b):[0 e n & b e n => exp'(0,b+1)=exp'(0,b)*0]
U Spec, 19
174 0 e n & 0 e n => exp'(0,0+1)=exp'(0,0)*0
U Spec, 173
175 0 e n & 0 e n
Join, 2, 2
176 exp'(0,0+1)=exp'(0,0)*0
Detach, 174, 175
177 exp'(0,0+1)=x2*0
Substitute, 17,
176
178 x2 e n => x2*0=0
U Spec, 7
179 x2*0=0
Detach, 178, 10
180 exp'(0,0+1)=0
Substitute, 179,
177
181 exp'(0,t+1)=0
Substitute, 168,
180
182 t+1=0 | exp'(0,t+1)=0
Arb Or, 181
183 t+1 e n & [t+1=0 | exp'(0,t+1)=0]
Join, 172, 182
184 t+1 e p2
Detach, 167, 183
Sub-Case 1
As Required:
185 t=0 => t+1 e p2
4 Conclusion, 168
Sub-Case 2
Suppose...
186 exp'(0,t)=0
Premise
187 ALL(b):[t e n & b e n => t+b e n]
U Spec, 5
188 t e n & 1 e n => t+1 e n
U Spec, 187
189 t e n & 1 e n
Join, 158, 4
190 t+1 e n
Detach, 188, 189
191 ALL(b):[0 e n & b e n => exp'(0,b+1)=exp'(0,b)*0]
U Spec, 19
192 0 e n & t e n => exp'(0,t+1)=exp'(0,t)*0
U Spec, 191
193 0 e n & t e n
Join, 2, 158
194 exp'(0,t+1)=exp'(0,t)*0
Detach, 192, 193
195 exp'(0,t+1)=0*0
Substitute, 186,
194
196 0 e n => 0*0=0
U Spec, 7
197 0*0=0
Detach, 196, 2
198 exp'(0,t+1)=0
Substitute, 197,
195
199 t+1=0 | exp'(0,t+1)=0
Arb Or, 198
200 t+1 e n & [t+1=0 | exp'(0,t+1)=0]
Join, 190, 199
201 t+1 e p2
Detach, 167, 200
Sub-Case 2
As Required:
202 exp'(0,t)=0 => t+1 e p2
4 Conclusion, 186
203 [t=0 => t+1 e p2] & [exp'(0,t)=0 => t+1 e p2]
Join, 185, 202
204 t+1 e p2
Cases, 161, 203
As Required:
205 ALL(t):[t e p2 => t+1 e p2]
4 Conclusion, 152
206 0 e p2 & ALL(t):[t e p2 => t+1 e p2]
Join, 151, 205
As Required:
207 ALL(b):[b e n => b e p2]
Detach, 140, 206
Prove: ALL(a):[a e n => [~a=0 => exp'(0,a)=0]]
Suppose...
208 t e n
Premise
209 t e n => t e p2
U Spec, 207
210 t e p2
Detach, 209, 208
211 t e p2 <=> t e n & [~t=0 => exp'(0,t)=0]
U Spec, 129
212 [t e p2 => t e n & [~t=0 => exp'(0,t)=0]]
&
[t e n & [~t=0 => exp'(0,t)=0] => t e p2]
Iff-And, 211
213 t e p2 => t e n & [~t=0 => exp'(0,t)=0]
Split, 212
214 t e n & [~t=0 => exp'(0,t)=0] => t e p2
Split, 212
215 t e n & [~t=0 => exp'(0,t)=0]
Detach, 213, 210
216 t e n
Split, 215
217 ~t=0 => exp'(0,t)=0
Split, 215
As Required:
218 ALL(a):[a e n => [~a=0 => exp'(0,a)=0]]
4 Conclusion, 208
219 y e n => [~y=0 => exp'(0,y)=0]
U Spec, 218
220 ~y=0 => exp'(0,y)=0
Detach, 219, 22
221 exp'(0,y)=0
Detach, 220, 28
222 exp'(x,y)=0
Substitute, 27,
221
223 exp(x,y)=exp'(x,y)
Substitute, 222,
125
Case 1
As Required:
224 x=0 => exp(x,y)=exp'(x,y)
4 Conclusion, 27
Case 2
225 ~x=0
Premise
226 EXIST(sub):[Set(sub) & ALL(b):[b e sub <=> b e n & exp(x,b)=exp'(x,b)]]
Subset, 1
227 Set(p3) & ALL(b):[b e p3 <=> b e n & exp(x,b)=exp'(x,b)]
E Spec, 226
Define: p3
228 Set(p3)
Split, 227
229 ALL(b):[b e p3 <=> b e n & exp(x,b)=exp'(x,b)]
Split, 227
230 Set(p3) & ALL(b):[b e p3 => b e n]
=>
[0 e p3 & ALL(b):[b e p3 => b+1 e p3]
=>
ALL(b):[b e n => b e p3]]
U Spec, 3
Prove: ALL(b):[b e p3 => b e n]
Suppose...
231 t e p3
Premise
232 t e p3 <=> t e n & exp(x,t)=exp'(x,t)
U Spec, 229
233 [t e p3 => t e n & exp(x,t)=exp'(x,t)]
&
[t e n & exp(x,t)=exp'(x,t) => t e p3]
Iff-And, 232
234 t e p3 => t e n & exp(x,t)=exp'(x,t)
Split, 233
235 t e n & exp(x,t)=exp'(x,t) => t e p3
Split, 233
236 t e n & exp(x,t)=exp'(x,t)
Detach, 234, 231
237 t e n
Split, 236
As Required:
238 ALL(b):[b e p3 => b e n]
4 Conclusion, 231
239 Set(p3) & ALL(b):[b e p3 => b e n]
Join, 228, 238
Sufficient:
240 0 e p3 & ALL(b):[b e p3 => b+1 e p3]
=>
ALL(b):[b e n => b e p3]
Detach, 230, 239
241 0 e p3 <=> 0 e n & exp(x,0)=exp'(x,0)
U Spec, 229
242 [0 e p3 => 0 e n & exp(x,0)=exp'(x,0)]
&
[0 e n & exp(x,0)=exp'(x,0) => 0 e p3]
Iff-And, 241
243 0 e p3 => 0 e n & exp(x,0)=exp'(x,0)
Split, 242
Sufficient:
244 0 e n & exp(x,0)=exp'(x,0) => 0 e p3
Split, 242
245 x e n => [~x=0 => exp(x,0)=1]
U Spec, 14
246 ~x=0 => exp(x,0)=1
Detach, 245, 21
247 exp(x,0)=1
Detach, 246, 225
248 x e n => [~x=0 => exp'(x,0)=1]
U Spec, 18
249 ~x=0 => exp'(x,0)=1
Detach, 248, 21
250 exp'(x,0)=1
Detach, 249, 225
251 exp(x,0)=exp'(x,0)
Substitute, 250,
247
252 0 e n & exp(x,0)=exp'(x,0)
Join, 2, 251
As Required:
253 0 e p3
Detach, 244, 252
Prove: ALL(b):[b e p3 => b+1 e p3]
Suppose...
254 t e p3
Premise
255 t e p3 <=> t e n & exp(x,t)=exp'(x,t)
U Spec, 229
256 [t e p3 => t e n & exp(x,t)=exp'(x,t)]
&
[t e n & exp(x,t)=exp'(x,t) => t e p3]
Iff-And, 255
257 t e p3 => t e n & exp(x,t)=exp'(x,t)
Split, 256
258 t e n & exp(x,t)=exp'(x,t) => t e p3
Split, 256
259 t e n & exp(x,t)=exp'(x,t)
Detach, 257, 254
260 t e n
Split, 259
261 exp(x,t)=exp'(x,t)
Split, 259
262 t+1 e p3 <=> t+1 e n & exp(x,t+1)=exp'(x,t+1)
U Spec, 229
263 [t+1 e p3 => t+1 e n & exp(x,t+1)=exp'(x,t+1)]
&
[t+1 e n & exp(x,t+1)=exp'(x,t+1) => t+1 e p3]
Iff-And, 262
264 t+1 e p3 => t+1 e n & exp(x,t+1)=exp'(x,t+1)
Split, 263
Sufficient:
265 t+1 e n & exp(x,t+1)=exp'(x,t+1) => t+1 e p3
Split, 263
266 ALL(b):[t e n & b e n => t+b e n]
U Spec, 5
267 t e n & 1 e n => t+1 e n
U Spec, 266
268 t e n & 1 e n
Join, 260, 4
269 t+1 e n
Detach, 267, 268
270 ALL(b):[x e n & b e n => exp(x,b+1)=exp(x,b)*x]
U Spec, 15
271 x e n & t e n => exp(x,t+1)=exp(x,t)*x
U Spec, 270
272 x e n & t e n
Join, 21, 260
273 exp(x,t+1)=exp(x,t)*x
Detach, 271, 272
274 exp(x,t+1)=exp'(x,t)*x
Substitute, 261,
273
275 exp(x,t)*x=exp'(x,t)*x
Substitute, 273,
274
276 ALL(b):[x e n & b e n => exp(x,b+1)=exp(x,b)*x]
U Spec, 15
277 x e n & t e n => exp(x,t+1)=exp(x,t)*x
U Spec, 276
278 x e n & t e n
Join, 21, 260
279 exp(x,t+1)=exp(x,t)*x
Detach, 277, 278
280 ALL(b):[x e n & b e n => exp'(x,b+1)=exp'(x,b)*x]
U Spec, 19
281 x e n & t e n => exp'(x,t+1)=exp'(x,t)*x
U Spec, 280
282 exp'(x,t+1)=exp'(x,t)*x
Detach, 281, 278
283 exp'(x,t+1)=exp(x,t)*x
Substitute, 261,
282
284 exp(x,t+1)=exp'(x,t+1)
Substitute, 283,
279
285 t+1 e n & exp(x,t+1)=exp'(x,t+1)
Join, 269, 284
286 t+1 e p3
Detach, 265, 285
As Required:
287 ALL(b):[b e p3 => b+1 e p3]
4 Conclusion, 254
288 0 e p3 & ALL(b):[b e p3 => b+1 e p3]
Join, 253, 287
289 ALL(b):[b e n => b e p3]
Detach, 240, 288
290 y e n => y e p3
U Spec, 289
291 y e p3
Detach, 290, 22
292 y e p3 <=> y e n & exp(x,y)=exp'(x,y)
U Spec, 229
293 [y e p3 => y e n & exp(x,y)=exp'(x,y)]
&
[y e n & exp(x,y)=exp'(x,y) => y e p3]
Iff-And, 292
294 y e p3 => y e n & exp(x,y)=exp'(x,y)
Split, 293
295 y e n & exp(x,y)=exp'(x,y) => y e p3
Split, 293
296 y e n & exp(x,y)=exp'(x,y)
Detach, 294, 291
297 y e n
Split, 296
298 exp(x,y)=exp'(x,y)
Split, 296
Case 2
As Required:
299 ~x=0 => exp(x,y)=exp'(x,y)
4 Conclusion, 225
300 [x=0 => exp(x,y)=exp'(x,y)]
&
[~x=0 => exp(x,y)=exp'(x,y)]
Join, 224, 299
301 exp(x,y)=exp'(x,y)
Cases, 26, 300
As Required:
302 ~[x=0 & y=0] => exp(x,y)=exp'(x,y)
4 Conclusion, 23
As Required:
303 ALL(a):ALL(b):[a e n & b e n => [~[a=0 & b=0] => exp(a,b)=exp'(a,b)]]
4 Conclusion, 20
As Required:
304 ALL(exp):ALL(exp'):[ALL(a):ALL(b):[a e n & b e n => exp(a,b) e n]
&
exp(0,0)=x1
&
ALL(a):[a e n => [~a=0 => exp(a,0)=1]]
&
ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]
&
ALL(a):ALL(b):[a e n & b e n => exp'(a,b) e n]
&
exp'(0,0)=x2
&
ALL(a):[a e n => [~a=0 => exp'(a,0)=1]]
&
ALL(a):ALL(b):[a e n & b e n => exp'(a,b+1)=exp'(a,b)*a]
=>
ALL(a):ALL(b):[a e n & b e n => [~[a=0 & b=0] => exp(a,b)=exp'(a,b)]]]
4 Conclusion, 11
As Required:
305 ALL(x1):ALL(x2):[x1 e n & x2 e n
=>
ALL(exp):ALL(exp'):[ALL(a):ALL(b):[a e n & b e n => exp(a,b) e n]
&
exp(0,0)=x1
&
ALL(a):[a e n => [~a=0 => exp(a,0)=1]]
&
ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]
&
ALL(a):ALL(b):[a e n & b e n => exp'(a,b) e n]
&
exp'(0,0)=x2
&
ALL(a):[a e n => [~a=0 => exp'(a,0)=1]]
&
ALL(a):ALL(b):[a e n & b e n => exp'(a,b+1)=exp'(a,b)*a]
=>
ALL(a):ALL(b):[a e n & b e n => [~[a=0 & b=0] => exp(a,b)=exp'(a,b)]]]]
4 Conclusion, 8