This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Our Axiom of Choice (in the form of ac3 ) implies the Axiom of Choice (first form) of Enderton p. 49. The proof uses neither AC nor the Axiom of Regularity. See dfac2b for the converse (which does use the Axiom of Regularity). (Contributed by NM, 5-Apr-2004) (Revised by Mario Carneiro, 26-Jun-2015)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | dfac2a | |- ( A. x E. y A. z e. x ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> CHOICE ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | riotauni | |- ( E! w e. z E. v e. y ( z e. v /\ w e. v ) -> ( iota_ w e. z E. v e. y ( z e. v /\ w e. v ) ) = U. { w e. z | E. v e. y ( z e. v /\ w e. v ) } ) |
|
| 2 | riotacl | |- ( E! w e. z E. v e. y ( z e. v /\ w e. v ) -> ( iota_ w e. z E. v e. y ( z e. v /\ w e. v ) ) e. z ) |
|
| 3 | 1 2 | eqeltrrd | |- ( E! w e. z E. v e. y ( z e. v /\ w e. v ) -> U. { w e. z | E. v e. y ( z e. v /\ w e. v ) } e. z ) |
| 4 | elequ2 | |- ( u = z -> ( w e. u <-> w e. z ) ) |
|
| 5 | elequ1 | |- ( u = z -> ( u e. v <-> z e. v ) ) |
|
| 6 | 5 | anbi1d | |- ( u = z -> ( ( u e. v /\ w e. v ) <-> ( z e. v /\ w e. v ) ) ) |
| 7 | 6 | rexbidv | |- ( u = z -> ( E. v e. y ( u e. v /\ w e. v ) <-> E. v e. y ( z e. v /\ w e. v ) ) ) |
| 8 | 4 7 | anbi12d | |- ( u = z -> ( ( w e. u /\ E. v e. y ( u e. v /\ w e. v ) ) <-> ( w e. z /\ E. v e. y ( z e. v /\ w e. v ) ) ) ) |
| 9 | 8 | rabbidva2 | |- ( u = z -> { w e. u | E. v e. y ( u e. v /\ w e. v ) } = { w e. z | E. v e. y ( z e. v /\ w e. v ) } ) |
| 10 | 9 | unieqd | |- ( u = z -> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } = U. { w e. z | E. v e. y ( z e. v /\ w e. v ) } ) |
| 11 | eqid | |- ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) = ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) |
|
| 12 | vex | |- z e. _V |
|
| 13 | 12 | rabex | |- { w e. z | E. v e. y ( z e. v /\ w e. v ) } e. _V |
| 14 | 13 | uniex | |- U. { w e. z | E. v e. y ( z e. v /\ w e. v ) } e. _V |
| 15 | 10 11 14 | fvmpt | |- ( z e. x -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) = U. { w e. z | E. v e. y ( z e. v /\ w e. v ) } ) |
| 16 | 15 | eleq1d | |- ( z e. x -> ( ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z <-> U. { w e. z | E. v e. y ( z e. v /\ w e. v ) } e. z ) ) |
| 17 | 3 16 | imbitrrid | |- ( z e. x -> ( E! w e. z E. v e. y ( z e. v /\ w e. v ) -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) ) |
| 18 | 17 | imim2d | |- ( z e. x -> ( ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> ( z =/= (/) -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) ) ) |
| 19 | 18 | ralimia | |- ( A. z e. x ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> A. z e. x ( z =/= (/) -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) ) |
| 20 | ssrab2 | |- { w e. u | E. v e. y ( u e. v /\ w e. v ) } C_ u |
|
| 21 | elssuni | |- ( u e. x -> u C_ U. x ) |
|
| 22 | 20 21 | sstrid | |- ( u e. x -> { w e. u | E. v e. y ( u e. v /\ w e. v ) } C_ U. x ) |
| 23 | 22 | unissd | |- ( u e. x -> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } C_ U. U. x ) |
| 24 | vex | |- x e. _V |
|
| 25 | 24 | uniex | |- U. x e. _V |
| 26 | 25 | uniex | |- U. U. x e. _V |
| 27 | 26 | elpw2 | |- ( U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } e. ~P U. U. x <-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } C_ U. U. x ) |
| 28 | 23 27 | sylibr | |- ( u e. x -> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } e. ~P U. U. x ) |
| 29 | 11 28 | fmpti | |- ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) : x --> ~P U. U. x |
| 30 | 26 | pwex | |- ~P U. U. x e. _V |
| 31 | fex2 | |- ( ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) : x --> ~P U. U. x /\ x e. _V /\ ~P U. U. x e. _V ) -> ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) e. _V ) |
|
| 32 | 29 24 30 31 | mp3an | |- ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) e. _V |
| 33 | fveq1 | |- ( f = ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) -> ( f ` z ) = ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) ) |
|
| 34 | 33 | eleq1d | |- ( f = ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) -> ( ( f ` z ) e. z <-> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) ) |
| 35 | 34 | imbi2d | |- ( f = ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) -> ( ( z =/= (/) -> ( f ` z ) e. z ) <-> ( z =/= (/) -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) ) ) |
| 36 | 35 | ralbidv | |- ( f = ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) -> ( A. z e. x ( z =/= (/) -> ( f ` z ) e. z ) <-> A. z e. x ( z =/= (/) -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) ) ) |
| 37 | 32 36 | spcev | |- ( A. z e. x ( z =/= (/) -> ( ( u e. x |-> U. { w e. u | E. v e. y ( u e. v /\ w e. v ) } ) ` z ) e. z ) -> E. f A. z e. x ( z =/= (/) -> ( f ` z ) e. z ) ) |
| 38 | 19 37 | syl | |- ( A. z e. x ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> E. f A. z e. x ( z =/= (/) -> ( f ` z ) e. z ) ) |
| 39 | 38 | exlimiv | |- ( E. y A. z e. x ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> E. f A. z e. x ( z =/= (/) -> ( f ` z ) e. z ) ) |
| 40 | 39 | alimi | |- ( A. x E. y A. z e. x ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> A. x E. f A. z e. x ( z =/= (/) -> ( f ` z ) e. z ) ) |
| 41 | dfac3 | |- ( CHOICE <-> A. x E. f A. z e. x ( z =/= (/) -> ( f ` z ) e. z ) ) |
|
| 42 | 40 41 | sylibr | |- ( A. x E. y A. z e. x ( z =/= (/) -> E! w e. z E. v e. y ( z e. v /\ w e. v ) ) -> CHOICE ) |