This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Alternate value of the indicator function generator. (Contributed by Thierry Arnoux, 2-Feb-2017)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | indval2 | |- ( ( O e. V /\ A C_ O ) -> ( ( _Ind ` O ) ` A ) = ( ( A X. { 1 } ) u. ( ( O \ A ) X. { 0 } ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | dfmpt3 | |- ( x e. O |-> if ( x e. A , 1 , 0 ) ) = U_ x e. O ( { x } X. { if ( x e. A , 1 , 0 ) } ) |
|
| 2 | indval | |- ( ( O e. V /\ A C_ O ) -> ( ( _Ind ` O ) ` A ) = ( x e. O |-> if ( x e. A , 1 , 0 ) ) ) |
|
| 3 | undif | |- ( A C_ O <-> ( A u. ( O \ A ) ) = O ) |
|
| 4 | 3 | biimpi | |- ( A C_ O -> ( A u. ( O \ A ) ) = O ) |
| 5 | 4 | adantl | |- ( ( O e. V /\ A C_ O ) -> ( A u. ( O \ A ) ) = O ) |
| 6 | 5 | iuneq1d | |- ( ( O e. V /\ A C_ O ) -> U_ x e. ( A u. ( O \ A ) ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) = U_ x e. O ( { x } X. { if ( x e. A , 1 , 0 ) } ) ) |
| 7 | 1 2 6 | 3eqtr4a | |- ( ( O e. V /\ A C_ O ) -> ( ( _Ind ` O ) ` A ) = U_ x e. ( A u. ( O \ A ) ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) ) |
| 8 | iunxun | |- U_ x e. ( A u. ( O \ A ) ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) = ( U_ x e. A ( { x } X. { if ( x e. A , 1 , 0 ) } ) u. U_ x e. ( O \ A ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) ) |
|
| 9 | 7 8 | eqtrdi | |- ( ( O e. V /\ A C_ O ) -> ( ( _Ind ` O ) ` A ) = ( U_ x e. A ( { x } X. { if ( x e. A , 1 , 0 ) } ) u. U_ x e. ( O \ A ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) ) ) |
| 10 | iftrue | |- ( x e. A -> if ( x e. A , 1 , 0 ) = 1 ) |
|
| 11 | 10 | sneqd | |- ( x e. A -> { if ( x e. A , 1 , 0 ) } = { 1 } ) |
| 12 | 11 | xpeq2d | |- ( x e. A -> ( { x } X. { if ( x e. A , 1 , 0 ) } ) = ( { x } X. { 1 } ) ) |
| 13 | 12 | iuneq2i | |- U_ x e. A ( { x } X. { if ( x e. A , 1 , 0 ) } ) = U_ x e. A ( { x } X. { 1 } ) |
| 14 | iunxpconst | |- U_ x e. A ( { x } X. { 1 } ) = ( A X. { 1 } ) |
|
| 15 | 13 14 | eqtri | |- U_ x e. A ( { x } X. { if ( x e. A , 1 , 0 ) } ) = ( A X. { 1 } ) |
| 16 | eldifn | |- ( x e. ( O \ A ) -> -. x e. A ) |
|
| 17 | iffalse | |- ( -. x e. A -> if ( x e. A , 1 , 0 ) = 0 ) |
|
| 18 | 17 | sneqd | |- ( -. x e. A -> { if ( x e. A , 1 , 0 ) } = { 0 } ) |
| 19 | 16 18 | syl | |- ( x e. ( O \ A ) -> { if ( x e. A , 1 , 0 ) } = { 0 } ) |
| 20 | 19 | xpeq2d | |- ( x e. ( O \ A ) -> ( { x } X. { if ( x e. A , 1 , 0 ) } ) = ( { x } X. { 0 } ) ) |
| 21 | 20 | iuneq2i | |- U_ x e. ( O \ A ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) = U_ x e. ( O \ A ) ( { x } X. { 0 } ) |
| 22 | iunxpconst | |- U_ x e. ( O \ A ) ( { x } X. { 0 } ) = ( ( O \ A ) X. { 0 } ) |
|
| 23 | 21 22 | eqtri | |- U_ x e. ( O \ A ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) = ( ( O \ A ) X. { 0 } ) |
| 24 | 15 23 | uneq12i | |- ( U_ x e. A ( { x } X. { if ( x e. A , 1 , 0 ) } ) u. U_ x e. ( O \ A ) ( { x } X. { if ( x e. A , 1 , 0 ) } ) ) = ( ( A X. { 1 } ) u. ( ( O \ A ) X. { 0 } ) ) |
| 25 | 9 24 | eqtrdi | |- ( ( O e. V /\ A C_ O ) -> ( ( _Ind ` O ) ` A ) = ( ( A X. { 1 } ) u. ( ( O \ A ) X. { 0 } ) ) ) |