theorem lfnS (F: set) {i: nat} (n: nat):
$ lfn F (suc n) = F @ 0 : lfn (\ i, F @ suc i) n $;
Step | Hyp | Ref | Expression |
1 |
|
eqtr4 |
lfn F (suc n) = F @ 0 : lfnaux F (suc 0) n -> F @ 0 : lfn (\ i, F @ suc i) n = F @ 0 : lfnaux F (suc 0) n -> lfn F (suc n) = F @ 0 : lfn (\ i, F @ suc i) n |
2 |
|
lfnauxS |
lfnaux F 0 (suc n) = F @ 0 : lfnaux F (suc 0) n |
3 |
2 |
conv lfn |
lfn F (suc n) = F @ 0 : lfnaux F (suc 0) n |
4 |
1, 3 |
ax_mp |
F @ 0 : lfn (\ i, F @ suc i) n = F @ 0 : lfnaux F (suc 0) n -> lfn F (suc n) = F @ 0 : lfn (\ i, F @ suc i) n |
5 |
|
conseq2 |
lfn (\ i, F @ suc i) n = lfnaux F (suc 0) n -> F @ 0 : lfn (\ i, F @ suc i) n = F @ 0 : lfnaux F (suc 0) n |
6 |
|
lfnauxshift |
A. a1 (\ i, F @ suc i) @ (0 + a1) = F @ (suc 0 + a1) -> lfnaux (\ i, F @ suc i) 0 n = lfnaux F (suc 0) n |
7 |
6 |
conv lfn |
A. a1 (\ i, F @ suc i) @ (0 + a1) = F @ (suc 0 + a1) -> lfn (\ i, F @ suc i) n = lfnaux F (suc 0) n |
8 |
|
addS1 |
suc 0 + a1 = suc (0 + a1) |
9 |
|
suceq |
i = 0 + a1 -> suc i = suc (0 + a1) |
10 |
8, 9 |
syl6eqr |
i = 0 + a1 -> suc i = suc 0 + a1 |
11 |
10 |
appeq2d |
i = 0 + a1 -> F @ suc i = F @ (suc 0 + a1) |
12 |
11 |
applame |
(\ i, F @ suc i) @ (0 + a1) = F @ (suc 0 + a1) |
13 |
12 |
ax_gen |
A. a1 (\ i, F @ suc i) @ (0 + a1) = F @ (suc 0 + a1) |
14 |
7, 13 |
ax_mp |
lfn (\ i, F @ suc i) n = lfnaux F (suc 0) n |
15 |
5, 14 |
ax_mp |
F @ 0 : lfn (\ i, F @ suc i) n = F @ 0 : lfnaux F (suc 0) n |
16 |
4, 15 |
ax_mp |
lfn F (suc n) = F @ 0 : lfn (\ i, F @ suc i) n |
Axiom use
axs_prop_calc
(ax_1,
ax_2,
ax_3,
ax_mp,
itru),
axs_pred_calc
(ax_gen,
ax_4,
ax_5,
ax_6,
ax_7,
ax_10,
ax_11,
ax_12),
axs_set
(elab,
ax_8),
axs_the
(theid,
the0),
axs_peano
(peano1,
peano2,
peano5,
addeq,
muleq,
add0,
addS,
mul0,
mulS)