Metamath Proof Explorer


Theorem rankxplim3

Description: The rank of a Cartesian product is a limit ordinal iff its union is. (Contributed by NM, 19-Sep-2006)

Ref Expression
Hypotheses rankxplim.1 ⊢ A ∈ V
rankxplim.2 ⊢ B ∈ V
Assertion rankxplim3 ⊢ Lim ⁡ rank ⁡ A × B ↔ Lim ⁡ ⋃ rank ⁡ A × B

Proof

Step Hyp Ref Expression
1 rankxplim.1 ⊢ A ∈ V
2 rankxplim.2 ⊢ B ∈ V
3 limuni2 ⊢ Lim ⁡ rank ⁡ A × B → Lim ⁡ ⋃ rank ⁡ A × B
4 0ellim ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ∅ ∈ ⋃ rank ⁡ A × B
5 n0i ⊢ ∅ ∈ ⋃ rank ⁡ A × B → ¬ ⋃ rank ⁡ A × B = ∅
6 unieq ⊢ rank ⁡ A × B = ∅ → ⋃ rank ⁡ A × B = ⋃ ∅
7 uni0 ⊢ ⋃ ∅ = ∅
8 6 7 eqtrdi ⊢ rank ⁡ A × B = ∅ → ⋃ rank ⁡ A × B = ∅
9 8 con3i ⊢ ¬ ⋃ rank ⁡ A × B = ∅ → ¬ rank ⁡ A × B = ∅
10 4 5 9 3syl ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ¬ rank ⁡ A × B = ∅
11 rankon ⊢ rank ⁡ A ∪ B ∈ On
12 11 onsuci ⊢ suc ⁡ rank ⁡ A ∪ B ∈ On
13 12 onsuci ⊢ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ On
14 13 elexi ⊢ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ V
15 14 sucid ⊢ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B
16 13 onsuci ⊢ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ On
17 ontri1 ⊢ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ On ∧ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ On → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B ↔ ¬ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B
18 16 13 17 mp2an ⊢ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B ↔ ¬ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B
19 18 con2bii ⊢ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ↔ ¬ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B
20 15 19 mpbi ⊢ ¬ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B
21 1 2 rankxpu ⊢ rank ⁡ A × B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B
22 sstr ⊢ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B ∧ rank ⁡ A × B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B
23 21 22 mpan2 ⊢ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ suc ⁡ suc ⁡ rank ⁡ A ∪ B
24 20 23 mto ⊢ ¬ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
25 reeanv ⊢ ∃ x ∈ On ∃ y ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y ↔ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y
26 simprl ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → rank ⁡ A ∪ B = suc ⁡ x
27 simpr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x → rank ⁡ A ∪ B = suc ⁡ x
28 df-ne ⊢ A × B ≠ ∅ ↔ ¬ A × B = ∅
29 1 2 xpex ⊢ A × B ∈ V
30 29 rankeq0 ⊢ A × B = ∅ ↔ rank ⁡ A × B = ∅
31 30 notbii ⊢ ¬ A × B = ∅ ↔ ¬ rank ⁡ A × B = ∅
32 28 31 bitr2i ⊢ ¬ rank ⁡ A × B = ∅ ↔ A × B ≠ ∅
33 10 32 sylib ⊢ Lim ⁡ ⋃ rank ⁡ A × B → A × B ≠ ∅
34 unixp ⊢ A × B ≠ ∅ → ⋃ ⋃ A × B = A ∪ B
35 33 34 syl ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ⋃ ⋃ A × B = A ∪ B
36 35 fveq2d ⊢ Lim ⁡ ⋃ rank ⁡ A × B → rank ⁡ ⋃ ⋃ A × B = rank ⁡ A ∪ B
37 rankuni ⊢ rank ⁡ ⋃ ⋃ A × B = ⋃ rank ⁡ ⋃ A × B
38 rankuni ⊢ rank ⁡ ⋃ A × B = ⋃ rank ⁡ A × B
39 38 unieqi ⊢ ⋃ rank ⁡ ⋃ A × B = ⋃ ⋃ rank ⁡ A × B
40 37 39 eqtri ⊢ rank ⁡ ⋃ ⋃ A × B = ⋃ ⋃ rank ⁡ A × B
41 36 40 eqtr3di ⊢ Lim ⁡ ⋃ rank ⁡ A × B → rank ⁡ A ∪ B = ⋃ ⋃ rank ⁡ A × B
42 eqimss ⊢ rank ⁡ A ∪ B = ⋃ ⋃ rank ⁡ A × B → rank ⁡ A ∪ B ⊆ ⋃ ⋃ rank ⁡ A × B
43 41 42 syl ⊢ Lim ⁡ ⋃ rank ⁡ A × B → rank ⁡ A ∪ B ⊆ ⋃ ⋃ rank ⁡ A × B
44 43 adantr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x → rank ⁡ A ∪ B ⊆ ⋃ ⋃ rank ⁡ A × B
45 27 44 eqsstrrd ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x → suc ⁡ x ⊆ ⋃ ⋃ rank ⁡ A × B
46 45 adantrr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ x ⊆ ⋃ ⋃ rank ⁡ A × B
47 limuni ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ⋃ rank ⁡ A × B = ⋃ ⋃ rank ⁡ A × B
48 47 adantr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → ⋃ rank ⁡ A × B = ⋃ ⋃ rank ⁡ A × B
49 46 48 sseqtrrd ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ x ⊆ ⋃ rank ⁡ A × B
50 vex ⊢ x ∈ V
51 rankon ⊢ rank ⁡ A × B ∈ On
52 51 onordi ⊢ Ord ⁡ rank ⁡ A × B
53 orduni ⊢ Ord ⁡ rank ⁡ A × B → Ord ⁡ ⋃ rank ⁡ A × B
54 52 53 ax-mp ⊢ Ord ⁡ ⋃ rank ⁡ A × B
55 ordelsuc ⊢ x ∈ V ∧ Ord ⁡ ⋃ rank ⁡ A × B → x ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ x ⊆ ⋃ rank ⁡ A × B
56 50 54 55 mp2an ⊢ x ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ x ⊆ ⋃ rank ⁡ A × B
57 49 56 sylibr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → x ∈ ⋃ rank ⁡ A × B
58 limsuc ⊢ Lim ⁡ ⋃ rank ⁡ A × B → x ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ x ∈ ⋃ rank ⁡ A × B
59 58 adantr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → x ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ x ∈ ⋃ rank ⁡ A × B
60 57 59 mpbid ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ x ∈ ⋃ rank ⁡ A × B
61 26 60 eqeltrd ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B
62 limsuc ⊢ Lim ⁡ ⋃ rank ⁡ A × B → rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B
63 62 adantr ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B
64 61 63 mpbid ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B
65 ordsucelsuc ⊢ Ord ⁡ ⋃ rank ⁡ A × B → suc ⁡ rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ ⋃ rank ⁡ A × B
66 54 65 ax-mp ⊢ suc ⁡ rank ⁡ A ∪ B ∈ ⋃ rank ⁡ A × B ↔ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ ⋃ rank ⁡ A × B
67 64 66 sylib ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ suc ⁡ ⋃ rank ⁡ A × B
68 onsucuni2 ⊢ rank ⁡ A × B ∈ On ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ ⋃ rank ⁡ A × B = rank ⁡ A × B
69 51 68 mpan ⊢ rank ⁡ A × B = suc ⁡ y → suc ⁡ ⋃ rank ⁡ A × B = rank ⁡ A × B
70 69 ad2antll ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ ⋃ rank ⁡ A × B = rank ⁡ A × B
71 67 70 eleqtrd ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ rank ⁡ A × B
72 13 51 onsucssi ⊢ suc ⁡ suc ⁡ rank ⁡ A ∪ B ∈ rank ⁡ A × B ↔ suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
73 71 72 sylib ⊢ Lim ⁡ ⋃ rank ⁡ A × B ∧ rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
74 73 ex ⊢ Lim ⁡ ⋃ rank ⁡ A × B → rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
75 74 a1d ⊢ Lim ⁡ ⋃ rank ⁡ A × B → x ∈ On ∧ y ∈ On → rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
76 75 rexlimdvv ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ∃ x ∈ On ∃ y ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
77 25 76 biimtrrid ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → suc ⁡ suc ⁡ suc ⁡ rank ⁡ A ∪ B ⊆ rank ⁡ A × B
78 24 77 mtoi ⊢ Lim ⁡ ⋃ rank ⁡ A × B → ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y
79 ianor ⊢ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y ↔ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∨ ¬ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y
80 un00 ⊢ A = ∅ ∧ B = ∅ ↔ A ∪ B = ∅
81 animorl ⊢ A = ∅ ∧ B = ∅ → A = ∅ ∨ B = ∅
82 80 81 sylbir ⊢ A ∪ B = ∅ → A = ∅ ∨ B = ∅
83 xpeq0 ⊢ A × B = ∅ ↔ A = ∅ ∨ B = ∅
84 82 83 sylibr ⊢ A ∪ B = ∅ → A × B = ∅
85 84 con3i ⊢ ¬ A × B = ∅ → ¬ A ∪ B = ∅
86 31 85 sylbir ⊢ ¬ rank ⁡ A × B = ∅ → ¬ A ∪ B = ∅
87 1 2 unex ⊢ A ∪ B ∈ V
88 87 rankeq0 ⊢ A ∪ B = ∅ ↔ rank ⁡ A ∪ B = ∅
89 88 notbii ⊢ ¬ A ∪ B = ∅ ↔ ¬ rank ⁡ A ∪ B = ∅
90 86 89 sylib ⊢ ¬ rank ⁡ A × B = ∅ → ¬ rank ⁡ A ∪ B = ∅
91 11 onordi ⊢ Ord ⁡ rank ⁡ A ∪ B
92 ordzsl ⊢ Ord ⁡ rank ⁡ A ∪ B ↔ rank ⁡ A ∪ B = ∅ ∨ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∨ Lim ⁡ rank ⁡ A ∪ B
93 91 92 mpbi ⊢ rank ⁡ A ∪ B = ∅ ∨ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∨ Lim ⁡ rank ⁡ A ∪ B
94 93 3ori ⊢ ¬ rank ⁡ A ∪ B = ∅ ∧ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x → Lim ⁡ rank ⁡ A ∪ B
95 90 94 sylan ⊢ ¬ rank ⁡ A × B = ∅ ∧ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x → Lim ⁡ rank ⁡ A ∪ B
96 95 ex ⊢ ¬ rank ⁡ A × B = ∅ → ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x → Lim ⁡ rank ⁡ A ∪ B
97 ordzsl ⊢ Ord ⁡ rank ⁡ A × B ↔ rank ⁡ A × B = ∅ ∨ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y ∨ Lim ⁡ rank ⁡ A × B
98 52 97 mpbi ⊢ rank ⁡ A × B = ∅ ∨ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y ∨ Lim ⁡ rank ⁡ A × B
99 98 3ori ⊢ ¬ rank ⁡ A × B = ∅ ∧ ¬ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A × B
100 99 ex ⊢ ¬ rank ⁡ A × B = ∅ → ¬ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A × B
101 96 100 orim12d ⊢ ¬ rank ⁡ A × B = ∅ → ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∨ ¬ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A ∪ B ∨ Lim ⁡ rank ⁡ A × B
102 79 101 biimtrid ⊢ ¬ rank ⁡ A × B = ∅ → ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A ∪ B ∨ Lim ⁡ rank ⁡ A × B
103 102 imp ⊢ ¬ rank ⁡ A × B = ∅ ∧ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A ∪ B ∨ Lim ⁡ rank ⁡ A × B
104 simpl ⊢ Lim ⁡ rank ⁡ A ∪ B ∧ ¬ rank ⁡ A × B = ∅ → Lim ⁡ rank ⁡ A ∪ B
105 30 necon3abii ⊢ A × B ≠ ∅ ↔ ¬ rank ⁡ A × B = ∅
106 1 2 rankxplim ⊢ Lim ⁡ rank ⁡ A ∪ B ∧ A × B ≠ ∅ → rank ⁡ A × B = rank ⁡ A ∪ B
107 105 106 sylan2br ⊢ Lim ⁡ rank ⁡ A ∪ B ∧ ¬ rank ⁡ A × B = ∅ → rank ⁡ A × B = rank ⁡ A ∪ B
108 limeq ⊢ rank ⁡ A × B = rank ⁡ A ∪ B → Lim ⁡ rank ⁡ A × B ↔ Lim ⁡ rank ⁡ A ∪ B
109 107 108 syl ⊢ Lim ⁡ rank ⁡ A ∪ B ∧ ¬ rank ⁡ A × B = ∅ → Lim ⁡ rank ⁡ A × B ↔ Lim ⁡ rank ⁡ A ∪ B
110 104 109 mpbird ⊢ Lim ⁡ rank ⁡ A ∪ B ∧ ¬ rank ⁡ A × B = ∅ → Lim ⁡ rank ⁡ A × B
111 110 expcom ⊢ ¬ rank ⁡ A × B = ∅ → Lim ⁡ rank ⁡ A ∪ B → Lim ⁡ rank ⁡ A × B
112 idd ⊢ ¬ rank ⁡ A × B = ∅ → Lim ⁡ rank ⁡ A × B → Lim ⁡ rank ⁡ A × B
113 111 112 jaod ⊢ ¬ rank ⁡ A × B = ∅ → Lim ⁡ rank ⁡ A ∪ B ∨ Lim ⁡ rank ⁡ A × B → Lim ⁡ rank ⁡ A × B
114 113 adantr ⊢ ¬ rank ⁡ A × B = ∅ ∧ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A ∪ B ∨ Lim ⁡ rank ⁡ A × B → Lim ⁡ rank ⁡ A × B
115 103 114 mpd ⊢ ¬ rank ⁡ A × B = ∅ ∧ ¬ ∃ x ∈ On rank ⁡ A ∪ B = suc ⁡ x ∧ ∃ y ∈ On rank ⁡ A × B = suc ⁡ y → Lim ⁡ rank ⁡ A × B
116 10 78 115 syl2anc ⊢ Lim ⁡ ⋃ rank ⁡ A × B → Lim ⁡ rank ⁡ A × B
117 3 116 impbii ⊢ Lim ⁡ rank ⁡ A × B ↔ Lim ⁡ ⋃ rank ⁡ A × B