@@ -131,27 +131,27 @@ object Kernel2Code extends lisa.Main {
131
131
val s_1_5_0 = have(∀ (x, (Q (x) ∧ R (x))) ⊢ ∀ (x, R (x))) by RightForall (s_1_4)
132
132
}
133
133
val s_1_6 = have(∀ (x, (Q (x) ∧ R (x))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) subproof {
134
- val s_1_6_0 = have(() ⊢ ( ∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x)))) by Restate .from(s_1_3)
135
- val s_1_6_1 = have(() ⊢ ( ∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) by Restate .from(s_1_5)
134
+ val s_1_6_0 = have((∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x)))) by Restate .from(s_1_3)
135
+ val s_1_6_1 = have((∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) by Restate .from(s_1_5)
136
136
val s_1_6_2 = have((∀ (x, (Q (x) ∧ R (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) subproof {
137
- val s_1_6_2_0 = have(() ⊢ ⊤ ) by Restate
137
+ val s_1_6_2_0 = have(⊤ ) by Restate
138
138
val s_1_6_2_1 = thenHave((∀ (x, (Q (x) ∧ R (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Restate
139
139
}
140
140
val s_1_6_3 = have((∀ (x, (Q (x) ∧ R (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Cut (s_1_6_0, s_1_6_2)
141
141
val s_1_6_4 = have(∀ (x, (Q (x) ∧ R (x))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Cut (s_1_6_1, s_1_6_3)
142
142
}
143
143
val s_1_7 = thenHave(∀ (x, (Q (x) ∧ R (x))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Restate
144
144
}
145
- val s_2 = have(() ⊢ ( (∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) subproof {
146
- val s_2_0 = have(() ⊢ ( (∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x))))) by Restate .from(s_0)
147
- val s_2_1 = have(() ⊢ ( ∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) by Restate .from(s_1)
145
+ val s_2 = have(((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) subproof {
146
+ val s_2_0 = have(((∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x))))) by Restate .from(s_0)
147
+ val s_2_1 = have((∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) by Restate .from(s_1)
148
148
val s_2_2 = have((((∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x)))), (∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) ⊢ ((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) subproof {
149
- val s_2_2_0 = have(() ⊢ ⊤ ) by Restate
149
+ val s_2_2_0 = have(⊤ ) by Restate
150
150
val s_2_2_1 =
151
151
thenHave((((∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x)))), (∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) ⊢ ((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Restate
152
152
}
153
153
val s_2_3 = have((∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) ⊢ ((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Cut (s_2_0, s_2_2)
154
- val s_2_4 = have(() ⊢ ( (∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Cut (s_2_1, s_2_3)
154
+ val s_2_4 = have(((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Cut (s_2_1, s_2_3)
155
155
}
156
156
}
157
157
@@ -166,18 +166,18 @@ object Kernel2Code extends lisa.Main {
166
166
val s_7 = thenHave(∀ (x, (Q (x) ∧ R (x))) ⊢ ∀ (x, Q (x))) by RightForall
167
167
val s_8 = have(∀ (x, (Q (x) ∧ R (x))) ⊢ R (x)) by Weakening (s_5)
168
168
val s_9 = thenHave(∀ (x, (Q (x) ∧ R (x))) ⊢ ∀ (x, R (x))) by RightForall
169
- val s_10 = have(() ⊢ ( ∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x)))) by Restate .from(s_7)
170
- val s_11 = have(() ⊢ ( ∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) by Restate .from(s_9)
171
- val s_12 = have(() ⊢ ⊤ ) by Restate
169
+ val s_10 = have((∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x)))) by Restate .from(s_7)
170
+ val s_11 = have((∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) by Restate .from(s_9)
171
+ val s_12 = have(⊤ ) by Restate
172
172
val s_13 = thenHave((∀ (x, (Q (x) ∧ R (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, Q (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Restate
173
173
val s_14 = have((∀ (x, (Q (x) ∧ R (x))), (∀ (x, (Q (x) ∧ R (x))) ==> ∀ (x, R (x)))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Cut (s_10, s_13)
174
174
val s_15 = have(∀ (x, (Q (x) ∧ R (x))) ⊢ (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) by Cut (s_11, s_14)
175
- val s_16 = have(() ⊢ ( (∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x))))) by Restate .from(s_3)
176
- val s_17 = have(() ⊢ ( ∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) by Restate .from(s_15)
175
+ val s_16 = have(((∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x))))) by Restate .from(s_3)
176
+ val s_17 = have((∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) by Restate .from(s_15)
177
177
val s_18 =
178
178
have((((∀ (x, R (x)) ∧ ∀ (x, Q (x))) ==> ∀ (x, (Q (x) ∧ R (x)))), (∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x))))) ⊢ ((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Restate .from(s_12)
179
179
val s_19 = have((∀ (x, (Q (x) ∧ R (x))) ==> (∀ (x, Q (x)) ∧ ∀ (x, R (x)))) ⊢ ((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Cut (s_16, s_18)
180
- val s_20 = have(() ⊢ ( (∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Cut (s_17, s_19)
180
+ val s_20 = have(((∀ (x, Q (x)) ∧ ∀ (x, R (x))) <=> ∀ (x, (Q (x) ∧ R (x))))) by Cut (s_17, s_19)
181
181
}
182
182
183
183
// This theorem requires instantiating the assumption twice, once with x and once with f(x), and then combine the two.
@@ -212,8 +212,8 @@ object Kernel2Code extends lisa.Main {
212
212
val s_2_1 = have(∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ⊢ (Q (f(x)) ==> Q (f(f(x))))) by InstFunSchema (Map (x -> f(x)))(s_1)
213
213
}
214
214
val s_3 = have(∀ (x, (Q (x) ==> Q (f(x)))) ⊢ (Q (x) ==> Q (f(f(x))))) subproof {
215
- val s_3_0 = have(() ⊢ ( ∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x))))) by Restate .from(s_1)
216
- val s_3_1 = have(() ⊢ ( ∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) by Restate .from(s_2)
215
+ val s_3_0 = have((∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x))))) by Restate .from(s_1)
216
+ val s_3_1 = have((∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) by Restate .from(s_2)
217
217
val s_3_2 = have((∀ (x, (Q (x) ==> Q (f(x)))), (∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x)))), (∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) ⊢ (Q (x) ==> Q (f(f(x))))) subproof {
218
218
val s_3_2_0 = have(
219
219
Q (f(x)) ⊢ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ ⊤ ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (⊤ ))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
@@ -247,10 +247,10 @@ object Kernel2Code extends lisa.Main {
247
247
))
248
248
) by Restate
249
249
val s_3_2_5 = have(
250
- () ⊢ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ Q (f(x)) ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(x))))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
250
+ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ Q (f(x)) ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(x))))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
251
251
) by Cut (s_3_2_4, s_3_2_1)
252
252
val s_3_2_6 = thenHave(
253
- () ⊢ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ Q (f(x)) ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(x))))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
253
+ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ Q (f(x)) ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(x))))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
254
254
) by Restate
255
255
val s_3_2_7 =
256
256
thenHave((∀ (x, (Q (x) ==> Q (f(x)))), (∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x)))), (∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) ⊢ (Q (x) ==> Q (f(f(x))))) by Restate
@@ -264,8 +264,8 @@ object Kernel2Code extends lisa.Main {
264
264
val s_0 = have((∀ (x, (Q (x) ==> Q (f(x)))), (Q (x) ==> Q (f(x)))) ⊢ (Q (x) ==> Q (f(x)))) by Restate
265
265
val s_1 = thenHave(∀ (x, (Q (x) ==> Q (f(x)))) ⊢ (Q (x) ==> Q (f(x)))) by LeftForall
266
266
val s_2 = thenHave(∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ⊢ (Q (f(x)) ==> Q (f(f(x))))) by InstFunSchema (Map (x -> f(x)))
267
- val s_3 = have(() ⊢ ( ∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x))))) by Restate .from(s_1)
268
- val s_4 = have(() ⊢ ( ∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) by Restate .from(s_2)
267
+ val s_3 = have((∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x))))) by Restate .from(s_1)
268
+ val s_4 = have((∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) by Restate .from(s_2)
269
269
val s_5 = have(
270
270
Q (f(x)) ⊢ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ ⊤ ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (⊤ ))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
271
271
) by Restate
@@ -281,7 +281,7 @@ object Kernel2Code extends lisa.Main {
281
281
))
282
282
) by Restate
283
283
val s_9 = have(
284
- () ⊢ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ Q (f(x)) ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(x))))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
284
+ ¬ ((¬ ((∀ (x_1, ¬ ((Q (x_1) ∧ ¬ (Q (f(x_1)))))) ∧ Q (f(x)) ∧ ¬ (Q (f(f(x)))))) ∧ ¬ ((∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(x))))) ∧ ∀ (x, ¬ ((Q (x) ∧ ¬ (Q (f(x)))))) ∧ Q (x) ∧ ¬ (Q (f(f(x))))))
285
285
) by Cut (s_8, s_6)
286
286
val s_10 = thenHave((∀ (x, (Q (x) ==> Q (f(x)))), (∀ (x, (Q (x) ==> Q (f(x)))) ==> (Q (x) ==> Q (f(x)))), (∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) ⊢ (Q (x) ==> Q (f(f(x))))) by Restate
287
287
val s_11 = have((∀ (x, (Q (x) ==> Q (f(x)))), (∀ (x_1, (Q (x_1) ==> Q (f(x_1)))) ==> (Q (f(x)) ==> Q (f(f(x)))))) ⊢ (Q (x) ==> Q (f(f(x))))) by Cut (s_3, s_10)
0 commit comments