Metamath Proof Explorer


Theorem axdc2lem

Description: Lemma for axdc2 . We construct a relation R based on F such that x R y iff y e. ( Fx ) , and show that the "function" described by ax-dc can be restricted so that it is a real function (since the stated properties only show that it is the superset of a function). (Contributed by Mario Carneiro, 25-Jan-2013) (Revised by Mario Carneiro, 26-Jun-2015)

Ref Expression
Hypotheses axdc2lem.1
|- A e. _V
axdc2lem.2
|- R = { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) }
axdc2lem.3
|- G = ( x e. _om |-> ( h ` x ) )
Assertion axdc2lem
|- ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> E. g ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) )

Proof

Step Hyp Ref Expression
1 axdc2lem.1
 |-  A e. _V
2 axdc2lem.2
 |-  R = { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) }
3 axdc2lem.3
 |-  G = ( x e. _om |-> ( h ` x ) )
4 2 dmeqi
 |-  dom R = dom { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) }
5 19.42v
 |-  ( E. y ( x e. A /\ y e. ( F ` x ) ) <-> ( x e. A /\ E. y y e. ( F ` x ) ) )
6 5 abbii
 |-  { x | E. y ( x e. A /\ y e. ( F ` x ) ) } = { x | ( x e. A /\ E. y y e. ( F ` x ) ) }
