HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem rankxpsuc 4695
Description: The rank of a cross product when the rank of the union of its arguments is a successor ordinal. Part of Exercise 4 of [Kunen] p. 107. See rankxplim 4692 for the limit ordinal case.
Hypotheses
Ref Expression
rankxplim.1 |- A e. V
rankxplim.2 |- B e. V
Assertion
Ref Expression
rankxpsuc |- (((rank` (A u. B)) = suc C /\ (A X. B) =/= (/)) -> (rank` (A X. B)) = suc suc (rank`
(A u. B)))

Proof of Theorem rankxpsuc
StepHypRef Expression
1 unixp 3509 . . . . . . . 8 |- ((A X. B) =/= (/) -> U.U.(A X. B) = (A u. B))
21fveq2d 3719 . . . . . . 7 |- ((A X. B) =/= (/) -> (rank` U.U.(A X. B)) = (rank`
(A u. B)))
3 rankuni 4678 . . . . . . . 8 |- (rank` U.U.(A X. B)) = U.(rank` U.(A X. B))
4 rankuni 4678 . . . . . . . . 9 |- (rank` U.(A X. B)) = U.(rank`
(A X. B))
54unieqi 2506 . . . . . . . 8 |- U.(rank` U.(A X. B)) = U.U.(rank` (A X. B))
63, 5eqtr 1492 . . . . . . 7 |- (rank` U.U.(A X. B)) = U.U.(rank` (A X. B))
72, 6syl5reqr 1519 . . . . . 6 |- ((A X. B) =/= (/) -> (rank` (A u. B)) = U.U.(rank`
(A X. B)))
8 suc11reg 4585 . . . . . 6 |- (suc (rank` (A u. B)) = suc U.U.(rank` (A X. B)) <-> (rank`
(A u. B)) = U.U.(rank`
(A X. B)))
97, 8sylibr 200 . . . . 5 |- ((A X. B) =/= (/) -> suc (rank` (A u. B)) = suc U.U.(rank` (A X. B)))
109adantl 388 . . . 4 |- (((rank` (A u. B)) = suc C /\ (A X. B) =/= (/)) -> suc (rank` (A u. B)) = suc U.U.(rank` (A X. B)))
11 fvex 3723 . . . . . . . . . . . . 13 |- (rank` (A u. B)) e. V
12 eleq1 1531 . . . . . . . . . . . . 13 |- ((rank` (A u. B)) = suc C -> ((rank` (A u. B)) e. V <-> suc C e. V))
1311, 12mpbii 193 . . . . . . . . . . . 12 |- ((rank` (A u. B)) = suc C -> suc C e. V)
14 sucexb 3043 . . . . . . . . . . . 12 |- (C e. V <-> suc C e. V)
1513, 14sylibr 200 . . . . . . . . . . 11 |- ((rank` (A u. B)) = suc C -> C e. V)
16 nlimsucg 3107 . . . . . . . . . . 11 |- (C e. V -> -. Lim suc C)
1715, 16syl 10 . . . . . . . . . 10 |- ((rank` (A u. B)) = suc C -> -. Lim suc C)
18 limeq 2955 . . . . . . . . . 10 |- ((rank` (A u. B)) = suc C -> (Lim (rank`
(A u. B)) <-> Lim suc C))
1917, 18mtbird 714 . . . . . . . . 9 |- ((rank` (A u. B)) = suc C -> -. Lim (rank`
(A u. B)))
20 rankxplim.1 . . . . . . . . . . 11 |- A e. V
21 rankxplim.2 . . . . . . . . . . 11 |- B e. V
2220, 21rankxplim2 4693 . . . . . . . . . 10 |- (Lim (rank` (A X. B)) -> Lim (rank` (A u. B)))
2322con3i 98 . . . . . . . . 9 |- (-. Lim (rank` (A u. B)) -> -. Lim (rank` (A X. B)))
2420, 21xpex 3255 . . . . . . . . . . . . . . 15 |- (A X. B) e. V
2524rankeq0 4676 . . . . . . . . . . . . . 14 |- ((A X. B) = (/) <-> (rank`
(A X. B)) = (/))
2625necon3abii 1593 . . . . . . . . . . . . 13 |- ((A X. B) =/= (/) <-> -. (rank` (A X. B)) = (/))
27 rankon 4651 . . . . . . . . . . . . . . . . 17 |- (rank` (A X. B)) e. On
2827onord 3090 . . . . . . . . . . . . . . . 16 |- Ord (rank` (A X. B))
29 ordzsl 3111 . . . . . . . . . . . . . . . 16 |- (Ord (rank` (A X. B)) <-> ((rank` (A X. B)) = (/) \/ E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B))))
3028, 29mpbi 189 . . . . . . . . . . . . . . 15 |- ((rank` (A X. B)) = (/) \/ E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B)))
31 3orass 777 . . . . . . . . . . . . . . 15 |- (((rank` (A X. B)) = (/) \/ E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B))) <-> ((rank` (A X. B)) = (/) \/ (E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B)))))
3230, 31mpbi 189 . . . . . . . . . . . . . 14 |- ((rank` (A X. B)) = (/) \/ (E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B))))
3332ori 230 . . . . . . . . . . . . 13 |- (-. (rank` (A X. B)) = (/) -> (E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B))))
3426, 33sylbi 199 . . . . . . . . . . . 12 |- ((A X. B) =/= (/) -> (E.x e. On (rank` (A X. B)) = suc x \/ Lim (rank` (A X. B))))
3534ord 232 . . . . . . . . . . 11 |- ((A X. B) =/= (/) -> (-. E.x e. On (rank` (A X. B)) = suc x -> Lim (rank` (A X. B))))
3635con1d 93 . . . . . . . . . 10 |- ((A X. B) =/= (/) -> (-. Lim (rank` (A X. B)) -> E.x e. On (rank` (A X. B)) = suc x))
3736com12 11 . . . . . . . . 9 |- (-. Lim (rank` (A X. B)) -> ((A X. B) =/= (/) -> E.x e. On (rank` (A X. B)) = suc x))
3819, 23, 373syl 20 . . . . . . . 8 |- ((rank` (A u. B)) = suc C -> ((A X. B) =/= (/) -> E.x e. On (rank` (A X. B)) = suc x))
39 visset 1809 . . . . . . . . . . . . 13 |- x e. V
40 nlimsucg 3107 . . . . . . . . . . . . 13 |- (x e. V -> -. Lim suc x)
4139, 40ax-mp 7 . . . . . . . . . . . 12 |- -. Lim suc x
42 limeq 2955 . . . . . . . . . . . 12 |- ((rank` (A X. B)) = suc x -> (Lim (rank`
(A X. B)) <-> Lim suc x))
4341, 42mtbiri 716 . . . . . . . . . . 11 |- ((rank` (A X. B)) = suc x -> -. Lim (rank`
(A X. B)))
4443a1i 8 . . . . . . . . . 10 |- (x e. On -> ((rank` (A X. B)) = suc x -> -. Lim (rank` (A X. B))))
4544r19.23aiv 1740 . . . . . . . . 9 |- (E.x e. On (rank` (A X. B)) = suc x -> -. Lim (rank`
(A X. B)))
4620, 21rankxplim3 4694 . . . . . . . . . 10 |- (Lim (rank` (A X. B)) <-> Lim U.(rank` (A X. B)))
4746negbii 187 . . . . . . . . 9 |- (-. Lim (rank` (A X. B)) <-> -. Lim U.(rank` (A X. B)))
4845, 47sylib 198 . . . . . . . 8 |- (E.x e. On (rank` (A X. B)) = suc x -> -. Lim U.(rank` (A X. B)))
4938, 48syl6com 53 . . . . . . 7 |- ((A X. B) =/= (/) -> ((rank` (A u. B)) = suc C -> -. Lim U.(rank` (A X. B))))
50 unixp0 3510 . . . . . . . . . . . 12 |- ((A X. B) = (/) <-> U.(A X. B) = (/))
5124uniex 2865 . . . . . . . . . . . . 13 |- U.(A X. B) e. V
5251rankeq0 4676 . . . . . . . . . . . 12 |- (U.(A X. B) = (/) <-> (rank` U.(A X. B)) = (/))
534eqeq1i 1479 . . . . . . . . . . . 12 |- ((rank` U.(A X. B)) = (/) <-> U.(rank` (A X. B)) = (/))
5450, 52, 533bitr 177 . . . . . . . . . . 11 |- ((A X. B) = (/) <-> U.(rank` (A X. B)) = (/))
5554necon3abii 1593 . . . . . . . . . 10 |- ((A X. B) =/= (/) <-> -. U.(rank` (A X. B)) = (/))
56 onuni 2991 . . . . . . . . . . . . . . 15 |- ((rank` (A X. B)) e. On -> U.(rank` (A X. B)) e. On)
5727, 56ax-mp 7 . . . . . . . . . . . . . 14 |- U.(rank` (A X. B)) e. On
5857onord 3090 . . . . . . . . . . . . 13 |- Ord U.(rank` (A X. B))
59 ordzsl 3111 . . . . . . . . . . . . 13 |- (Ord U.(rank` (A X. B)) <-> (U.(rank` (A X. B)) = (/) \/ E.x e. On U.(rank` (A X. B)) = suc x \/ Lim U.(rank` (A X. B))))
6058, 59mpbi 189 . . . . . . . . . . . 12 |- (U.(rank` (A X. B)) = (/) \/ E.x e. On U.(rank` (A X. B)) = suc x \/ Lim U.(rank` (A X. B)))
61 3orass 777 . . . . . . . . . . . 12 |- ((U.(rank`
(A X. B)) = (/) \/ E.x e. On U.(rank` (A X. B)) = suc x \/ Lim U.(rank` (A X. B))) <-> (U.(rank` (A X. B)) = (/) \/ (E.x e. On U.(rank` (A X. B)) = suc x \/ Lim U.(rank` (A X. B)))))
6260, 61mpbi 189 . . . . . . . . . . 11 |- (U.(rank` (A X. B)) = (/) \/ (E.x e. On U.(rank` (A X. B)) = suc x \/ Lim U.(rank` (A X. B))))
6362ori 230 . . . . . . . . . 10 |- (-. U.(rank` (A X. B)) = (/) -> (E.x e. On U.(rank`
(A X. B)) = suc x \/ Lim U.(rank` (A X. B))))
6455, 63sylbi 199 . . . . . . . . 9 |- ((A X. B) =/= (/) -> (E.x e. On U.(rank` (A X. B)) = suc x \/ Lim U.(rank` (A X. B))))
6564ord 232 . . . . . . . 8 |- ((