Step | Hyp | Ref | Expression |
1 |
|
eqidd |
_1 = m -> x = x |
2 |
|
id |
_1 = m -> _1 = m |
3 |
1, 2 |
lteqd |
_1 = m -> (x < _1 <-> x < m) |
4 |
|
biidd |
_1 = m -> (x, v < n <-> x, v < n) |
5 |
3, 4 |
imeqd |
_1 = m -> (x < _1 -> x, v < n <-> x < m -> x, v < n) |
6 |
5 |
aleqd |
_1 = m -> (A. x (x < _1 -> x, v < n) <-> A. x (x < m -> x, v < n)) |
7 |
6 |
exeqd |
_1 = m -> (E. n A. x (x < _1 -> x, v < n) <-> E. n A. x (x < m -> x, v < n)) |
8 |
|
eqidd |
_1 = 0 -> x = x |
9 |
|
id |
_1 = 0 -> _1 = 0 |
10 |
8, 9 |
lteqd |
_1 = 0 -> (x < _1 <-> x < 0) |
11 |
|
biidd |
_1 = 0 -> (x, v < n <-> x, v < n) |
12 |
10, 11 |
imeqd |
_1 = 0 -> (x < _1 -> x, v < n <-> x < 0 -> x, v < n) |
13 |
12 |
aleqd |
_1 = 0 -> (A. x (x < _1 -> x, v < n) <-> A. x (x < 0 -> x, v < n)) |
14 |
13 |
exeqd |
_1 = 0 -> (E. n A. x (x < _1 -> x, v < n) <-> E. n A. x (x < 0 -> x, v < n)) |
15 |
|
eqidd |
_1 = a1 -> x = x |
16 |
|
id |
_1 = a1 -> _1 = a1 |
17 |
15, 16 |
lteqd |
_1 = a1 -> (x < _1 <-> x < a1) |
18 |
|
biidd |
_1 = a1 -> (x, v < n <-> x, v < n) |
19 |
17, 18 |
imeqd |
_1 = a1 -> (x < _1 -> x, v < n <-> x < a1 -> x, v < n) |
20 |
19 |
aleqd |
_1 = a1 -> (A. x (x < _1 -> x, v < n) <-> A. x (x < a1 -> x, v < n)) |
21 |
20 |
exeqd |
_1 = a1 -> (E. n A. x (x < _1 -> x, v < n) <-> E. n A. x (x < a1 -> x, v < n)) |
22 |
|
eqidd |
_1 = suc a1 -> x = x |
23 |
|
id |
_1 = suc a1 -> _1 = suc a1 |
24 |
22, 23 |
lteqd |
_1 = suc a1 -> (x < _1 <-> x < suc a1) |
25 |
|
biidd |
_1 = suc a1 -> (x, v < n <-> x, v < n) |
26 |
24, 25 |
imeqd |
_1 = suc a1 -> (x < _1 -> x, v < n <-> x < suc a1 -> x, v < n) |
27 |
26 |
aleqd |
_1 = suc a1 -> (A. x (x < _1 -> x, v < n) <-> A. x (x < suc a1 -> x, v < n)) |
28 |
27 |
exeqd |
_1 = suc a1 -> (E. n A. x (x < _1 -> x, v < n) <-> E. n A. x (x < suc a1 -> x, v < n)) |
29 |
|
absurd |
~x < 0 -> x < 0 -> x, v < n |
30 |
|
lt02 |
~x < 0 |
31 |
29, 30 |
ax_mp |
x < 0 -> x, v < n |
32 |
31 |
a1i |
n = a2 -> x < 0 -> x, v < n |
33 |
32 |
iald |
n = a2 -> A. x (x < 0 -> x, v < n) |
34 |
33 |
iexie |
E. n A. x (x < 0 -> x, v < n) |
35 |
|
lteq2 |
n = a3 -> (x, v < n <-> x, v < a3) |
36 |
35 |
imeq2d |
n = a3 -> (x < suc a1 -> x, v < n <-> x < suc a1 -> x, v < a3) |
37 |
36 |
aleqd |
n = a3 -> (A. x (x < suc a1 -> x, v < n) <-> A. x (x < suc a1 -> x, v < a3)) |
38 |
37 |
cbvex |
E. n A. x (x < suc a1 -> x, v < n) <-> E. a3 A. x (x < suc a1 -> x, v < a3) |
39 |
|
nfnv |
FN/ x n |
40 |
|
nfnv |
FN/ x a1 |
41 |
|
nfsbn1 |
FN/ x N[a1 / x] v |
42 |
40, 41 |
nfpr |
FN/ x a1, N[a1 / x] v |
43 |
42 |
nfsuc |
FN/ x suc (a1, N[a1 / x] v) |
44 |
39, 43 |
nfmax |
FN/ x max n (suc (a1, N[a1 / x] v)) |
45 |
44 |
nfeq2 |
F/ x a3 = max n (suc (a1, N[a1 / x] v)) |
46 |
|
lteq2 |
a3 = max n (suc (a1, N[a1 / x] v)) -> (x, v < a3 <-> x, v < max n (suc (a1, N[a1 / x] v))) |
47 |
46 |
imeq2d |
a3 = max n (suc (a1, N[a1 / x] v)) -> (x < suc a1 -> x, v < a3 <-> x < suc a1 -> x, v < max n (suc (a1, N[a1 / x] v))) |
48 |
45, 47 |
aleqdh |
a3 = max n (suc (a1, N[a1 / x] v)) -> (A. x (x < suc a1 -> x, v < a3) <-> A. x (x < suc a1 -> x, v < max n (suc (a1, N[a1 / x] v)))) |
49 |
48 |
iexe |
A. x (x < suc a1 -> x, v < max n (suc (a1, N[a1 / x] v))) -> E. a3 A. x (x < suc a1 -> x, v < a3) |
50 |
|
leltsuc |
x <= a1 <-> x < suc a1 |
51 |
|
leloe |
x <= a1 <-> x < a1 \/ x = a1 |
52 |
|
lemax1 |
n <= max n (suc (a1, N[a1 / x] v)) |
53 |
|
ltletr |
x, v < n -> n <= max n (suc (a1, N[a1 / x] v)) -> x, v < max n (suc (a1, N[a1 / x] v)) |
54 |
52, 53 |
mpi |
x, v < n -> x, v < max n (suc (a1, N[a1 / x] v)) |
55 |
54 |
imim2i |
(x < a1 -> x, v < n) -> x < a1 -> x, v < max n (suc (a1, N[a1 / x] v)) |
56 |
|
lemax2 |
suc (x, v) <= max n (suc (x, v)) |
57 |
|
eqidd |
x = a1 -> n = n |
58 |
|
id |
x = a1 -> x = a1 |
59 |
|
sbnq |
x = a1 -> v = N[a1 / x] v |
60 |
58, 59 |
preqd |
x = a1 -> x, v = a1, N[a1 / x] v |
61 |
60 |
suceqd |
x = a1 -> suc (x, v) = suc (a1, N[a1 / x] v) |
62 |
57, 61 |
maxeqd |
x = a1 -> max n (suc (x, v)) = max n (suc (a1, N[a1 / x] v)) |
63 |
62 |
lteq2d |
x = a1 -> (x, v < max n (suc (x, v)) <-> x, v < max n (suc (a1, N[a1 / x] v))) |
64 |
63 |
conv lt |
x = a1 -> (suc (x, v) <= max n (suc (x, v)) <-> x, v < max n (suc (a1, N[a1 / x] v))) |
65 |
56, 64 |
mpbii |
x = a1 -> x, v < max n (suc (a1, N[a1 / x] v)) |
66 |
65 |
a1i |
(x < a1 -> x, v < n) -> x = a1 -> x, v < max n (suc (a1, N[a1 / x] v)) |
67 |
55, 66 |
eord |
(x < a1 -> x, v < n) -> x < a1 \/ x = a1 -> x, v < max n (suc (a1, N[a1 / x] v)) |
68 |
51, 67 |
syl5bi |
(x < a1 -> x, v < n) -> x <= a1 -> x, v < max n (suc (a1, N[a1 / x] v)) |
69 |
50, 68 |
syl5bir |
(x < a1 -> x, v < n) -> x < suc a1 -> x, v < max n (suc (a1, N[a1 / x] v)) |
70 |
69 |
alimi |
A. x (x < a1 -> x, v < n) -> A. x (x < suc a1 -> x, v < max n (suc (a1, N[a1 / x] v))) |
71 |
49, 70 |
syl |
A. x (x < a1 -> x, v < n) -> E. a3 A. x (x < suc a1 -> x, v < a3) |
72 |
71 |
eex |
E. n A. x (x < a1 -> x, v < n) -> E. a3 A. x (x < suc a1 -> x, v < a3) |
73 |
38, 72 |
sylibr |
E. n A. x (x < a1 -> x, v < n) -> E. n A. x (x < suc a1 -> x, v < n) |
74 |
7, 14, 21, 28, 34, 73 |
ind |
E. n A. x (x < m -> x, v < n) |
75 |
|
elres |
p e. (\ x, v) |` A <-> p e. \ x, v /\ fst p e. A |
76 |
|
impexp |
p e. \ x, v /\ fst p e. A -> p < n <-> p e. \ x, v -> fst p e. A -> p < n |
77 |
|
eqeq1 |
q = p -> (q = x, v <-> p = x, v) |
78 |
77 |
exeqd |
q = p -> (E. x q = x, v <-> E. x p = x, v) |
79 |
78 |
elabe |
p e. {q | E. x q = x, v} <-> E. x p = x, v |
80 |
79 |
conv lam |
p e. \ x, v <-> E. x p = x, v |
81 |
|
eexb |
E. x p = x, v -> fst p e. A -> p < n <-> A. x (p = x, v -> fst p e. A -> p < n) |
82 |
|
fstpr |
fst (x, v) = x |
83 |
|
fsteq |
p = x, v -> fst p = fst (x, v) |
84 |
82, 83 |
syl6eq |
p = x, v -> fst p = x |
85 |
84 |
eleq1d |
p = x, v -> (fst p e. A <-> x e. A) |
86 |
|
lteq1 |
p = x, v -> (p < n <-> x, v < n) |
87 |
85, 86 |
imeqd |
p = x, v -> (fst p e. A -> p < n <-> x e. A -> x, v < n) |
88 |
|
id |
(x e. A -> x, v < n) -> x e. A -> x, v < n |
89 |
87, 88 |
syl5ibrcom |
(x e. A -> x, v < n) -> p = x, v -> fst p e. A -> p < n |
90 |
89 |
alimi |
A. x (x e. A -> x, v < n) -> A. x (p = x, v -> fst p e. A -> p < n) |
91 |
81, 90 |
sylibr |
A. x (x e. A -> x, v < n) -> E. x p = x, v -> fst p e. A -> p < n |
92 |
80, 91 |
syl5bi |
A. x (x e. A -> x, v < n) -> p e. \ x, v -> fst p e. A -> p < n |
93 |
76, 92 |
sylibr |
A. x (x e. A -> x, v < n) -> p e. \ x, v /\ fst p e. A -> p < n |
94 |
75, 93 |
syl5bi |
A. x (x e. A -> x, v < n) -> p e. (\ x, v) |` A -> p < n |
95 |
94 |
iald |
A. x (x e. A -> x, v < n) -> A. p (p e. (\ x, v) |` A -> p < n) |
96 |
|
anl |
(x e. A -> x < m) /\ (x < m -> x, v < n) -> x e. A -> x < m |
97 |
|
anr |
(x e. A -> x < m) /\ (x < m -> x, v < n) -> x < m -> x, v < n |
98 |
96, 97 |
syld |
(x e. A -> x < m) /\ (x < m -> x, v < n) -> x e. A -> x, v < n |
99 |
98 |
exp |
(x e. A -> x < m) -> (x < m -> x, v < n) -> x e. A -> x, v < n |
100 |
99 |
al2imi |
A. x (x e. A -> x < m) -> A. x (x < m -> x, v < n) -> A. x (x e. A -> x, v < n) |
101 |
95, 100 |
syl6 |
A. x (x e. A -> x < m) -> A. x (x < m -> x, v < n) -> A. p (p e. (\ x, v) |` A -> p < n) |
102 |
101 |
eximd |
A. x (x e. A -> x < m) -> E. n A. x (x < m -> x, v < n) -> E. n A. p (p e. (\ x, v) |` A -> p < n) |
103 |
102 |
conv finite |
A. x (x e. A -> x < m) -> E. n A. x (x < m -> x, v < n) -> finite ((\ x, v) |` A) |
104 |
74, 103 |
mpi |
A. x (x e. A -> x < m) -> finite ((\ x, v) |` A) |
105 |
104 |
eex |
E. m A. x (x e. A -> x < m) -> finite ((\ x, v) |` A) |
106 |
105 |
conv finite |
finite A -> finite ((\ x, v) |` A) |