7 dmopab
 |-  dom { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) } = { x | E. y ( x e. A /\ y e. ( F ` x ) ) }
8 df-rab
 |-  { x e. A | E. y y e. ( F ` x ) } = { x | ( x e. A /\ E. y y e. ( F ` x ) ) }
9 6 7 8 3eqtr4i
 |-  dom { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) } = { x e. A | E. y y e. ( F ` x ) }
10 4 9 eqtri
 |-  dom R = { x e. A | E. y y e. ( F ` x ) }
11 ffvelcdm
 |-  ( ( F : A --> ( ~P A \ { (/) } ) /\ x e. A ) -> ( F ` x ) e. ( ~P A \ { (/) } ) )
12 eldifsni
 |-  ( ( F ` x ) e. ( ~P A \ { (/) } ) -> ( F ` x ) =/= (/) )
13 n0
 |-  ( ( F ` x ) =/= (/) <-> E. y y e. ( F ` x ) )
14 12 13 sylib
 |-  ( ( F ` x ) e. ( ~P A \ { (/) } ) -> E. y y e. ( F ` x ) )
15 11 14 syl
 |-  ( ( F : A --> ( ~P A \ { (/) } ) /\ x e. A ) -> E. y y e. ( F ` x ) )
16 15 ralrimiva
 |-  ( F : A --> ( ~P A \ { (/) } ) -> A. x e. A E. y y e. ( F ` x ) )
17 rabid2
 |-  ( A = { x e. A | E. y y e. ( F ` x ) } <-> A. x e. A E. y y e. ( F ` x ) )
18 16 17 sylibr
 |-  ( F : A --> ( ~P A \ { (/) } ) -> A = { x e. A | E. y y e. ( F ` x ) } )
19 10 18 eqtr4id
 |-  ( F : A --> ( ~P A \ { (/) } ) -> dom R = A )
20 19 neeq1d
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ( dom R =/= (/) <-> A =/= (/) ) )
21 20 biimparc
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> dom R =/= (/) )
22 2 rneqi
 |-  ran R = ran { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) }
23 rnopab
 |-  ran { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) } = { y | E. x ( x e. A /\ y e. ( F ` x ) ) }
24 22 23 eqtri
 |-  ran R = { y | E. x ( x e. A /\ y e. ( F ` x ) ) }
25 eldifi
 |-  ( ( F ` x ) e. ( ~P A \ { (/) } ) -> ( F ` x ) e. ~P A )
26 elelpwi
 |-  ( ( y e. ( F ` x ) /\ ( F ` x ) e. ~P A ) -> y e. A )
27 26 expcom
 |-  ( ( F ` x ) e. ~P A -> ( y e. ( F ` x ) -> y e. A ) )
28 11 25 27 3syl
 |-  ( ( F : A --> ( ~P A \ { (/) } ) /\ x e. A ) -> ( y e. ( F ` x ) -> y e. A ) )
29 28 expimpd
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ( ( x e. A /\ y e. ( F ` x ) ) -> y e. A ) )
30 29 exlimdv
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ( E. x ( x e. A /\ y e. ( F ` x ) ) -> y e. A ) )
31 30 abssdv
 |-  ( F : A --> ( ~P A \ { (/) } ) -> { y | E. x ( x e. A /\ y e. ( F ` x ) ) } C_ A )
32 24 31 eqsstrid
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ran R C_ A )
33 32 19 sseqtrrd
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ran R C_ dom R )
34 33 adantl
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> ran R C_ dom R )
35 fvrn0
 |-  ( F ` x ) e. ( ran F u. { (/) } )
36 elssuni
 |-  ( ( F ` x ) e. ( ran F u. { (/) } ) -> ( F ` x ) C_ U. ( ran F u. { (/) } ) )
37 35 36 ax-mp
 |-  ( F ` x ) C_ U. ( ran F u. { (/) } )
38 37 sseli
 |-  ( y e. ( F ` x ) -> y e. U. ( ran F u. { (/) } ) )
39 38 anim2i
 |-  ( ( x e. A /\ y e. ( F ` x ) ) -> ( x e. A /\ y e. U. ( ran F u. { (/) } ) ) )
40 39 ssopab2i
 |-  { <. x , y >. | ( x e. A /\ y e. ( F ` x ) ) } C_ { <. x , y >. | ( x e. A /\ y e. U. ( ran F u. { (/) } ) ) }
41 df-xp
 |-  ( A X. U. ( ran F u. { (/) } ) ) = { <. x , y >. | ( x e. A /\ y e. U. ( ran F u. { (/) } ) ) }
42 40 2 41 3sstr4i
 |-  R C_ ( A X. U. ( ran F u. { (/) } ) )
43 frn
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ran F C_ ( ~P A \ { (/) } ) )
44 43 adantl
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> ran F C_ ( ~P A \ { (/) } ) )
45 1 pwex
 |-  ~P A e. _V
46 45 difexi
 |-  ( ~P A \ { (/) } ) e. _V
47 46 ssex
 |-  ( ran F C_ ( ~P A \ { (/) } ) -> ran F e. _V )
48 44 47 syl
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> ran F e. _V )
49 p0ex
 |-  { (/) } e. _V
50 unexg
 |-  ( ( ran F e. _V /\ { (/) } e. _V ) -> ( ran F u. { (/) } ) e. _V )
51 48 49 50 sylancl
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> ( ran F u. { (/) } ) e. _V )
52 51 uniexd
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> U. ( ran F u. { (/) } ) e. _V )
53 xpexg
 |-  ( ( A e. _V /\ U. ( ran F u. { (/) } ) e. _V ) -> ( A X. U. ( ran F u. { (/) } ) ) e. _V )
54 1 52 53 sylancr
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> ( A X. U. ( ran F u. { (/) } ) ) e. _V )
55 ssexg
 |-  ( ( R C_ ( A X. U. ( ran F u. { (/) } ) ) /\ ( A X. U. ( ran F u. { (/) } ) ) e. _V ) -> R e. _V )
56 42 54 55 sylancr
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> R e. _V )
57 n0
 |-  ( dom r =/= (/) <-> E. x x e. dom r )
58 vex
 |-  x e. _V
59 58 eldm
 |-  ( x e. dom r <-> E. y x r y )
60 59 exbii
 |-  ( E. x x e. dom r <-> E. x E. y x r y )
61 57 60 bitr2i
 |-  ( E. x E. y x r y <-> dom r =/= (/) )
62 dmeq
 |-  ( r = R -> dom r = dom R )
