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 | ⊢ ( 𝜑 → 𝑀 Fn ( 𝐴 × 𝐵 ) ) | |
| fnmpoovd.s | ⊢ ( ( 𝑖 = 𝑎 ∧ 𝑗 = 𝑏 ) → 𝐷 = 𝐶 ) | ||
| fnmpoovd.d | ⊢ ( ( 𝜑 ∧ 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) → 𝐷 ∈ 𝑈 ) | ||
| fnmpoovd.c | ⊢ ( ( 𝜑 ∧ 𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐵 ) → 𝐶 ∈ 𝑉 ) | ||
| Assertion | fnmpoovd | ⊢ ( 𝜑 → ( 𝑀 = ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) ↔ ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = 𝐷 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fnmpoovd.m | ⊢ ( 𝜑 → 𝑀 Fn ( 𝐴 × 𝐵 ) ) | |
| 2 | fnmpoovd.s | ⊢ ( ( 𝑖 = 𝑎 ∧ 𝑗 = 𝑏 ) → 𝐷 = 𝐶 ) | |
| 3 | fnmpoovd.d | ⊢ ( ( 𝜑 ∧ 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) → 𝐷 ∈ 𝑈 ) | |
| 4 | fnmpoovd.c | ⊢ ( ( 𝜑 ∧ 𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐵 ) → 𝐶 ∈ 𝑉 ) | |
| 5 | 4 | 3expb | ⊢ ( ( 𝜑 ∧ ( 𝑎 ∈ 𝐴 ∧ 𝑏 ∈ 𝐵 ) ) → 𝐶 ∈ 𝑉 ) |
| 6 | 5 | ralrimivva | ⊢ ( 𝜑 → ∀ 𝑎 ∈ 𝐴 ∀ 𝑏 ∈ 𝐵 𝐶 ∈ 𝑉 ) |
| 7 | eqid | ⊢ ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) = ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) | |
| 8 | 7 | fnmpo | ⊢ ( ∀ 𝑎 ∈ 𝐴 ∀ 𝑏 ∈ 𝐵 𝐶 ∈ 𝑉 → ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) Fn ( 𝐴 × 𝐵 ) ) |
| 9 | 6 8 | syl | ⊢ ( 𝜑 → ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) Fn ( 𝐴 × 𝐵 ) ) |
| 10 | eqfnov2 | ⊢ ( ( 𝑀 Fn ( 𝐴 × 𝐵 ) ∧ ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) Fn ( 𝐴 × 𝐵 ) ) → ( 𝑀 = ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) ↔ ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) 𝑗 ) ) ) | |
| 11 | 1 9 10 | syl2anc | ⊢ ( 𝜑 → ( 𝑀 = ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) ↔ ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) 𝑗 ) ) ) |
| 12 | nfcv | ⊢ Ⅎ 𝑎 𝐷 | |
| 13 | nfcv | ⊢ Ⅎ 𝑏 𝐷 | |
| 14 | nfcv | ⊢ Ⅎ 𝑖 𝐶 | |
| 15 | nfcv | ⊢ Ⅎ 𝑗 𝐶 | |
| 16 | 12 13 14 15 2 | cbvmpo | ⊢ ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) = ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) |
| 17 | 16 | eqcomi | ⊢ ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) = ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) |
| 18 | 17 | a1i | ⊢ ( 𝜑 → ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) = ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) ) |
| 19 | 18 | oveqd | ⊢ ( 𝜑 → ( 𝑖 ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) 𝑗 ) = ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) ) |
| 20 | 19 | eqeq2d | ⊢ ( 𝜑 → ( ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) 𝑗 ) ↔ ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) ) ) |
| 21 | 20 | 2ralbidv | ⊢ ( 𝜑 → ( ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) 𝑗 ) ↔ ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) ) ) |
| 22 | simprl | ⊢ ( ( 𝜑 ∧ ( 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) ) → 𝑖 ∈ 𝐴 ) | |
| 23 | simprr | ⊢ ( ( 𝜑 ∧ ( 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) ) → 𝑗 ∈ 𝐵 ) | |
| 24 | 3 | 3expb | ⊢ ( ( 𝜑 ∧ ( 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) ) → 𝐷 ∈ 𝑈 ) |
| 25 | eqid | ⊢ ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) = ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) | |
| 26 | 25 | ovmpt4g | ⊢ ( ( 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ∧ 𝐷 ∈ 𝑈 ) → ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) = 𝐷 ) |
| 27 | 22 23 24 26 | syl3anc | ⊢ ( ( 𝜑 ∧ ( 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) ) → ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) = 𝐷 ) |
| 28 | 27 | eqeq2d | ⊢ ( ( 𝜑 ∧ ( 𝑖 ∈ 𝐴 ∧ 𝑗 ∈ 𝐵 ) ) → ( ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) ↔ ( 𝑖 𝑀 𝑗 ) = 𝐷 ) ) |
| 29 | 28 | 2ralbidva | ⊢ ( 𝜑 → ( ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = ( 𝑖 ( 𝑖 ∈ 𝐴 , 𝑗 ∈ 𝐵 ↦ 𝐷 ) 𝑗 ) ↔ ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = 𝐷 ) ) |
| 30 | 11 21 29 | 3bitrd | ⊢ ( 𝜑 → ( 𝑀 = ( 𝑎 ∈ 𝐴 , 𝑏 ∈ 𝐵 ↦ 𝐶 ) ↔ ∀ 𝑖 ∈ 𝐴 ∀ 𝑗 ∈ 𝐵 ( 𝑖 𝑀 𝑗 ) = 𝐷 ) ) |