This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: An operation (in maps-to notation) on two singletons. (Contributed by AV, 4-Aug-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | mposn.f | |- F = ( x e. { A } , y e. { B } |-> C ) |
|
| mposn.a | |- ( x = A -> C = D ) |
||
| mposn.b | |- ( y = B -> D = E ) |
||
| Assertion | mposn | |- ( ( A e. V /\ B e. W /\ E e. U ) -> F = { <. <. A , B >. , E >. } ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | mposn.f | |- F = ( x e. { A } , y e. { B } |-> C ) |
|
| 2 | mposn.a | |- ( x = A -> C = D ) |
|
| 3 | mposn.b | |- ( y = B -> D = E ) |
|
| 4 | xpsng | |- ( ( A e. V /\ B e. W ) -> ( { A } X. { B } ) = { <. A , B >. } ) |
|
| 5 | 4 | 3adant3 | |- ( ( A e. V /\ B e. W /\ E e. U ) -> ( { A } X. { B } ) = { <. A , B >. } ) |
| 6 | 5 | mpteq1d | |- ( ( A e. V /\ B e. W /\ E e. U ) -> ( p e. ( { A } X. { B } ) |-> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C ) = ( p e. { <. A , B >. } |-> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C ) ) |
| 7 | mpompts | |- ( x e. { A } , y e. { B } |-> C ) = ( p e. ( { A } X. { B } ) |-> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C ) |
|
| 8 | 1 7 | eqtri | |- F = ( p e. ( { A } X. { B } ) |-> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C ) |
| 9 | 8 | a1i | |- ( ( A e. V /\ B e. W /\ E e. U ) -> F = ( p e. ( { A } X. { B } ) |-> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C ) ) |
| 10 | op2ndg | |- ( ( A e. V /\ B e. W ) -> ( 2nd ` <. A , B >. ) = B ) |
|
| 11 | fveq2 | |- ( p = <. A , B >. -> ( 2nd ` p ) = ( 2nd ` <. A , B >. ) ) |
|
| 12 | 11 | eqcomd | |- ( p = <. A , B >. -> ( 2nd ` <. A , B >. ) = ( 2nd ` p ) ) |
| 13 | 12 | eqeq1d | |- ( p = <. A , B >. -> ( ( 2nd ` <. A , B >. ) = B <-> ( 2nd ` p ) = B ) ) |
| 14 | 10 13 | syl5ibcom | |- ( ( A e. V /\ B e. W ) -> ( p = <. A , B >. -> ( 2nd ` p ) = B ) ) |
| 15 | 14 | 3adant3 | |- ( ( A e. V /\ B e. W /\ E e. U ) -> ( p = <. A , B >. -> ( 2nd ` p ) = B ) ) |
| 16 | 15 | imp | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ p = <. A , B >. ) -> ( 2nd ` p ) = B ) |
| 17 | op1stg | |- ( ( A e. V /\ B e. W ) -> ( 1st ` <. A , B >. ) = A ) |
|
| 18 | fveq2 | |- ( p = <. A , B >. -> ( 1st ` p ) = ( 1st ` <. A , B >. ) ) |
|
| 19 | 18 | eqcomd | |- ( p = <. A , B >. -> ( 1st ` <. A , B >. ) = ( 1st ` p ) ) |
| 20 | 19 | eqeq1d | |- ( p = <. A , B >. -> ( ( 1st ` <. A , B >. ) = A <-> ( 1st ` p ) = A ) ) |
| 21 | 17 20 | syl5ibcom | |- ( ( A e. V /\ B e. W ) -> ( p = <. A , B >. -> ( 1st ` p ) = A ) ) |
| 22 | 21 | 3adant3 | |- ( ( A e. V /\ B e. W /\ E e. U ) -> ( p = <. A , B >. -> ( 1st ` p ) = A ) ) |
| 23 | 22 | imp | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ p = <. A , B >. ) -> ( 1st ` p ) = A ) |
| 24 | simp1 | |- ( ( A e. V /\ B e. W /\ E e. U ) -> A e. V ) |
|
| 25 | simpl2 | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ x = A ) -> B e. W ) |
|
| 26 | 2 | adantl | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ x = A ) -> C = D ) |
| 27 | 26 3 | sylan9eq | |- ( ( ( ( A e. V /\ B e. W /\ E e. U ) /\ x = A ) /\ y = B ) -> C = E ) |
| 28 | 25 27 | csbied | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ x = A ) -> [_ B / y ]_ C = E ) |
| 29 | 24 28 | csbied | |- ( ( A e. V /\ B e. W /\ E e. U ) -> [_ A / x ]_ [_ B / y ]_ C = E ) |
| 30 | 29 | adantr | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ p = <. A , B >. ) -> [_ A / x ]_ [_ B / y ]_ C = E ) |
| 31 | csbeq1 | |- ( ( 1st ` p ) = A -> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C = [_ A / x ]_ [_ ( 2nd ` p ) / y ]_ C ) |
|
| 32 | 31 | eqeq1d | |- ( ( 1st ` p ) = A -> ( [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C = E <-> [_ A / x ]_ [_ ( 2nd ` p ) / y ]_ C = E ) ) |
| 33 | 32 | adantl | |- ( ( ( 2nd ` p ) = B /\ ( 1st ` p ) = A ) -> ( [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C = E <-> [_ A / x ]_ [_ ( 2nd ` p ) / y ]_ C = E ) ) |
| 34 | csbeq1 | |- ( ( 2nd ` p ) = B -> [_ ( 2nd ` p ) / y ]_ C = [_ B / y ]_ C ) |
|
| 35 | 34 | adantr | |- ( ( ( 2nd ` p ) = B /\ ( 1st ` p ) = A ) -> [_ ( 2nd ` p ) / y ]_ C = [_ B / y ]_ C ) |
| 36 | 35 | csbeq2dv | |- ( ( ( 2nd ` p ) = B /\ ( 1st ` p ) = A ) -> [_ A / x ]_ [_ ( 2nd ` p ) / y ]_ C = [_ A / x ]_ [_ B / y ]_ C ) |
| 37 | 36 | eqeq1d | |- ( ( ( 2nd ` p ) = B /\ ( 1st ` p ) = A ) -> ( [_ A / x ]_ [_ ( 2nd ` p ) / y ]_ C = E <-> [_ A / x ]_ [_ B / y ]_ C = E ) ) |
| 38 | 33 37 | bitrd | |- ( ( ( 2nd ` p ) = B /\ ( 1st ` p ) = A ) -> ( [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C = E <-> [_ A / x ]_ [_ B / y ]_ C = E ) ) |
| 39 | 30 38 | syl5ibrcom | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ p = <. A , B >. ) -> ( ( ( 2nd ` p ) = B /\ ( 1st ` p ) = A ) -> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C = E ) ) |
| 40 | 16 23 39 | mp2and | |- ( ( ( A e. V /\ B e. W /\ E e. U ) /\ p = <. A , B >. ) -> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C = E ) |
| 41 | opex | |- <. A , B >. e. _V |
|
| 42 | 41 | a1i | |- ( ( A e. V /\ B e. W /\ E e. U ) -> <. A , B >. e. _V ) |
| 43 | simp3 | |- ( ( A e. V /\ B e. W /\ E e. U ) -> E e. U ) |
|
| 44 | 40 42 43 | fmptsnd | |- ( ( A e. V /\ B e. W /\ E e. U ) -> { <. <. A , B >. , E >. } = ( p e. { <. A , B >. } |-> [_ ( 1st ` p ) / x ]_ [_ ( 2nd ` p ) / y ]_ C ) ) |
| 45 | 6 9 44 | 3eqtr4d | |- ( ( A e. V /\ B e. W /\ E e. U ) -> F = { <. <. A , B >. , E >. } ) |