MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dfac2 Unicode version

Theorem dfac2 7641
Description: Axiom of Choice (first form) of [Enderton] p. 49 implies of our Axiom of Choice (in the form of ac3 7972). The proof does not make use of AC. Note that the Axiom of Regularity is used by the proof. Specifically, elirrv 7195 and preleq 7202 that are referenced in the proof each make use of Regularity for their derivations. (The reverse implication can be derived without using Regularity; see dfac2a 7640.) TODO: Fix label in comment, and put label changes into list at top of set.mm. (Contributed by NM, 5-Apr-2004.) (Revised by Mario Carneiro, 26-Jun-2015.)
Assertion
Ref Expression
dfac2  |-  (CHOICE  <->  A. x E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  ( z  e.  v  /\  w  e.  v ) ) )
Distinct variable group:    x, y, z, w, v

Proof of Theorem dfac2
StepHypRef Expression
1 dfac3 7632 . . 3  |-  (CHOICE  <->  A. x E. f A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z ) )
2 nfra1 2555 . . . . . . 7  |-  F/ z A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z )
3 ra4 2565 . . . . . . . . . . . . 13  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
z  e.  x  -> 
( z  =/=  (/)  ->  (
f `  z )  e.  z ) ) )
4 eqid 2253 . . . . . . . . . . . . . . . . . . 19  |-  z  =  z
5 neeq1 2420 . . . . . . . . . . . . . . . . . . . . 21  |-  ( u  =  z  ->  (
u  =/=  (/)  <->  z  =/=  (/) ) )
6 eqeq1 2259 . . . . . . . . . . . . . . . . . . . . 21  |-  ( u  =  z  ->  (
u  =  z  <->  z  =  z ) )
75, 6anbi12d 694 . . . . . . . . . . . . . . . . . . . 20  |-  ( u  =  z  ->  (
( u  =/=  (/)  /\  u  =  z )  <->  ( z  =/=  (/)  /\  z  =  z ) ) )
87rcla4ev 2821 . . . . . . . . . . . . . . . . . . 19  |-  ( ( z  e.  x  /\  ( z  =/=  (/)  /\  z  =  z ) )  ->  E. u  e.  x  ( u  =/=  (/)  /\  u  =  z ) )
94, 8mpanr2 668 . . . . . . . . . . . . . . . . . 18  |-  ( ( z  e.  x  /\  z  =/=  (/) )  ->  E. u  e.  x  ( u  =/=  (/)  /\  u  =  z ) )
10 fveq2 5377 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( u  =  z  ->  (
f `  u )  =  ( f `  z ) )
1110preq1d 3616 . . . . . . . . . . . . . . . . . . . . 21  |-  ( u  =  z  ->  { ( f `  u ) ,  u }  =  { ( f `  z ) ,  u } )
12 preq2 3611 . . . . . . . . . . . . . . . . . . . . 21  |-  ( u  =  z  ->  { ( f `  z ) ,  u }  =  { ( f `  z ) ,  z } )
1311, 12eqtr2d 2286 . . . . . . . . . . . . . . . . . . . 20  |-  ( u  =  z  ->  { ( f `  z ) ,  z }  =  { ( f `  u ) ,  u } )
1413anim2i 555 . . . . . . . . . . . . . . . . . . 19  |-  ( ( u  =/=  (/)  /\  u  =  z )  -> 
( u  =/=  (/)  /\  {
( f `  z
) ,  z }  =  { ( f `
 u ) ,  u } ) )
1514reximi 2612 . . . . . . . . . . . . . . . . . 18  |-  ( E. u  e.  x  ( u  =/=  (/)  /\  u  =  z )  ->  E. u  e.  x  ( u  =/=  (/)  /\  {
( f `  z
) ,  z }  =  { ( f `
 u ) ,  u } ) )
169, 15syl 17 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  x  /\  z  =/=  (/) )  ->  E. u  e.  x  ( u  =/=  (/)  /\  { ( f `  z ) ,  z }  =  { ( f `  u ) ,  u } ) )
17 prex 4111 . . . . . . . . . . . . . . . . . 18  |-  { ( f `  z ) ,  z }  e.  _V
18 eqeq1 2259 . . . . . . . . . . . . . . . . . . . 20  |-  ( g  =  { ( f `
 z ) ,  z }  ->  (
g  =  { ( f `  u ) ,  u }  <->  { (
f `  z ) ,  z }  =  { ( f `  u ) ,  u } ) )
1918anbi2d 687 . . . . . . . . . . . . . . . . . . 19  |-  ( g  =  { ( f `
 z ) ,  z }  ->  (
( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } )  <->  ( u  =/=  (/)  /\  { ( f `  z ) ,  z }  =  { ( f `  u ) ,  u } ) ) )
2019rexbidv 2528 . . . . . . . . . . . . . . . . . 18  |-  ( g  =  { ( f `
 z ) ,  z }  ->  ( E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } )  <->  E. u  e.  x  ( u  =/=  (/)  /\  { ( f `  z ) ,  z }  =  { ( f `  u ) ,  u } ) ) )
