Metamath Proof Explorer


Theorem rankr1ai

Description: One direction of rankr1a . (Contributed by Mario Carneiro, 28-May-2013) (Revised by Mario Carneiro, 17-Nov-2014)

Ref Expression
Assertion rankr1ai
|- ( A e. ( R1 ` B ) -> ( rank ` A ) e. B )

Proof

Step Hyp Ref Expression
1 elfvdm
 |-  ( A e. ( R1 ` B ) -> B e. dom R1 )
2 r1val1
 |-  ( B e. dom R1 -> ( R1 ` B ) = U_ x e. B ~P ( R1 ` x ) )
3 2 eleq2d
 |-  ( B e. dom R1 -> ( A e. ( R1 ` B ) <-> A e. U_ x e. B ~P ( R1 ` x ) ) )
4 eliun
 |-  ( A e. U_ x e. B ~P ( R1 ` x ) <-> E. x e. B A e. ~P ( R1 ` x ) )
5 3 4 bitrdi
 |-  ( B e. dom R1 -> ( A e. ( R1 ` B ) <-> E. x e. B A e. ~P ( R1 ` x ) ) )
6 r1dmlim
 |-  Lim dom R1
7 limord
 |-  ( Lim dom R1 -> Ord dom R1 )
8 6 7 ax-mp
 |-  Ord dom R1
9 ordtr1
 |-  ( Ord dom R1 -> ( ( x e. B /\ B e. dom R1 ) -> x e. dom R1 ) )
10 8 9 ax-mp
 |-  ( ( x e. B /\ B e. dom R1 ) -> x e. dom R1 )
11 10 ancoms
 |-  ( ( B e. dom R1 /\ x e. B ) -> x e. dom R1 )
12 r1sucg
 |-  ( x e. dom R1 -> ( R1 ` suc x ) = ~P ( R1 ` x ) )
13 12 eleq2d
 |-  ( x e. dom R1 -> ( A e. ( R1 ` suc x ) <-> A e. ~P ( R1 ` x ) ) )
14 11 13 syl
 |-  ( ( B e. dom R1 /\ x e. B ) -> ( A e. ( R1 ` suc x ) <-> A e. ~P ( R1 ` x ) ) )
15 ordsson
 |-  ( Ord dom R1 -> dom R1 C_ On )
16 8 15 ax-mp
 |-  dom R1 C_ On
17 16 11 sselid
 |-  ( ( B e. dom R1 /\ x e. B ) -> x e. On )
18 rabid
 |-  ( x e. { x e. On | A e. ( R1 ` suc x ) } <-> ( x e. On /\ A e. ( R1 ` suc x ) ) )
19 intss1
 |-  ( x e. { x e. On | A e. ( R1 ` suc x ) } -> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x )
20 18 19 sylbir
 |-  ( ( x e. On /\ A e. ( R1 ` suc x ) ) -> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x )
21 17 20 sylan
 |-  ( ( ( B e. dom R1 /\ x e. B ) /\ A e. ( R1 ` suc x ) ) -> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x )
22 21 ex
 |-  ( ( B e. dom R1 /\ x e. B ) -> ( A e. ( R1 ` suc x ) -> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x ) )
23 14 22 sylbird
 |-  ( ( B e. dom R1 /\ x e. B ) -> ( A e. ~P ( R1 ` x ) -> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x ) )
24 23 reximdva
 |-  ( B e. dom R1 -> ( E. x e. B A e. ~P ( R1 ` x ) -> E. x e. B |^| { x e. On | A e. ( R1 ` suc x ) } C_ x ) )
25 5 24 sylbid
 |-  ( B e. dom R1 -> ( A e. ( R1 ` B ) -> E. x e. B |^| { x e. On | A e. ( R1 ` suc x ) } C_ x ) )
26 1 25 mpcom
 |-  ( A e. ( R1 ` B ) -> E. x e. B |^| { x e. On | A e. ( R1 ` suc x ) } C_ x )
27 r1elwf
 |-  ( A e. ( R1 ` B ) -> A e. U. ( R1 " On ) )
28 rankvalb
 |-  ( A e. U. ( R1 " On ) -> ( rank ` A ) = |^| { x e. On | A e. ( R1 ` suc x ) } )
29 27 28 syl
 |-  ( A e. ( R1 ` B ) -> ( rank ` A ) = |^| { x e. On | A e. ( R1 ` suc x ) } )
30 29 sseq1d
 |-  ( A e. ( R1 ` B ) -> ( ( rank ` A ) C_ x <-> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x ) )
31 30 adantr
 |-  ( ( A e. ( R1 ` B ) /\ x e. B ) -> ( ( rank ` A ) C_ x <-> |^| { x e. On | A e. ( R1 ` suc x ) } C_ x ) )
32 rankon
 |-  ( rank ` A ) e. On
33 16 1 sselid
 |-  ( A e. ( R1 ` B ) -> B e. On )
34 ontr2
 |-  ( ( ( rank ` A ) e. On /\ B e. On ) -> ( ( ( rank ` A ) C_ x /\ x e. B ) -> ( rank ` A ) e. B ) )
35 32 33 34 sylancr
 |-  ( A e. ( R1 ` B ) -> ( ( ( rank ` A ) C_ x /\ x e. B ) -> ( rank ` A ) e. B ) )
36 35 expcomd
 |-  ( A e. ( R1 ` B ) -> ( x e. B -> ( ( rank ` A ) C_ x -> ( rank ` A ) e. B ) ) )
37 36 imp
 |-  ( ( A e. ( R1 ` B ) /\ x e. B ) -> ( ( rank ` A ) C_ x -> ( rank ` A ) e. B ) )
38 31 37 sylbird
 |-  ( ( A e. ( R1 ` B ) /\ x e. B ) -> ( |^| { x e. On | A e. ( R1 ` suc x ) } C_ x -> ( rank ` A ) e. B ) )
39 38 rexlimdva
 |-  ( A e. ( R1 ` B ) -> ( E. x e. B |^| { x e. On | A e. ( R1 ` suc x ) } C_ x -> ( rank ` A ) e. B ) )
40 26 39 mpd
 |-  ( A e. ( R1 ` B ) -> ( rank ` A ) e. B )