63 62 neeq1d
 |-  ( r = R -> ( dom r =/= (/) <-> dom R =/= (/) ) )
64 61 63 bitrid
 |-  ( r = R -> ( E. x E. y x r y <-> dom R =/= (/) ) )
65 rneq
 |-  ( r = R -> ran r = ran R )
66 65 62 sseq12d
 |-  ( r = R -> ( ran r C_ dom r <-> ran R C_ dom R ) )
67 64 66 anbi12d
 |-  ( r = R -> ( ( E. x E. y x r y /\ ran r C_ dom r ) <-> ( dom R =/= (/) /\ ran R C_ dom R ) ) )
68 breq
 |-  ( r = R -> ( ( h ` k ) r ( h ` suc k ) <-> ( h ` k ) R ( h ` suc k ) ) )
69 68 ralbidv
 |-  ( r = R -> ( A. k e. _om ( h ` k ) r ( h ` suc k ) <-> A. k e. _om ( h ` k ) R ( h ` suc k ) ) )
70 69 exbidv
 |-  ( r = R -> ( E. h A. k e. _om ( h ` k ) r ( h ` suc k ) <-> E. h A. k e. _om ( h ` k ) R ( h ` suc k ) ) )
71 67 70 imbi12d
 |-  ( r = R -> ( ( ( E. x E. y x r y /\ ran r C_ dom r ) -> E. h A. k e. _om ( h ` k ) r ( h ` suc k ) ) <-> ( ( dom R =/= (/) /\ ran R C_ dom R ) -> E. h A. k e. _om ( h ` k ) R ( h ` suc k ) ) ) )
72 ax-dc
 |-  ( ( E. x E. y x r y /\ ran r C_ dom r ) -> E. h A. k e. _om ( h ` k ) r ( h ` suc k ) )
73 71 72 vtoclg
 |-  ( R e. _V -> ( ( dom R =/= (/) /\ ran R C_ dom R ) -> E. h A. k e. _om ( h ` k ) R ( h ` suc k ) ) )
74 56 73 syl
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> ( ( dom R =/= (/) /\ ran R C_ dom R ) -> E. h A. k e. _om ( h ` k ) R ( h ` suc k ) ) )
75 21 34 74 mp2and
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> E. h A. k e. _om ( h ` k ) R ( h ` suc k ) )
76 simpr
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> F : A --> ( ~P A \ { (/) } ) )
77 fveq2
 |-  ( k = x -> ( h ` k ) = ( h ` x ) )
78 suceq
 |-  ( k = x -> suc k = suc x )
79 78 fveq2d
 |-  ( k = x -> ( h ` suc k ) = ( h ` suc x ) )
80 77 79 breq12d
 |-  ( k = x -> ( ( h ` k ) R ( h ` suc k ) <-> ( h ` x ) R ( h ` suc x ) ) )
81 80 rspccv
 |-  ( A. k e. _om ( h ` k ) R ( h ` suc k ) -> ( x e. _om -> ( h ` x ) R ( h ` suc x ) ) )
82 fvex
 |-  ( h ` x ) e. _V
83 fvex
 |-  ( h ` suc x ) e. _V
84 82 83 breldm
 |-  ( ( h ` x ) R ( h ` suc x ) -> ( h ` x ) e. dom R )
85 81 84 syl6
 |-  ( A. k e. _om ( h ` k ) R ( h ` suc k ) -> ( x e. _om -> ( h ` x ) e. dom R ) )
86 85 imp
 |-  ( ( A. k e. _om ( h ` k ) R ( h ` suc k ) /\ x e. _om ) -> ( h ` x ) e. dom R )
87 86 adantll
 |-  ( ( ( dom R = A /\ A. k e. _om ( h ` k ) R ( h ` suc k ) ) /\ x e. _om ) -> ( h ` x ) e. dom R )
88 eleq2
 |-  ( dom R = A -> ( ( h ` x ) e. dom R <-> ( h ` x ) e. A ) )