2117, 20elab 2851 . . . . . . . . . . . . . . . . 17  |-  ( { ( f `  z
) ,  z }  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  <->  E. u  e.  x  ( u  =/=  (/)  /\  { ( f `  z ) ,  z }  =  { ( f `  u ) ,  u } ) )
2216, 21sylibr 205 . . . . . . . . . . . . . . . 16  |-  ( ( z  e.  x  /\  z  =/=  (/) )  ->  { ( f `  z ) ,  z }  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) } )
23 vex 2730 . . . . . . . . . . . . . . . . . 18  |-  z  e. 
_V
2423prid2 3639 . . . . . . . . . . . . . . . . 17  |-  z  e. 
{ ( f `  z ) ,  z }
25 fvex 5391 . . . . . . . . . . . . . . . . . 18  |-  ( f `
 z )  e. 
_V
2625prid1 3638 . . . . . . . . . . . . . . . . 17  |-  ( f `
 z )  e. 
{ ( f `  z ) ,  z }
2724, 26pm3.2i 443 . . . . . . . . . . . . . . . 16  |-  ( z  e.  { ( f `
 z ) ,  z }  /\  (
f `  z )  e.  { ( f `  z ) ,  z } )
28 eleq2 2314 . . . . . . . . . . . . . . . . . 18  |-  ( v  =  { ( f `
 z ) ,  z }  ->  (
z  e.  v  <->  z  e.  { ( f `  z
) ,  z } ) )
29 eleq2 2314 . . . . . . . . . . . . . . . . . 18  |-  ( v  =  { ( f `
 z ) ,  z }  ->  (
( f `  z
)  e.  v  <->  ( f `  z )  e.  {
( f `  z
) ,  z } ) )
3028, 29anbi12d 694 . . . . . . . . . . . . . . . . 17  |-  ( v  =  { ( f `
 z ) ,  z }  ->  (
( z  e.  v  /\  ( f `  z )  e.  v )  <->  ( z  e. 
{ ( f `  z ) ,  z }  /\  ( f `
 z )  e. 
{ ( f `  z ) ,  z } ) ) )
3130rcla4ev 2821 . . . . . . . . . . . . . . . 16  |-  ( ( { ( f `  z ) ,  z }  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  /\  (
z  e.  { ( f `  z ) ,  z }  /\  ( f `  z
)  e.  { ( f `  z ) ,  z } ) )  ->  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  ( f `  z
)  e.  v ) )
3222, 27, 31sylancl 646 . . . . . . . . . . . . . . 15  |-  ( ( z  e.  x  /\  z  =/=  (/) )  ->  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  ( f `  z
)  e.  v ) )
33 eleq1 2313 . . . . . . . . . . . . . . . . 17  |-  ( w  =  ( f `  z )  ->  (
w  e.  z  <->  ( f `  z )  e.  z ) )
34 eleq1 2313 . . . . . . . . . . . . . . . . . . 19  |-  ( w  =  ( f `  z )  ->  (
w  e.  v  <->  ( f `  z )  e.  v ) )
3534anbi2d 687 . . . . . . . . . . . . . . . . . 18  |-  ( w  =  ( f `  z )  ->  (
( z  e.  v  /\  w  e.  v )  <->  ( z  e.  v  /\  ( f `
 z )  e.  v ) ) )
