This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A function with a Cartesian product as domain is a mapping with two arguments defined by its operation values. (Contributed by AV, 20-Feb-2019) (Revised by AV, 3-Jul-2022)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | fnmpoovd.m | |- ( ph -> M Fn ( A X. B ) ) |
|
| fnmpoovd.s | |- ( ( i = a /\ j = b ) -> D = C ) |
||
| fnmpoovd.d | |- ( ( ph /\ i e. A /\ j e. B ) -> D e. U ) |
||
| fnmpoovd.c | |- ( ( ph /\ a e. A /\ b e. B ) -> C e. V ) |
||
| Assertion | fnmpoovd | |- ( ph -> ( M = ( a e. A , b e. B |-> C ) <-> A. i e. A A. j e. B ( i M j ) = D ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fnmpoovd.m | |- ( ph -> M Fn ( A X. B ) ) |
|
| 2 | fnmpoovd.s | |- ( ( i = a /\ j = b ) -> D = C ) |
|
| 3 | fnmpoovd.d | |- ( ( ph /\ i e. A /\ j e. B ) -> D e. U ) |
|
| 4 | fnmpoovd.c | |- ( ( ph /\ a e. A /\ b e. B ) -> C e. V ) |
|
| 5 | 4 | 3expb | |- ( ( ph /\ ( a e. A /\ b e. B ) ) -> C e. V ) |
| 6 | 5 | ralrimivva | |- ( ph -> A. a e. A A. b e. B C e. V ) |
| 7 | eqid | |- ( a e. A , b e. B |-> C ) = ( a e. A , b e. B |-> C ) |
|
| 8 | 7 | fnmpo | |- ( A. a e. A A. b e. B C e. V -> ( a e. A , b e. B |-> C ) Fn ( A X. B ) ) |
| 9 | 6 8 | syl | |- ( ph -> ( a e. A , b e. B |-> C ) Fn ( A X. B ) ) |
| 10 | eqfnov2 | |- ( ( M Fn ( A X. B ) /\ ( a e. A , b e. B |-> C ) Fn ( A X. B ) ) -> ( M = ( a e. A , b e. B |-> C ) <-> A. i e. A A. j e. B ( i M j ) = ( i ( a e. A , b e. B |-> C ) j ) ) ) |
|
| 11 | 1 9 10 | syl2anc | |- ( ph -> ( M = ( a e. A , b e. B |-> C ) <-> A. i e. A A. j e. B ( i M j ) = ( i ( a e. A , b e. B |-> C ) j ) ) ) |
| 12 | nfcv | |- F/_ a D |
|
| 13 | nfcv | |- F/_ b D |
|
| 14 | nfcv | |- F/_ i C |
|
| 15 | nfcv | |- F/_ j C |
|
| 16 | 12 13 14 15 2 | cbvmpo | |- ( i e. A , j e. B |-> D ) = ( a e. A , b e. B |-> C ) |
| 17 | 16 | eqcomi | |- ( a e. A , b e. B |-> C ) = ( i e. A , j e. B |-> D ) |
| 18 | 17 | a1i | |- ( ph -> ( a e. A , b e. B |-> C ) = ( i e. A , j e. B |-> D ) ) |
| 19 | 18 | oveqd | |- ( ph -> ( i ( a e. A , b e. B |-> C ) j ) = ( i ( i e. A , j e. B |-> D ) j ) ) |
| 20 | 19 | eqeq2d | |- ( ph -> ( ( i M j ) = ( i ( a e. A , b e. B |-> C ) j ) <-> ( i M j ) = ( i ( i e. A , j e. B |-> D ) j ) ) ) |
| 21 | 20 | 2ralbidv | |- ( ph -> ( A. i e. A A. j e. B ( i M j ) = ( i ( a e. A , b e. B |-> C ) j ) <-> A. i e. A A. j e. B ( i M j ) = ( i ( i e. A , j e. B |-> D ) j ) ) ) |
| 22 | simprl | |- ( ( ph /\ ( i e. A /\ j e. B ) ) -> i e. A ) |
|
| 23 | simprr | |- ( ( ph /\ ( i e. A /\ j e. B ) ) -> j e. B ) |
|
| 24 | 3 | 3expb | |- ( ( ph /\ ( i e. A /\ j e. B ) ) -> D e. U ) |
| 25 | eqid | |- ( i e. A , j e. B |-> D ) = ( i e. A , j e. B |-> D ) |
|
| 26 | 25 | ovmpt4g | |- ( ( i e. A /\ j e. B /\ D e. U ) -> ( i ( i e. A , j e. B |-> D ) j ) = D ) |
| 27 | 22 23 24 26 | syl3anc | |- ( ( ph /\ ( i e. A /\ j e. B ) ) -> ( i ( i e. A , j e. B |-> D ) j ) = D ) |
| 28 | 27 | eqeq2d | |- ( ( ph /\ ( i e. A /\ j e. B ) ) -> ( ( i M j ) = ( i ( i e. A , j e. B |-> D ) j ) <-> ( i M j ) = D ) ) |
| 29 | 28 | 2ralbidva | |- ( ph -> ( A. i e. A A. j e. B ( i M j ) = ( i ( i e. A , j e. B |-> D ) j ) <-> A. i e. A A. j e. B ( i M j ) = D ) ) |
| 30 | 11 21 29 | 3bitrd | |- ( ph -> ( M = ( a e. A , b e. B |-> C ) <-> A. i e. A A. j e. B ( i M j ) = D ) ) |