| Step |
Hyp |
Ref |
Expression |
| 1 |
|
rankxplim.1 |
⊢ 𝐴 ∈ V |
| 2 |
|
rankxplim.2 |
⊢ 𝐵 ∈ V |
| 3 |
|
unixp |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ∪ ∪ ( 𝐴 × 𝐵 ) = ( 𝐴 ∪ 𝐵 ) ) |
| 4 |
3
|
fveq2d |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( rank ‘ ∪ ∪ ( 𝐴 × 𝐵 ) ) = ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ) |
| 5 |
|
rankuni |
⊢ ( rank ‘ ∪ ∪ ( 𝐴 × 𝐵 ) ) = ∪ ( rank ‘ ∪ ( 𝐴 × 𝐵 ) ) |
| 6 |
|
rankuni |
⊢ ( rank ‘ ∪ ( 𝐴 × 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) |
| 7 |
6
|
unieqi |
⊢ ∪ ( rank ‘ ∪ ( 𝐴 × 𝐵 ) ) = ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) |
| 8 |
5 7
|
eqtri |
⊢ ( rank ‘ ∪ ∪ ( 𝐴 × 𝐵 ) ) = ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) |
| 9 |
4 8
|
eqtr3di |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 10 |
|
suc11reg |
⊢ ( suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ↔ ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 11 |
9 10
|
sylibr |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 12 |
11
|
adantl |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 13 |
|
fvex |
⊢ ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ∈ V |
| 14 |
|
eleq1 |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ∈ V ↔ suc 𝐶 ∈ V ) ) |
| 15 |
13 14
|
mpbii |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → suc 𝐶 ∈ V ) |
| 16 |
|
sucexb |
⊢ ( 𝐶 ∈ V ↔ suc 𝐶 ∈ V ) |
| 17 |
15 16
|
sylibr |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → 𝐶 ∈ V ) |
| 18 |
|
nlimsucg |
⊢ ( 𝐶 ∈ V → ¬ Lim suc 𝐶 ) |
| 19 |
17 18
|
syl |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ¬ Lim suc 𝐶 ) |
| 20 |
|
limeq |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ( Lim ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ↔ Lim suc 𝐶 ) ) |
| 21 |
19 20
|
mtbird |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ¬ Lim ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ) |
| 22 |
1 2
|
rankxplim2 |
⊢ ( Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) → Lim ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ) |
| 23 |
21 22
|
nsyl |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ¬ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 24 |
1 2
|
xpex |
⊢ ( 𝐴 × 𝐵 ) ∈ V |
| 25 |
24
|
rankeq0 |
⊢ ( ( 𝐴 × 𝐵 ) = ∅ ↔ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ) |
| 26 |
25
|
necon3abii |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ ↔ ¬ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ) |
| 27 |
|
rankon |
⊢ ( rank ‘ ( 𝐴 × 𝐵 ) ) ∈ On |
| 28 |
27
|
onordi |
⊢ Ord ( rank ‘ ( 𝐴 × 𝐵 ) ) |
| 29 |
|
ordzsl |
⊢ ( Ord ( rank ‘ ( 𝐴 × 𝐵 ) ) ↔ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 30 |
28 29
|
mpbi |
⊢ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 31 |
|
3orass |
⊢ ( ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ↔ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) ) |
| 32 |
30 31
|
mpbi |
⊢ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 33 |
32
|
ori |
⊢ ( ¬ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ → ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 34 |
26 33
|
sylbi |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 35 |
34
|
ord |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ¬ ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 36 |
35
|
con1d |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ¬ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) → ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) ) |
| 37 |
23 36
|
syl5com |
⊢ ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ( ( 𝐴 × 𝐵 ) ≠ ∅ → ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) ) |
| 38 |
|
nlimsucg |
⊢ ( 𝑥 ∈ V → ¬ Lim suc 𝑥 ) |
| 39 |
38
|
elv |
⊢ ¬ Lim suc 𝑥 |
| 40 |
|
limeq |
⊢ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → ( Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ↔ Lim suc 𝑥 ) ) |
| 41 |
39 40
|
mtbiri |
⊢ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → ¬ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 42 |
41
|
rexlimivw |
⊢ ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → ¬ Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 43 |
1 2
|
rankxplim3 |
⊢ ( Lim ( rank ‘ ( 𝐴 × 𝐵 ) ) ↔ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 44 |
42 43
|
sylnib |
⊢ ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → ¬ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 45 |
37 44
|
syl6com |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ¬ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 46 |
|
unixp0 |
⊢ ( ( 𝐴 × 𝐵 ) = ∅ ↔ ∪ ( 𝐴 × 𝐵 ) = ∅ ) |
| 47 |
24
|
uniex |
⊢ ∪ ( 𝐴 × 𝐵 ) ∈ V |
| 48 |
47
|
rankeq0 |
⊢ ( ∪ ( 𝐴 × 𝐵 ) = ∅ ↔ ( rank ‘ ∪ ( 𝐴 × 𝐵 ) ) = ∅ ) |
| 49 |
6
|
eqeq1i |
⊢ ( ( rank ‘ ∪ ( 𝐴 × 𝐵 ) ) = ∅ ↔ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ) |
| 50 |
46 48 49
|
3bitri |
⊢ ( ( 𝐴 × 𝐵 ) = ∅ ↔ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ) |
| 51 |
50
|
necon3abii |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ ↔ ¬ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ) |
| 52 |
|
onuni |
⊢ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) ∈ On → ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ∈ On ) |
| 53 |
27 52
|
ax-mp |
⊢ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ∈ On |
| 54 |
53
|
onordi |
⊢ Ord ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) |
| 55 |
|
ordzsl |
⊢ ( Ord ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ↔ ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 56 |
54 55
|
mpbi |
⊢ ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 57 |
|
3orass |
⊢ ( ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ↔ ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ( ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) ) |
| 58 |
56 57
|
mpbi |
⊢ ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ ∨ ( ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 59 |
58
|
ori |
⊢ ( ¬ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∅ → ( ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 60 |
51 59
|
sylbi |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ∨ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 61 |
60
|
ord |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ¬ ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) ) |
| 62 |
61
|
con1d |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ¬ Lim ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) → ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) ) |
| 63 |
45 62
|
syld |
⊢ ( ( 𝐴 × 𝐵 ) ≠ ∅ → ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 → ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) ) |
| 64 |
63
|
impcom |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) |
| 65 |
|
onsucuni2 |
⊢ ( ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ∈ On ∧ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) → suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 66 |
53 65
|
mpan |
⊢ ( ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 67 |
66
|
rexlimivw |
⊢ ( ∃ 𝑥 ∈ On ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 68 |
64 67
|
syl |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → suc ∪ ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 69 |
12 68
|
eqtrd |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 70 |
|
suc11reg |
⊢ ( suc suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ↔ suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 71 |
69 70
|
sylibr |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → suc suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 72 |
37
|
imp |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) |
| 73 |
|
onsucuni2 |
⊢ ( ( ( rank ‘ ( 𝐴 × 𝐵 ) ) ∈ On ∧ ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 ) → suc ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 74 |
27 73
|
mpan |
⊢ ( ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → suc ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 75 |
74
|
rexlimivw |
⊢ ( ∃ 𝑥 ∈ On ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc 𝑥 → suc ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 76 |
72 75
|
syl |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → suc ∪ ( rank ‘ ( 𝐴 × 𝐵 ) ) = ( rank ‘ ( 𝐴 × 𝐵 ) ) ) |
| 77 |
71 76
|
eqtr2d |
⊢ ( ( ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) = suc 𝐶 ∧ ( 𝐴 × 𝐵 ) ≠ ∅ ) → ( rank ‘ ( 𝐴 × 𝐵 ) ) = suc suc ( rank ‘ ( 𝐴 ∪ 𝐵 ) ) ) |