3635rexbidv 2528 . . . . . . . . . . . . . . . . 17  |-  ( w  =  ( f `  z )  ->  ( E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  ( z  e.  v  /\  w  e.  v )  <->  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  ( f `  z
)  e.  v ) ) )
3733, 36anbi12d 694 . . . . . . . . . . . . . . . 16  |-  ( w  =  ( f `  z )  ->  (
( w  e.  z  /\  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  <->  ( ( f `
 z )  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  ( f `  z
)  e.  v ) ) ) )
3825, 37cla4ev 2812 . . . . . . . . . . . . . . 15  |-  ( ( ( f `  z
)  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  ( z  e.  v  /\  (
f `  z )  e.  v ) )  ->  E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
3932, 38sylan2 462 . . . . . . . . . . . . . 14  |-  ( ( ( f `  z
)  e.  z  /\  ( z  e.  x  /\  z  =/=  (/) ) )  ->  E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
4039ex 425 . . . . . . . . . . . . 13  |-  ( ( f `  z )  e.  z  ->  (
( z  e.  x  /\  z  =/=  (/) )  ->  E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
413, 40syl8 67 . . . . . . . . . . . 12  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
z  e.  x  -> 
( z  =/=  (/)  ->  (
( z  e.  x  /\  z  =/=  (/) )  ->  E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) ) ) )
4241imp3a 422 . . . . . . . . . . 11  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
( z  e.  x  /\  z  =/=  (/) )  -> 
( ( z  e.  x  /\  z  =/=  (/) )  ->  E. w
( w  e.  z  /\  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) ) )
4342pm2.43d 46 . . . . . . . . . 10  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
( z  e.  x  /\  z  =/=  (/) )  ->  E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
44 df-rex 2514 . . . . . . . . . . . . . 14  |-  ( E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  ( z  e.  v  /\  w  e.  v )  <->  E. v
( v  e.  {
g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  /\  ( z  e.  v  /\  w  e.  v ) ) )
45 vex 2730 . . . . . . . . . . . . . . . . . . . 20  |-  v  e. 
_V
46 eqeq1 2259 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( g  =  v  ->  (
g  =  { ( f `  u ) ,  u }  <->  v  =  { ( f `  u ) ,  u } ) )
4746anbi2d 687 . . . . . . . . . . . . . . . . . . . . 21  |-  ( g  =  v  ->  (
( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } )  <->  ( u  =/=  (/)  /\  v  =  { ( f `  u ) ,  u } ) ) )
4847rexbidv 2528 . . . . . . . . . . . . . . . . . . . 20  |-  ( g  =  v  ->  ( E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } )  <->  E. u  e.  x  ( u  =/=  (/)  /\  v  =  { ( f `  u ) ,  u } ) ) )
4945, 48elab 2851 . . . . . . . . . . . . . . . . . . 19  |-  ( v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  <->  E. u  e.  x  ( u  =/=  (/)  /\  v  =  { ( f `  u ) ,  u } ) )
50 neeq1 2420 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( z  =  u  ->  (
z  =/=  (/)  <->  u  =/=  (/) ) )
51 fveq2 5377 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( z  =  u  ->  (
f `  z )  =  ( f `  u ) )
5251eleq1d 2319 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( z  =  u  ->  (
( f `  z
)  e.  z  <->  ( f `  u )  e.  z ) )
53 eleq2 2314 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( z  =  u  ->  (
( f `  u
)  e.  z  <->  ( f `  u )  e.  u
) )
5452, 53bitrd 246 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( z  =  u  ->  (
( f `  z
)  e.  z  <->  ( f `  u )  e.  u
) )
5550, 54imbi12d 313 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( z  =  u  ->  (
( z  =/=  (/)  ->  (
f `  z )  e.  z )  <->  ( u  =/=  (/)  ->  ( f `  u )  e.  u
) ) )
5655rcla4cv 2818 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
u  e.  x  -> 
( u  =/=  (/)  ->  (
f `  u )  e.  u ) ) )
57 elirrv 7195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  -.  w  e.  w
58 eleq2 2314 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( w  =  z  ->  (
w  e.  w  <->  w  e.  z ) )
5957, 58mtbii 295 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( w  =  z  ->  -.  w  e.  z )
6059con2i 114 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( w  e.  z  ->  -.  w  =  z )
61 vex 2730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  w  e. 
_V
62 fvex 5391 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( f `
 u )  e. 
_V
63 vex 2730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  u  e. 
_V
6461, 23, 62, 63prel12 3689 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( -.  w  =  z  -> 
( { w ,  z }  =  {
( f `  u
) ,  u }  <->  ( w  e.  { ( f `  u ) ,  u }  /\  z  e.  { (
f `  u ) ,  u } ) ) )
65 ancom 439 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( w  e.  v  /\  z  e.  v )  <->  ( z  e.  v  /\  w  e.  v )
)
66 eleq2 2314 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
w  e.  v  <->  w  e.  { ( f `  u
) ,  u }
) )
67 eleq2 2314 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
z  e.  v  <->  z  e.  { ( f `  u
) ,  u }
) )
6866, 67anbi12d 694 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
( w  e.  v  /\  z  e.  v )  <->  ( w  e. 
{ ( f `  u ) ,  u }  /\  z  e.  {
( f `  u
) ,  u }
) ) )
6965, 68syl5rbbr 253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
( w  e.  {
( f `  u
) ,  u }  /\  z  e.  { ( f `  u ) ,  u } )  <-> 
( z  e.  v  /\  w  e.  v ) ) )
7064, 69sylan9bbr 684 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( v  =  { ( f `  u ) ,  u }  /\  -.  w  =  z
)  ->  ( {
w ,  z }  =  { ( f `
 u ) ,  u }  <->  ( z  e.  v  /\  w  e.  v ) ) )
7160, 70sylan2 462 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( v  =  { ( f `  u ) ,  u }  /\  w  e.  z )  ->  ( { w ,  z }  =  {
( f `  u
) ,  u }  <->  ( z  e.  v  /\  w  e.  v )
) )
7271adantrr 700 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( v  =  { ( f `  u ) ,  u }  /\  ( w  e.  z  /\  ( f `  u
)  e.  u ) )  ->  ( {
w ,  z }  =  { ( f `
 u ) ,  u }  <->  ( z  e.  v  /\  w  e.  v ) ) )
