Step |
Hyp |
Ref |
Expression |
1 |
|
f1o0 |
⊢ ∅ : ∅ –1-1-onto→ ∅ |
2 |
|
eqidd |
⊢ ( 𝐴 = ∅ → ∅ = ∅ ) |
3 |
|
dm0 |
⊢ dom ∅ = ∅ |
4 |
3
|
a1i |
⊢ ( 𝐴 = ∅ → dom ∅ = ∅ ) |
5 |
|
id |
⊢ ( 𝐴 = ∅ → 𝐴 = ∅ ) |
6 |
2 4 5
|
f1oeq123d |
⊢ ( 𝐴 = ∅ → ( ∅ : dom ∅ –1-1-onto→ 𝐴 ↔ ∅ : ∅ –1-1-onto→ ∅ ) ) |
7 |
1 6
|
mpbiri |
⊢ ( 𝐴 = ∅ → ∅ : dom ∅ –1-1-onto→ 𝐴 ) |
8 |
|
fveq2 |
⊢ ( 𝐴 = ∅ → ( ♯ ‘ 𝐴 ) = ( ♯ ‘ ∅ ) ) |
9 |
|
hash0 |
⊢ ( ♯ ‘ ∅ ) = 0 |
10 |
8 9
|
eqtrdi |
⊢ ( 𝐴 = ∅ → ( ♯ ‘ 𝐴 ) = 0 ) |
11 |
10
|
oveq1d |
⊢ ( 𝐴 = ∅ → ( ( ♯ ‘ 𝐴 ) + 1 ) = ( 0 + 1 ) ) |
12 |
|
0p1e1 |
⊢ ( 0 + 1 ) = 1 |
13 |
11 12
|
eqtrdi |
⊢ ( 𝐴 = ∅ → ( ( ♯ ‘ 𝐴 ) + 1 ) = 1 ) |
14 |
13
|
oveq2d |
⊢ ( 𝐴 = ∅ → ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) = ( 1 ..^ 1 ) ) |
15 |
|
fzo0 |
⊢ ( 1 ..^ 1 ) = ∅ |
16 |
14 15
|
eqtrdi |
⊢ ( 𝐴 = ∅ → ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) = ∅ ) |
17 |
4 16
|
eqtr4d |
⊢ ( 𝐴 = ∅ → dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) |
18 |
17
|
olcd |
⊢ ( 𝐴 = ∅ → ( dom ∅ = ℕ ∨ dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) |
19 |
7 18
|
jca |
⊢ ( 𝐴 = ∅ → ( ∅ : dom ∅ –1-1-onto→ 𝐴 ∧ ( dom ∅ = ℕ ∨ dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
20 |
|
0ex |
⊢ ∅ ∈ V |
21 |
|
id |
⊢ ( 𝑓 = ∅ → 𝑓 = ∅ ) |
22 |
|
dmeq |
⊢ ( 𝑓 = ∅ → dom 𝑓 = dom ∅ ) |
23 |
|
eqidd |
⊢ ( 𝑓 = ∅ → 𝐴 = 𝐴 ) |
24 |
21 22 23
|
f1oeq123d |
⊢ ( 𝑓 = ∅ → ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ↔ ∅ : dom ∅ –1-1-onto→ 𝐴 ) ) |
25 |
22
|
eqeq1d |
⊢ ( 𝑓 = ∅ → ( dom 𝑓 = ℕ ↔ dom ∅ = ℕ ) ) |
26 |
22
|
eqeq1d |
⊢ ( 𝑓 = ∅ → ( dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ↔ dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) |
27 |
25 26
|
orbi12d |
⊢ ( 𝑓 = ∅ → ( ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ↔ ( dom ∅ = ℕ ∨ dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
28 |
24 27
|
anbi12d |
⊢ ( 𝑓 = ∅ → ( ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ↔ ( ∅ : dom ∅ –1-1-onto→ 𝐴 ∧ ( dom ∅ = ℕ ∨ dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) ) |
29 |
20 28
|
spcev |
⊢ ( ( ∅ : dom ∅ –1-1-onto→ 𝐴 ∧ ( dom ∅ = ℕ ∨ dom ∅ = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
30 |
19 29
|
syl |
⊢ ( 𝐴 = ∅ → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
31 |
30
|
adantl |
⊢ ( ( ( 𝐴 ≼ ω ∧ 𝐴 ∈ Fin ) ∧ 𝐴 = ∅ ) → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
32 |
|
f1odm |
⊢ ( 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 → dom 𝑓 = ( 1 ... ( ♯ ‘ 𝐴 ) ) ) |
33 |
32
|
f1oeq2d |
⊢ ( 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 → ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ↔ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) ) |
34 |
33
|
ibir |
⊢ ( 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 → 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ) |
35 |
34
|
adantl |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ) |
36 |
32
|
adantl |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → dom 𝑓 = ( 1 ... ( ♯ ‘ 𝐴 ) ) ) |
37 |
|
simpl |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → ( ♯ ‘ 𝐴 ) ∈ ℕ ) |
38 |
37
|
nnzd |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → ( ♯ ‘ 𝐴 ) ∈ ℤ ) |
39 |
|
fzval3 |
⊢ ( ( ♯ ‘ 𝐴 ) ∈ ℤ → ( 1 ... ( ♯ ‘ 𝐴 ) ) = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) |
40 |
38 39
|
syl |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → ( 1 ... ( ♯ ‘ 𝐴 ) ) = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) |
41 |
36 40
|
eqtrd |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) |
42 |
41
|
olcd |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) |
43 |
35 42
|
jca |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
44 |
43
|
ex |
⊢ ( ( ♯ ‘ 𝐴 ) ∈ ℕ → ( 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 → ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) ) |
45 |
44
|
eximdv |
⊢ ( ( ♯ ‘ 𝐴 ) ∈ ℕ → ( ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) ) |
46 |
45
|
imp |
⊢ ( ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
47 |
46
|
adantl |
⊢ ( ( ( 𝐴 ≼ ω ∧ 𝐴 ∈ Fin ) ∧ ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) ) → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
48 |
|
fz1f1o |
⊢ ( 𝐴 ∈ Fin → ( 𝐴 = ∅ ∨ ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) ) ) |
49 |
48
|
adantl |
⊢ ( ( 𝐴 ≼ ω ∧ 𝐴 ∈ Fin ) → ( 𝐴 = ∅ ∨ ( ( ♯ ‘ 𝐴 ) ∈ ℕ ∧ ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) ) ) |
50 |
31 47 49
|
mpjaodan |
⊢ ( ( 𝐴 ≼ ω ∧ 𝐴 ∈ Fin ) → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
51 |
|
isfinite |
⊢ ( 𝐴 ∈ Fin ↔ 𝐴 ≺ ω ) |
52 |
51
|
notbii |
⊢ ( ¬ 𝐴 ∈ Fin ↔ ¬ 𝐴 ≺ ω ) |
53 |
52
|
biimpi |
⊢ ( ¬ 𝐴 ∈ Fin → ¬ 𝐴 ≺ ω ) |
54 |
53
|
anim2i |
⊢ ( ( 𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin ) → ( 𝐴 ≼ ω ∧ ¬ 𝐴 ≺ ω ) ) |
55 |
|
bren2 |
⊢ ( 𝐴 ≈ ω ↔ ( 𝐴 ≼ ω ∧ ¬ 𝐴 ≺ ω ) ) |
56 |
54 55
|
sylibr |
⊢ ( ( 𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin ) → 𝐴 ≈ ω ) |
57 |
|
nnenom |
⊢ ℕ ≈ ω |
58 |
57
|
ensymi |
⊢ ω ≈ ℕ |
59 |
|
entr |
⊢ ( ( 𝐴 ≈ ω ∧ ω ≈ ℕ ) → 𝐴 ≈ ℕ ) |
60 |
56 58 59
|
sylancl |
⊢ ( ( 𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin ) → 𝐴 ≈ ℕ ) |
61 |
|
bren |
⊢ ( 𝐴 ≈ ℕ ↔ ∃ 𝑔 𝑔 : 𝐴 –1-1-onto→ ℕ ) |
62 |
60 61
|
sylib |
⊢ ( ( 𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin ) → ∃ 𝑔 𝑔 : 𝐴 –1-1-onto→ ℕ ) |
63 |
|
f1oexbi |
⊢ ( ∃ 𝑔 𝑔 : 𝐴 –1-1-onto→ ℕ ↔ ∃ 𝑓 𝑓 : ℕ –1-1-onto→ 𝐴 ) |
64 |
62 63
|
sylib |
⊢ ( ( 𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin ) → ∃ 𝑓 𝑓 : ℕ –1-1-onto→ 𝐴 ) |
65 |
|
f1odm |
⊢ ( 𝑓 : ℕ –1-1-onto→ 𝐴 → dom 𝑓 = ℕ ) |
66 |
65
|
f1oeq2d |
⊢ ( 𝑓 : ℕ –1-1-onto→ 𝐴 → ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ↔ 𝑓 : ℕ –1-1-onto→ 𝐴 ) ) |
67 |
66
|
ibir |
⊢ ( 𝑓 : ℕ –1-1-onto→ 𝐴 → 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ) |
68 |
65
|
orcd |
⊢ ( 𝑓 : ℕ –1-1-onto→ 𝐴 → ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) |
69 |
67 68
|
jca |
⊢ ( 𝑓 : ℕ –1-1-onto→ 𝐴 → ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
70 |
69
|
eximi |
⊢ ( ∃ 𝑓 𝑓 : ℕ –1-1-onto→ 𝐴 → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
71 |
64 70
|
syl |
⊢ ( ( 𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin ) → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |
72 |
50 71
|
pm2.61dan |
⊢ ( 𝐴 ≼ ω → ∃ 𝑓 ( 𝑓 : dom 𝑓 –1-1-onto→ 𝐴 ∧ ( dom 𝑓 = ℕ ∨ dom 𝑓 = ( 1 ..^ ( ( ♯ ‘ 𝐴 ) + 1 ) ) ) ) ) |