89 88 ad2antrr
 |-  ( ( ( dom R = A /\ A. k e. _om ( h ` k ) R ( h ` suc k ) ) /\ x e. _om ) -> ( ( h ` x ) e. dom R <-> ( h ` x ) e. A ) )
90 87 89 mpbid
 |-  ( ( ( dom R = A /\ A. k e. _om ( h ` k ) R ( h ` suc k ) ) /\ x e. _om ) -> ( h ` x ) e. A )
91 90 3 fmptd
 |-  ( ( dom R = A /\ A. k e. _om ( h ` k ) R ( h ` suc k ) ) -> G : _om --> A )
92 91 ex
 |-  ( dom R = A -> ( A. k e. _om ( h ` k ) R ( h ` suc k ) -> G : _om --> A ) )
93 19 92 syl
 |-  ( F : A --> ( ~P A \ { (/) } ) -> ( A. k e. _om ( h ` k ) R ( h ` suc k ) -> G : _om --> A ) )
94 93 impcom
 |-  ( ( A. k e. _om ( h ` k ) R ( h ` suc k ) /\ F : A --> ( ~P A \ { (/) } ) ) -> G : _om --> A )
95 fveq2
 |-  ( x = k -> ( h ` x ) = ( h ` k ) )
96 fvex
 |-  ( h ` k ) e. _V
97 95 3 96 fvmpt
 |-  ( k e. _om -> ( G ` k ) = ( h ` k ) )
98 peano2
 |-  ( k e. _om -> suc k e. _om )
99 fvex
 |-  ( h ` suc k ) e. _V
100 fveq2
 |-  ( x = suc k -> ( h ` x ) = ( h ` suc k ) )
101 100 3 fvmptg
 |-  ( ( suc k e. _om /\ ( h ` suc k ) e. _V ) -> ( G ` suc k ) = ( h ` suc k ) )
102 98 99 101 sylancl
 |-  ( k e. _om -> ( G ` suc k ) = ( h ` suc k ) )
103 97 102 breq12d
 |-  ( k e. _om -> ( ( G ` k ) R ( G ` suc k ) <-> ( h ` k ) R ( h ` suc k ) ) )
104 fvex
 |-  ( G ` k ) e. _V
105 fvex
 |-  ( G ` suc k ) e. _V
106 eleq1
 |-  ( x = ( G ` k ) -> ( x e. A <-> ( G ` k ) e. A ) )
107 fveq2
 |-  ( x = ( G ` k ) -> ( F ` x ) = ( F ` ( G ` k ) ) )
108 107 eleq2d
 |-  ( x = ( G ` k ) -> ( y e. ( F ` x ) <-> y e. ( F ` ( G ` k ) ) ) )