7372pm5.32da 625 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
( ( w  e.  z  /\  ( f `
 u )  e.  u )  /\  {
w ,  z }  =  { ( f `
 u ) ,  u } )  <->  ( (
w  e.  z  /\  ( f `  u
)  e.  u )  /\  ( z  e.  v  /\  w  e.  v ) ) ) )
7461, 23, 62, 63preleq 7202 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( w  e.  z  /\  ( f `  u )  e.  u
)  /\  { w ,  z }  =  { ( f `  u ) ,  u } )  ->  (
w  =  ( f `
 u )  /\  z  =  u )
)
7573, 74syl6bir 222 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
( ( w  e.  z  /\  ( f `
 u )  e.  u )  /\  (
z  e.  v  /\  w  e.  v )
)  ->  ( w  =  ( f `  u )  /\  z  =  u ) ) )
7651eqeq2d 2264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( z  =  u  ->  (
w  =  ( f `
 z )  <->  w  =  ( f `  u
) ) )
7776biimparc 475 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( w  =  ( f `
 u )  /\  z  =  u )  ->  w  =  ( f `
 z ) )
7875, 77syl6 31 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
( ( w  e.  z  /\  ( f `
 u )  e.  u )  /\  (
z  e.  v  /\  w  e.  v )
)  ->  w  =  ( f `  z
) ) )
7978exp4c 594 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( v  =  { ( f `
 u ) ,  u }  ->  (
w  e.  z  -> 
( ( f `  u )  e.  u  ->  ( ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z ) ) ) ) )
8079com13 76 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( f `  u )  e.  u  ->  (
w  e.  z  -> 
( v  =  {
( f `  u
) ,  u }  ->  ( ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z ) ) ) ) )
8156, 80syl8 67 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
u  e.  x  -> 
( u  =/=  (/)  ->  (
w  e.  z  -> 
( v  =  {
( f `  u
) ,  u }  ->  ( ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z ) ) ) ) ) ) )
8281com4r 82 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( w  e.  z  ->  ( A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
u  e.  x  -> 
( u  =/=  (/)  ->  (
v  =  { ( f `  u ) ,  u }  ->  ( ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z
) ) ) ) ) ) )
8382imp 420 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( w  e.  z  /\  A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z ) )  -> 
( u  e.  x  ->  ( u  =/=  (/)  ->  (
v  =  { ( f `  u ) ,  u }  ->  ( ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z
) ) ) ) ) )
8483imp4a 575 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( w  e.  z  /\  A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z ) )  -> 
( u  e.  x  ->  ( ( u  =/=  (/)  /\  v  =  {
( f `  u
) ,  u }
)  ->  ( (
z  e.  v  /\  w  e.  v )  ->  w  =  ( f `
 z ) ) ) ) )
8584com3l 77 . . . . . . . . . . . . . . . . . . . 20  |-  ( u  e.  x  ->  (
( u  =/=  (/)  /\  v  =  { ( f `  u ) ,  u } )  ->  (
( w  e.  z  /\  A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z ) )  ->  (
( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z
) ) ) ) )
8685rexlimiv 2623 . . . . . . . . . . . . . . . . . . 19  |-  ( E. u  e.  x  ( u  =/=  (/)  /\  v  =  { ( f `  u ) ,  u } )  ->  (
( w  e.  z  /\  A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z ) )  ->  (
( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z
) ) ) )
8749, 86sylbi 189 . . . . . . . . . . . . . . . . . 18  |-  ( v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( ( w  e.  z  /\  A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z ) )  ->  (
( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z
) ) ) )
8887exp3a 427 . . . . . . . . . . . . . . . . 17  |-  ( v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( w  e.  z  -> 
( A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z )  ->  ( (
z  e.  v  /\  w  e.  v )  ->  w  =  ( f `
 z ) ) ) ) )
