Proof of Theorem hfun
Step | Hyp | Ref
| Expression |
1 | | rankung 34395 |
. . 3
⊢ ((𝐴 ∈ Hf ∧ 𝐵 ∈ Hf ) →
(rank‘(𝐴 ∪ 𝐵)) = ((rank‘𝐴) ∪ (rank‘𝐵))) |
2 | | elhf2g 34405 |
. . . . 5
⊢ (𝐴 ∈ Hf → (𝐴 ∈ Hf ↔
(rank‘𝐴) ∈
ω)) |
3 | 2 | ibi 266 |
. . . 4
⊢ (𝐴 ∈ Hf →
(rank‘𝐴) ∈
ω) |
4 | | elhf2g 34405 |
. . . . 5
⊢ (𝐵 ∈ Hf → (𝐵 ∈ Hf ↔
(rank‘𝐵) ∈
ω)) |
5 | 4 | ibi 266 |
. . . 4
⊢ (𝐵 ∈ Hf →
(rank‘𝐵) ∈
ω) |
6 | | eleq1a 2834 |
. . . . . 6
⊢
((rank‘𝐵)
∈ ω → (((rank‘𝐴) ∪ (rank‘𝐵)) = (rank‘𝐵) → ((rank‘𝐴) ∪ (rank‘𝐵)) ∈ ω)) |
7 | 6 | adantl 481 |
. . . . 5
⊢
(((rank‘𝐴)
∈ ω ∧ (rank‘𝐵) ∈ ω) → (((rank‘𝐴) ∪ (rank‘𝐵)) = (rank‘𝐵) → ((rank‘𝐴) ∪ (rank‘𝐵)) ∈
ω)) |
8 | | uncom 4083 |
. . . . . . . . . 10
⊢
((rank‘𝐵)
∪ (rank‘𝐴)) =
((rank‘𝐴) ∪
(rank‘𝐵)) |
9 | 8 | eqeq1i 2743 |
. . . . . . . . 9
⊢
(((rank‘𝐵)
∪ (rank‘𝐴)) =
(rank‘𝐴) ↔
((rank‘𝐴) ∪
(rank‘𝐵)) =
(rank‘𝐴)) |
10 | 9 | biimpi 215 |
. . . . . . . 8
⊢
(((rank‘𝐵)
∪ (rank‘𝐴)) =
(rank‘𝐴) →
((rank‘𝐴) ∪
(rank‘𝐵)) =
(rank‘𝐴)) |
11 | 10 | eleq1d 2823 |
. . . . . . 7
⊢
(((rank‘𝐵)
∪ (rank‘𝐴)) =
(rank‘𝐴) →
(((rank‘𝐴) ∪
(rank‘𝐵)) ∈
ω ↔ (rank‘𝐴) ∈ ω)) |
12 | 11 | biimprcd 249 |
. . . . . 6
⊢
((rank‘𝐴)
∈ ω → (((rank‘𝐵) ∪ (rank‘𝐴)) = (rank‘𝐴) → ((rank‘𝐴) ∪ (rank‘𝐵)) ∈ ω)) |
13 | 12 | adantr 480 |
. . . . 5
⊢
(((rank‘𝐴)
∈ ω ∧ (rank‘𝐵) ∈ ω) → (((rank‘𝐵) ∪ (rank‘𝐴)) = (rank‘𝐴) → ((rank‘𝐴) ∪ (rank‘𝐵)) ∈
ω)) |
14 | | nnord 7695 |
. . . . . . 7
⊢
((rank‘𝐴)
∈ ω → Ord (rank‘𝐴)) |
15 | | nnord 7695 |
. . . . . . 7
⊢
((rank‘𝐵)
∈ ω → Ord (rank‘𝐵)) |
16 | | ordtri2or2 6347 |
. . . . . . 7
⊢ ((Ord
(rank‘𝐴) ∧ Ord
(rank‘𝐵)) →
((rank‘𝐴) ⊆
(rank‘𝐵) ∨
(rank‘𝐵) ⊆
(rank‘𝐴))) |
17 | 14, 15, 16 | syl2an 595 |
. . . . . 6
⊢
(((rank‘𝐴)
∈ ω ∧ (rank‘𝐵) ∈ ω) → ((rank‘𝐴) ⊆ (rank‘𝐵) ∨ (rank‘𝐵) ⊆ (rank‘𝐴))) |
18 | | ssequn1 4110 |
. . . . . . 7
⊢
((rank‘𝐴)
⊆ (rank‘𝐵)
↔ ((rank‘𝐴)
∪ (rank‘𝐵)) =
(rank‘𝐵)) |
19 | | ssequn1 4110 |
. . . . . . 7
⊢
((rank‘𝐵)
⊆ (rank‘𝐴)
↔ ((rank‘𝐵)
∪ (rank‘𝐴)) =
(rank‘𝐴)) |
20 | 18, 19 | orbi12i 911 |
. . . . . 6
⊢
(((rank‘𝐴)
⊆ (rank‘𝐵) ∨
(rank‘𝐵) ⊆
(rank‘𝐴)) ↔
(((rank‘𝐴) ∪
(rank‘𝐵)) =
(rank‘𝐵) ∨
((rank‘𝐵) ∪
(rank‘𝐴)) =
(rank‘𝐴))) |
21 | 17, 20 | sylib 217 |
. . . . 5
⊢
(((rank‘𝐴)
∈ ω ∧ (rank‘𝐵) ∈ ω) → (((rank‘𝐴) ∪ (rank‘𝐵)) = (rank‘𝐵) ∨ ((rank‘𝐵) ∪ (rank‘𝐴)) = (rank‘𝐴))) |
22 | 7, 13, 21 | mpjaod 856 |
. . . 4
⊢
(((rank‘𝐴)
∈ ω ∧ (rank‘𝐵) ∈ ω) → ((rank‘𝐴) ∪ (rank‘𝐵)) ∈
ω) |
23 | 3, 5, 22 | syl2an 595 |
. . 3
⊢ ((𝐴 ∈ Hf ∧ 𝐵 ∈ Hf ) →
((rank‘𝐴) ∪
(rank‘𝐵)) ∈
ω) |
24 | 1, 23 | eqeltrd 2839 |
. 2
⊢ ((𝐴 ∈ Hf ∧ 𝐵 ∈ Hf ) →
(rank‘(𝐴 ∪ 𝐵)) ∈
ω) |
25 | | unexg 7577 |
. . 3
⊢ ((𝐴 ∈ Hf ∧ 𝐵 ∈ Hf ) → (𝐴 ∪ 𝐵) ∈ V) |
26 | | elhf2g 34405 |
. . 3
⊢ ((𝐴 ∪ 𝐵) ∈ V → ((𝐴 ∪ 𝐵) ∈ Hf ↔ (rank‘(𝐴 ∪ 𝐵)) ∈ ω)) |
27 | 25, 26 | syl 17 |
. 2
⊢ ((𝐴 ∈ Hf ∧ 𝐵 ∈ Hf ) → ((𝐴 ∪ 𝐵) ∈ Hf ↔ (rank‘(𝐴 ∪ 𝐵)) ∈ ω)) |
28 | 24, 27 | mpbird 256 |
1
⊢ ((𝐴 ∈ Hf ∧ 𝐵 ∈ Hf ) → (𝐴 ∪ 𝐵) ∈ Hf ) |