This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for dfac11 . Limit case. Patch together well-orderings constructed so far using fnwe2 to cover the limit rank. (Contributed by Stefan O'Rear, 20-Jan-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | aomclem4.f | |- F = { <. a , b >. | ( ( rank ` a ) _E ( rank ` b ) \/ ( ( rank ` a ) = ( rank ` b ) /\ a ( z ` suc ( rank ` a ) ) b ) ) } |
|
| aomclem4.on | |- ( ph -> dom z e. On ) |
||
| aomclem4.su | |- ( ph -> dom z = U. dom z ) |
||
| aomclem4.we | |- ( ph -> A. a e. dom z ( z ` a ) We ( R1 ` a ) ) |
||
| Assertion | aomclem4 | |- ( ph -> F We ( R1 ` dom z ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | aomclem4.f | |- F = { <. a , b >. | ( ( rank ` a ) _E ( rank ` b ) \/ ( ( rank ` a ) = ( rank ` b ) /\ a ( z ` suc ( rank ` a ) ) b ) ) } |
|
| 2 | aomclem4.on | |- ( ph -> dom z e. On ) |
|
| 3 | aomclem4.su | |- ( ph -> dom z = U. dom z ) |
|
| 4 | aomclem4.we | |- ( ph -> A. a e. dom z ( z ` a ) We ( R1 ` a ) ) |
|
| 5 | suceq | |- ( c = ( rank ` a ) -> suc c = suc ( rank ` a ) ) |
|
| 6 | 5 | fveq2d | |- ( c = ( rank ` a ) -> ( z ` suc c ) = ( z ` suc ( rank ` a ) ) ) |
| 7 | r1fnon | |- R1 Fn On |
|
| 8 | fnfun | |- ( R1 Fn On -> Fun R1 ) |
|
| 9 | 7 8 | ax-mp | |- Fun R1 |
| 10 | 7 | fndmi | |- dom R1 = On |
| 11 | 10 | eqimss2i | |- On C_ dom R1 |
| 12 | 9 11 | pm3.2i | |- ( Fun R1 /\ On C_ dom R1 ) |
| 13 | funfvima2 | |- ( ( Fun R1 /\ On C_ dom R1 ) -> ( dom z e. On -> ( R1 ` dom z ) e. ( R1 " On ) ) ) |
|
| 14 | 12 2 13 | mpsyl | |- ( ph -> ( R1 ` dom z ) e. ( R1 " On ) ) |
| 15 | elssuni | |- ( ( R1 ` dom z ) e. ( R1 " On ) -> ( R1 ` dom z ) C_ U. ( R1 " On ) ) |
|
| 16 | 14 15 | syl | |- ( ph -> ( R1 ` dom z ) C_ U. ( R1 " On ) ) |
| 17 | 16 | sselda | |- ( ( ph /\ b e. ( R1 ` dom z ) ) -> b e. U. ( R1 " On ) ) |
| 18 | rankidb | |- ( b e. U. ( R1 " On ) -> b e. ( R1 ` suc ( rank ` b ) ) ) |
|
| 19 | 17 18 | syl | |- ( ( ph /\ b e. ( R1 ` dom z ) ) -> b e. ( R1 ` suc ( rank ` b ) ) ) |
| 20 | suceq | |- ( ( rank ` b ) = ( rank ` a ) -> suc ( rank ` b ) = suc ( rank ` a ) ) |
|
| 21 | 20 | fveq2d | |- ( ( rank ` b ) = ( rank ` a ) -> ( R1 ` suc ( rank ` b ) ) = ( R1 ` suc ( rank ` a ) ) ) |
| 22 | 21 | eleq2d | |- ( ( rank ` b ) = ( rank ` a ) -> ( b e. ( R1 ` suc ( rank ` b ) ) <-> b e. ( R1 ` suc ( rank ` a ) ) ) ) |
| 23 | 19 22 | syl5ibcom | |- ( ( ph /\ b e. ( R1 ` dom z ) ) -> ( ( rank ` b ) = ( rank ` a ) -> b e. ( R1 ` suc ( rank ` a ) ) ) ) |
| 24 | 23 | expimpd | |- ( ph -> ( ( b e. ( R1 ` dom z ) /\ ( rank ` b ) = ( rank ` a ) ) -> b e. ( R1 ` suc ( rank ` a ) ) ) ) |
| 25 | 24 | ss2abdv | |- ( ph -> { b | ( b e. ( R1 ` dom z ) /\ ( rank ` b ) = ( rank ` a ) ) } C_ { b | b e. ( R1 ` suc ( rank ` a ) ) } ) |
| 26 | df-rab | |- { b e. ( R1 ` dom z ) | ( rank ` b ) = ( rank ` a ) } = { b | ( b e. ( R1 ` dom z ) /\ ( rank ` b ) = ( rank ` a ) ) } |
|
| 27 | abid1 | |- ( R1 ` suc ( rank ` a ) ) = { b | b e. ( R1 ` suc ( rank ` a ) ) } |
|
| 28 | 25 26 27 | 3sstr4g | |- ( ph -> { b e. ( R1 ` dom z ) | ( rank ` b ) = ( rank ` a ) } C_ ( R1 ` suc ( rank ` a ) ) ) |
| 29 | 28 | adantr | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> { b e. ( R1 ` dom z ) | ( rank ` b ) = ( rank ` a ) } C_ ( R1 ` suc ( rank ` a ) ) ) |
| 30 | fveq2 | |- ( b = suc ( rank ` a ) -> ( z ` b ) = ( z ` suc ( rank ` a ) ) ) |
|
| 31 | fveq2 | |- ( b = suc ( rank ` a ) -> ( R1 ` b ) = ( R1 ` suc ( rank ` a ) ) ) |
|
| 32 | 30 31 | weeq12d | |- ( b = suc ( rank ` a ) -> ( ( z ` b ) We ( R1 ` b ) <-> ( z ` suc ( rank ` a ) ) We ( R1 ` suc ( rank ` a ) ) ) ) |
| 33 | fveq2 | |- ( a = b -> ( z ` a ) = ( z ` b ) ) |
|
| 34 | fveq2 | |- ( a = b -> ( R1 ` a ) = ( R1 ` b ) ) |
|
| 35 | 33 34 | weeq12d | |- ( a = b -> ( ( z ` a ) We ( R1 ` a ) <-> ( z ` b ) We ( R1 ` b ) ) ) |
| 36 | 35 | cbvralvw | |- ( A. a e. dom z ( z ` a ) We ( R1 ` a ) <-> A. b e. dom z ( z ` b ) We ( R1 ` b ) ) |
| 37 | 4 36 | sylib | |- ( ph -> A. b e. dom z ( z ` b ) We ( R1 ` b ) ) |
| 38 | 37 | adantr | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> A. b e. dom z ( z ` b ) We ( R1 ` b ) ) |
| 39 | rankr1ai | |- ( a e. ( R1 ` dom z ) -> ( rank ` a ) e. dom z ) |
|
| 40 | 39 | adantl | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> ( rank ` a ) e. dom z ) |
| 41 | eloni | |- ( dom z e. On -> Ord dom z ) |
|
| 42 | 2 41 | syl | |- ( ph -> Ord dom z ) |
| 43 | limsuc2 | |- ( ( Ord dom z /\ dom z = U. dom z ) -> ( ( rank ` a ) e. dom z <-> suc ( rank ` a ) e. dom z ) ) |
|
| 44 | 42 3 43 | syl2anc | |- ( ph -> ( ( rank ` a ) e. dom z <-> suc ( rank ` a ) e. dom z ) ) |
| 45 | 44 | adantr | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> ( ( rank ` a ) e. dom z <-> suc ( rank ` a ) e. dom z ) ) |
| 46 | 40 45 | mpbid | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> suc ( rank ` a ) e. dom z ) |
| 47 | 32 38 46 | rspcdva | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> ( z ` suc ( rank ` a ) ) We ( R1 ` suc ( rank ` a ) ) ) |
| 48 | wess | |- ( { b e. ( R1 ` dom z ) | ( rank ` b ) = ( rank ` a ) } C_ ( R1 ` suc ( rank ` a ) ) -> ( ( z ` suc ( rank ` a ) ) We ( R1 ` suc ( rank ` a ) ) -> ( z ` suc ( rank ` a ) ) We { b e. ( R1 ` dom z ) | ( rank ` b ) = ( rank ` a ) } ) ) |
|
| 49 | 29 47 48 | sylc | |- ( ( ph /\ a e. ( R1 ` dom z ) ) -> ( z ` suc ( rank ` a ) ) We { b e. ( R1 ` dom z ) | ( rank ` b ) = ( rank ` a ) } ) |
| 50 | rankf | |- rank : U. ( R1 " On ) --> On |
|
| 51 | 50 | a1i | |- ( ph -> rank : U. ( R1 " On ) --> On ) |
| 52 | 51 16 | fssresd | |- ( ph -> ( rank |` ( R1 ` dom z ) ) : ( R1 ` dom z ) --> On ) |
| 53 | epweon | |- _E We On |
|
| 54 | 53 | a1i | |- ( ph -> _E We On ) |
| 55 | 6 1 49 52 54 | fnwe2 | |- ( ph -> F We ( R1 ` dom z ) ) |