8988com13 76 . . . . . . . . . . . . . . . 16  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
w  e.  z  -> 
( v  e.  {
g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z
) ) ) ) )
9089imp4b 576 . . . . . . . . . . . . . . 15  |-  ( ( A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z )  /\  w  e.  z )  ->  (
( v  e.  {
g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  /\  ( z  e.  v  /\  w  e.  v ) )  ->  w  =  ( f `  z ) ) )
9190exlimdv 1932 . . . . . . . . . . . . . 14  |-  ( ( A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z )  /\  w  e.  z )  ->  ( E. v ( v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  /\  ( z  e.  v  /\  w  e.  v ) )  ->  w  =  ( f `  z ) ) )
9244, 91syl5bi 210 . . . . . . . . . . . . 13  |-  ( ( A. z  e.  x  ( z  =/=  (/)  ->  (
f `  z )  e.  z )  /\  w  e.  z )  ->  ( E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  ( z  e.  v  /\  w  e.  v )  ->  w  =  ( f `  z ) ) )
9392expimpd 589 . . . . . . . . . . . 12  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
( w  e.  z  /\  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  ->  w  =  ( f `  z
) ) )
9493alrimiv 2012 . . . . . . . . . . 11  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  A. w
( ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  ->  w  =  ( f `  z
) ) )
95 mo2icl 2881 . . . . . . . . . . 11  |-  ( A. w ( ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  ->  w  =  ( f `  z
) )  ->  E* w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
9694, 95syl 17 . . . . . . . . . 10  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  E* w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
9743, 96jctird 530 . . . . . . . . 9  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
( z  e.  x  /\  z  =/=  (/) )  -> 
( E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  ( z  e.  v  /\  w  e.  v ) )  /\  E* w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) ) )
98 df-reu 2515 . . . . . . . . . 10  |-  ( E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )  <->  E! w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
99 eu5 2151 . . . . . . . . . 10  |-  ( E! w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  <->  ( E. w
( w  e.  z  /\  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  /\  E* w
( w  e.  z  /\  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
10098, 99bitri 242 . . . . . . . . 9  |-  ( E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )  <->  ( E. w ( w  e.  z  /\  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  /\  E* w
( w  e.  z  /\  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
10197, 100syl6ibr 220 . . . . . . . 8  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
( z  e.  x  /\  z  =/=  (/) )  ->  E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  ( z  e.  v  /\  w  e.  v ) ) )
102101exp3a 427 . . . . . . 7  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  (
z  e.  x  -> 
( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
1032, 102ralrimi 2586 . . . . . 6  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
104 vex 2730 . . . . . . . . . . . 12  |-  f  e. 
_V
105104rnex 4849 . . . . . . . . . . 11  |-  ran  f  e.  _V
106 p0ex 4091 . . . . . . . . . . 11  |-  { (/) }  e.  _V
107105, 106unex 4409 . . . . . . . . . 10  |-  ( ran  f  u.  { (/) } )  e.  _V
108 vex 2730 . . . . . . . . . 10  |-  x  e. 
_V
109107, 108unex 4409 . . . . . . . . 9  |-  ( ( ran  f  u.  { (/)
} )  u.  x
)  e.  _V
110109pwex 4087 . . . . . . . 8  |-  ~P (
( ran  f  u.  {
(/) } )  u.  x
)  e.  _V
111 ssun1 3248 . . . . . . . . . . . . . . 15  |-  ( ran  f  u.  { (/) } )  C_  ( ( ran  f  u.  { (/) } )  u.  x )
112 fvrn0 5403 . . . . . . . . . . . . . . 15  |-  ( f `
 u )  e.  ( ran  f  u. 
{ (/) } )
113111, 112sselii 3100 . . . . . . . . . . . . . 14  |-  ( f `
 u )  e.  ( ( ran  f  u.  { (/) } )  u.  x )
114 elun2 3253 . . . . . . . . . . . . . 14  |-  ( u  e.  x  ->  u  e.  ( ( ran  f  u.  { (/) } )  u.  x ) )
115 prssi 3671 . . . . . . . . . . . . . 14  |-  ( ( ( f `  u
)  e.  ( ( ran  f  u.  { (/)
} )  u.  x
)  /\  u  e.  ( ( ran  f  u.  { (/) } )  u.  x ) )  ->  { ( f `  u ) ,  u }  C_  ( ( ran  f  u.  { (/) } )  u.  x ) )
116113, 114, 115sylancr 647 . . . . . . . . . . . . 13  |-  ( u  e.  x  ->  { ( f `  u ) ,  u }  C_  ( ( ran  f  u.  { (/) } )  u.  x ) )
117 prex 4111 . . . . . . . . . . . . . 14  |-  { ( f `  u ) ,  u }  e.  _V
118117elpw 3536 . . . . . . . . . . . . 13  |-  ( { ( f `  u
) ,  u }  e.  ~P ( ( ran  f  u.  { (/) } )  u.  x )  <->  { ( f `  u ) ,  u }  C_  ( ( ran  f  u.  { (/) } )  u.  x ) )
119116, 118sylibr 205 . . . . . . . . . . . 12  |-  ( u  e.  x  ->  { ( f `  u ) ,  u }  e.  ~P ( ( ran  f  u.  { (/) } )  u.  x ) )
120 eleq1 2313 . . . . . . . . . . . 12  |-  ( g  =  { ( f `
 u ) ,  u }  ->  (
g  e.  ~P (
( ran  f  u.  {
(/) } )  u.  x
)  <->  { ( f `  u ) ,  u }  e.  ~P (
( ran  f  u.  {
(/) } )  u.  x
) ) )
121119, 120syl5ibrcom 215 . . . . . . . . . . 11  |-  ( u  e.  x  ->  (
g  =  { ( f `  u ) ,  u }  ->  g  e.  ~P ( ( ran  f  u.  { (/)
} )  u.  x
) ) )
122121adantld 455 . . . . . . . . . 10  |-  ( u  e.  x  ->  (
( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } )  ->  g  e.  ~P ( ( ran  f  u.  { (/) } )  u.  x ) ) )
123122rexlimiv 2623 . . . . . . . . 9  |-  ( E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } )  ->  g  e.  ~P ( ( ran  f  u.  { (/) } )  u.  x ) )
124123abssi 3169 . . . . . . . 8  |-  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  C_  ~P ( ( ran  f  u.  { (/) } )  u.  x )
125110, 124ssexi 4056 . . . . . . 7  |-  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  {
( f `  u
) ,  u }
) }  e.  _V
126 rexeq 2690 . . . . . . . . . 10  |-  ( y  =  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( E. v  e.  y  ( z  e.  v  /\  w  e.  v )  <->  E. v  e.  {
g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
127126reubidv 2683 . . . . . . . . 9  |-  ( y  =  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( E! w  e.  z  E. v  e.  y  ( z  e.  v  /\  w  e.  v )  <->  E! w  e.  z  E. v  e.  {
g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) )
128127imbi2d 309 . . . . . . . 8  |-  ( y  =  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  (
z  e.  v  /\  w  e.  v )
)  <->  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e. 
{ g  |  E. u  e.  x  (
u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
129128ralbidv 2527 . . . . . . 7  |-  ( y  =  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  ->  ( A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  (
z  e.  v  /\  w  e.  v )
)  <->  A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
) ) )
130125, 129cla4ev 2812 . . . . . 6  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  E! w  e.  z  E. v  e.  { g  |  E. u  e.  x  ( u  =/=  (/)  /\  g  =  { ( f `  u ) ,  u } ) }  (
z  e.  v  /\  w  e.  v )
)  ->  E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  (
z  e.  v  /\  w  e.  v )
) )
131103, 130syl 17 . . . . 5  |-  ( A. z  e.  x  (
z  =/=  (/)  ->  (
f `  z )  e.  z )  ->  E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  (
z  e.  v  /\  w  e.  v )
) )
132131exlimiv 2023 . . . 4  |-  ( E. f A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z )  ->  E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  (
z  e.  v  /\  w  e.  v )
) )
133132alimi 1546 . . 3  |-  ( A. x E. f A. z  e.  x  ( z  =/=  (/)  ->  ( f `  z )  e.  z )  ->  A. x E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  ( z  e.  v  /\  w  e.  v ) ) )
1341, 133sylbi 189 . 2  |-  (CHOICE  ->  A. x E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  ( z  e.  v  /\  w  e.  v ) ) )
135 dfac2a 7640 . 2  |-  ( A. x E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  ( z  e.  v  /\  w  e.  v ) )  -> CHOICE )
136134, 135impbii 182 1  |-  (CHOICE  <->  A. x E. y A. z  e.  x  ( z  =/=  (/)  ->  E! w  e.  z  E. v  e.  y  ( z  e.  v  /\  w  e.  v ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 5    -> wi 6    <-> wb 178    /\ wa 360   A.wal 1532   E.wex 1537    = wceq 1619    e. wcel 1621   E!weu 2114   E*wmo 2115   {cab 2239    =/= wne 2412   A.wral 2509   E.wrex 2510   E!wreu 2511    u. cun 3076    C_ wss 3078   (/)c0 3362   ~Pcpw 3530   {csn 3544   {cpr 3545   ran crn 4581   ` cfv 4592  CHOICEwac 7626
This theorem is referenced by:  dfac7  7642
This theorem was proved from axioms:  ax-1 7  ax-2 8  ax-3 9  ax-mp 10  ax-5 1533  ax-6 1534  ax-7 1535  ax-gen 1536  ax-8 1623  ax-11 1624  ax-13 1625  ax-14 1626  ax-17 1628  ax-12o 1664  ax-10 1678  ax-9 1684  ax-4 1692  ax-16 1926  ax-ext 2234  ax-sep 4038  ax-nul 4046  ax-pow 4082  ax-pr 4108  ax-un 4403  ax-reg 7190
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3an 941  df-tru 1315  df-ex 1538  df-nf 1540  df-sb 1883  df-eu 2118  df-mo 2119  df-clab 2240  df-cleq 2246  df-clel 2249  df-nfc 2374  df-ne 2414  df-ral 2513  df-rex 2514  df-reu 2515  df-rab 2516  df-v 2729  df-sbc 2922  df-dif 3081  df-un 3083  df-in 3085  df-ss 3089  df-nul 3363  df-if 3471  df-pw 3532  df-sn 3550  df-pr 3551  df-op 3553  df-uni 3728  df-br 3921  df-opab 3975  df-mpt 3976  df-eprel 4198  df-id 4202  df-fr 4245  df-xp 4594  df-rel 4595  df-cnv 4596  df-co 4597  df-dm 4598  df-rn 4599  df-res 4600  df-ima 4601  df-fun 4602  df-fn 4603  df-f 4604  df-fv 4608  df-iota 6143  df-riota 6190  df-ac 7627
  Copyright terms: Public domain W3C validator