This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A choice equivalent: every set has choice sets of every length. (Contributed by Mario Carneiro, 31-Aug-2015)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | dfacacn | |- ( CHOICE <-> A. x AC_ x = _V ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | acacni | |- ( ( CHOICE /\ x e. _V ) -> AC_ x = _V ) |
|
| 2 | 1 | elvd | |- ( CHOICE -> AC_ x = _V ) |
| 3 | 2 | alrimiv | |- ( CHOICE -> A. x AC_ x = _V ) |
| 4 | vex | |- y e. _V |
|
| 5 | 4 | difexi | |- ( y \ { (/) } ) e. _V |
| 6 | acneq | |- ( x = ( y \ { (/) } ) -> AC_ x = AC_ ( y \ { (/) } ) ) |
|
| 7 | 6 | eqeq1d | |- ( x = ( y \ { (/) } ) -> ( AC_ x = _V <-> AC_ ( y \ { (/) } ) = _V ) ) |
| 8 | 5 7 | spcv | |- ( A. x AC_ x = _V -> AC_ ( y \ { (/) } ) = _V ) |
| 9 | vuniex | |- U. y e. _V |
|
| 10 | id | |- ( AC_ ( y \ { (/) } ) = _V -> AC_ ( y \ { (/) } ) = _V ) |
|
| 11 | 9 10 | eleqtrrid | |- ( AC_ ( y \ { (/) } ) = _V -> U. y e. AC_ ( y \ { (/) } ) ) |
| 12 | eldifi | |- ( z e. ( y \ { (/) } ) -> z e. y ) |
|
| 13 | elssuni | |- ( z e. y -> z C_ U. y ) |
|
| 14 | 12 13 | syl | |- ( z e. ( y \ { (/) } ) -> z C_ U. y ) |
| 15 | eldifsni | |- ( z e. ( y \ { (/) } ) -> z =/= (/) ) |
|
| 16 | 14 15 | jca | |- ( z e. ( y \ { (/) } ) -> ( z C_ U. y /\ z =/= (/) ) ) |
| 17 | 16 | rgen | |- A. z e. ( y \ { (/) } ) ( z C_ U. y /\ z =/= (/) ) |
| 18 | acni2 | |- ( ( U. y e. AC_ ( y \ { (/) } ) /\ A. z e. ( y \ { (/) } ) ( z C_ U. y /\ z =/= (/) ) ) -> E. g ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) ) |
|
| 19 | 11 17 18 | sylancl | |- ( AC_ ( y \ { (/) } ) = _V -> E. g ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) ) |
| 20 | 4 | mptex | |- ( x e. y |-> ( g ` x ) ) e. _V |
| 21 | simpr | |- ( ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) -> A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) |
|
| 22 | eldifsn | |- ( z e. ( y \ { (/) } ) <-> ( z e. y /\ z =/= (/) ) ) |
|
| 23 | 22 | imbi1i | |- ( ( z e. ( y \ { (/) } ) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) <-> ( ( z e. y /\ z =/= (/) ) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) |
| 24 | fveq2 | |- ( x = z -> ( g ` x ) = ( g ` z ) ) |
|
| 25 | eqid | |- ( x e. y |-> ( g ` x ) ) = ( x e. y |-> ( g ` x ) ) |
|
| 26 | fvex | |- ( g ` z ) e. _V |
|
| 27 | 24 25 26 | fvmpt | |- ( z e. y -> ( ( x e. y |-> ( g ` x ) ) ` z ) = ( g ` z ) ) |
| 28 | 12 27 | syl | |- ( z e. ( y \ { (/) } ) -> ( ( x e. y |-> ( g ` x ) ) ` z ) = ( g ` z ) ) |
| 29 | 28 | eleq1d | |- ( z e. ( y \ { (/) } ) -> ( ( ( x e. y |-> ( g ` x ) ) ` z ) e. z <-> ( g ` z ) e. z ) ) |
| 30 | 29 | pm5.74i | |- ( ( z e. ( y \ { (/) } ) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) <-> ( z e. ( y \ { (/) } ) -> ( g ` z ) e. z ) ) |
| 31 | impexp | |- ( ( ( z e. y /\ z =/= (/) ) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) <-> ( z e. y -> ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) ) |
|
| 32 | 23 30 31 | 3bitr3i | |- ( ( z e. ( y \ { (/) } ) -> ( g ` z ) e. z ) <-> ( z e. y -> ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) ) |
| 33 | 32 | ralbii2 | |- ( A. z e. ( y \ { (/) } ) ( g ` z ) e. z <-> A. z e. y ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) |
| 34 | 21 33 | sylib | |- ( ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) -> A. z e. y ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) |
| 35 | fvrn0 | |- ( g ` x ) e. ( ran g u. { (/) } ) |
|
| 36 | 35 | rgenw | |- A. x e. y ( g ` x ) e. ( ran g u. { (/) } ) |
| 37 | 25 | fmpt | |- ( A. x e. y ( g ` x ) e. ( ran g u. { (/) } ) <-> ( x e. y |-> ( g ` x ) ) : y --> ( ran g u. { (/) } ) ) |
| 38 | 36 37 | mpbi | |- ( x e. y |-> ( g ` x ) ) : y --> ( ran g u. { (/) } ) |
| 39 | ffn | |- ( ( x e. y |-> ( g ` x ) ) : y --> ( ran g u. { (/) } ) -> ( x e. y |-> ( g ` x ) ) Fn y ) |
|
| 40 | 38 39 | ax-mp | |- ( x e. y |-> ( g ` x ) ) Fn y |
| 41 | 34 40 | jctil | |- ( ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) -> ( ( x e. y |-> ( g ` x ) ) Fn y /\ A. z e. y ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) ) |
| 42 | fneq1 | |- ( f = ( x e. y |-> ( g ` x ) ) -> ( f Fn y <-> ( x e. y |-> ( g ` x ) ) Fn y ) ) |
|
| 43 | fveq1 | |- ( f = ( x e. y |-> ( g ` x ) ) -> ( f ` z ) = ( ( x e. y |-> ( g ` x ) ) ` z ) ) |
|
| 44 | 43 | eleq1d | |- ( f = ( x e. y |-> ( g ` x ) ) -> ( ( f ` z ) e. z <-> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) |
| 45 | 44 | imbi2d | |- ( f = ( x e. y |-> ( g ` x ) ) -> ( ( z =/= (/) -> ( f ` z ) e. z ) <-> ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) ) |
| 46 | 45 | ralbidv | |- ( f = ( x e. y |-> ( g ` x ) ) -> ( A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) <-> A. z e. y ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) ) |
| 47 | 42 46 | anbi12d | |- ( f = ( x e. y |-> ( g ` x ) ) -> ( ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) <-> ( ( x e. y |-> ( g ` x ) ) Fn y /\ A. z e. y ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) ) ) |
| 48 | 47 | spcegv | |- ( ( x e. y |-> ( g ` x ) ) e. _V -> ( ( ( x e. y |-> ( g ` x ) ) Fn y /\ A. z e. y ( z =/= (/) -> ( ( x e. y |-> ( g ` x ) ) ` z ) e. z ) ) -> E. f ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) ) ) |
| 49 | 20 41 48 | mpsyl | |- ( ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) -> E. f ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) ) |
| 50 | 49 | exlimiv | |- ( E. g ( g : ( y \ { (/) } ) --> U. y /\ A. z e. ( y \ { (/) } ) ( g ` z ) e. z ) -> E. f ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) ) |
| 51 | 8 19 50 | 3syl | |- ( A. x AC_ x = _V -> E. f ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) ) |
| 52 | 51 | alrimiv | |- ( A. x AC_ x = _V -> A. y E. f ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) ) |
| 53 | dfac4 | |- ( CHOICE <-> A. y E. f ( f Fn y /\ A. z e. y ( z =/= (/) -> ( f ` z ) e. z ) ) ) |
|
| 54 | 52 53 | sylibr | |- ( A. x AC_ x = _V -> CHOICE ) |
| 55 | 3 54 | impbii | |- ( CHOICE <-> A. x AC_ x = _V ) |