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 ‘ ( 𝐴 ∪ 𝐵 ) ) ) |