109 106 108 anbi12d
 |-  ( x = ( G ` k ) -> ( ( x e. A /\ y e. ( F ` x ) ) <-> ( ( G ` k ) e. A /\ y e. ( F ` ( G ` k ) ) ) ) )
110 eleq1
 |-  ( y = ( G ` suc k ) -> ( y e. ( F ` ( G ` k ) ) <-> ( G ` suc k ) e. ( F ` ( G ` k ) ) ) )
111 110 anbi2d
 |-  ( y = ( G ` suc k ) -> ( ( ( G ` k ) e. A /\ y e. ( F ` ( G ` k ) ) ) <-> ( ( G ` k ) e. A /\ ( G ` suc k ) e. ( F ` ( G ` k ) ) ) ) )
112 104 105 109 111 2 brab
 |-  ( ( G ` k ) R ( G ` suc k ) <-> ( ( G ` k ) e. A /\ ( G ` suc k ) e. ( F ` ( G ` k ) ) ) )
113 112 simprbi
 |-  ( ( G ` k ) R ( G ` suc k ) -> ( G ` suc k ) e. ( F ` ( G ` k ) ) )
114 103 113 biimtrrdi
 |-  ( k e. _om -> ( ( h ` k ) R ( h ` suc k ) -> ( G ` suc k ) e. ( F ` ( G ` k ) ) ) )
115 114 ralimia
 |-  ( A. k e. _om ( h ` k ) R ( h ` suc k ) -> A. k e. _om ( G ` suc k ) e. ( F ` ( G ` k ) ) )
116 115 adantr
 |-  ( ( A. k e. _om ( h ` k ) R ( h ` suc k ) /\ F : A --> ( ~P A \ { (/) } ) ) -> A. k e. _om ( G ` suc k ) e. ( F ` ( G ` k ) ) )
117 fvrn0
 |-  ( h ` x ) e. ( ran h u. { (/) } )
118 117 rgenw
 |-  A. x e. _om ( h ` x ) e. ( ran h u. { (/) } )
119 eqid
 |-  ( x e. _om |-> ( h ` x ) ) = ( x e. _om |-> ( h ` x ) )
120 119 fmpt
 |-  ( A. x e. _om ( h ` x ) e. ( ran h u. { (/) } ) <-> ( x e. _om |-> ( h ` x ) ) : _om --> ( ran h u. { (/) } ) )
121 118 120 mpbi
 |-  ( x e. _om |-> ( h ` x ) ) : _om --> ( ran h u. { (/) } )
122 dcomex
 |-  _om e. _V
123 vex
 |-  h e. _V
124 123 rnex
 |-  ran h e. _V
125 124 49 unex
 |-  ( ran h u. { (/) } ) e. _V
126 fex2
 |-  ( ( ( x e. _om |-> ( h ` x ) ) : _om --> ( ran h u. { (/) } ) /\ _om e. _V /\ ( ran h u. { (/) } ) e. _V ) -> ( x e. _om |-> ( h ` x ) ) e. _V )
127 121 122 125 126 mp3an
 |-  ( x e. _om |-> ( h ` x ) ) e. _V
128 3 127 eqeltri
 |-  G e. _V
129 feq1
 |-  ( g = G -> ( g : _om --> A <-> G : _om --> A ) )
130 fveq1
 |-  ( g = G -> ( g ` suc k ) = ( G ` suc k ) )
131 fveq1
 |-  ( g = G -> ( g ` k ) = ( G ` k ) )
132 131 fveq2d
 |-  ( g = G -> ( F ` ( g ` k ) ) = ( F ` ( G ` k ) ) )
133 130 132 eleq12d
 |-  ( g = G -> ( ( g ` suc k ) e. ( F ` ( g ` k ) ) <-> ( G ` suc k ) e. ( F ` ( G ` k ) ) ) )
134 133 ralbidv
 |-  ( g = G -> ( A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) <-> A. k e. _om ( G ` suc k ) e. ( F ` ( G ` k ) ) ) )
135 129 134 anbi12d
 |-  ( g = G -> ( ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) <-> ( G : _om --> A /\ A. k e. _om ( G ` suc k ) e. ( F ` ( G ` k ) ) ) ) )
136 128 135 spcev
 |-  ( ( G : _om --> A /\ A. k e. _om ( G ` suc k ) e. ( F ` ( G ` k ) ) ) -> E. g ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) )
137 94 116 136 syl2anc
 |-  ( ( A. k e. _om ( h ` k ) R ( h ` suc k ) /\ F : A --> ( ~P A \ { (/) } ) ) -> E. g ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) )
138 137 ex
 |-  ( A. k e. _om ( h ` k ) R ( h ` suc k ) -> ( F : A --> ( ~P A \ { (/) } ) -> E. g ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) ) )
139 138 exlimiv
 |-  ( E. h A. k e. _om ( h ` k ) R ( h ` suc k ) -> ( F : A --> ( ~P A \ { (/) } ) -> E. g ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) ) )
140 75 76 139 sylc
 |-  ( ( A =/= (/) /\ F : A --> ( ~P A \ { (/) } ) ) -> E. g ( g : _om --> A /\ A. k e. _om ( g ` suc k ) e. ( F ` ( g ` k ) ) ) )