Metamath Proof Explorer


Theorem mpomptsx

Description: Express a two-argument function as a one-argument function, or vice-versa. (Contributed by Mario Carneiro, 24-Dec-2016)

Ref Expression
Assertion mpomptsx ⊢ x ∈ A , y ∈ B ⟼ C = z ∈ ⋃ x ∈ A x × B ⟼ ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C

Proof

Step Hyp Ref Expression
1 vex ⊢ u ∈ V
2 vex ⊢ v ∈ V
3 1 2 op1std ⊢ z = u v → 1 st ⁡ z = u
4 3 csbeq1d ⊢ z = u v → ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C = ⦋ u / x⦌ ⦋ 2 nd ⁡ z / y⦌ C
5 1 2 op2ndd ⊢ z = u v → 2 nd ⁡ z = v
6 5 csbeq1d ⊢ z = u v → ⦋ 2 nd ⁡ z / y⦌ C = ⦋ v / y⦌ C
7 6 csbeq2dv ⊢ z = u v → ⦋ u / x⦌ ⦋ 2 nd ⁡ z / y⦌ C = ⦋ u / x⦌ ⦋ v / y⦌ C
8 4 7 eqtrd ⊢ z = u v → ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C = ⦋ u / x⦌ ⦋ v / y⦌ C
9 8 mpomptx ⊢ z ∈ ⋃ u ∈ A u × ⦋ u / x⦌ B ⟼ ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C = u ∈ A , v ∈ ⦋ u / x⦌ B ⟼ ⦋ u / x⦌ ⦋ v / y⦌ C
10 nfcv ⊢ Ⅎ _ u x × B
11 nfcv ⊢ Ⅎ _ x u
12 nfcsb1v ⊢ Ⅎ _ x ⦋ u / x⦌ B
13 11 12 nfxp ⊢ Ⅎ _ x u × ⦋ u / x⦌ B
14 sneq ⊢ x = u → x = u
15 csbeq1a ⊢ x = u → B = ⦋ u / x⦌ B
16 14 15 xpeq12d ⊢ x = u → x × B = u × ⦋ u / x⦌ B
17 10 13 16 cbviun ⊢ ⋃ x ∈ A x × B = ⋃ u ∈ A u × ⦋ u / x⦌ B
18 17 mpteq1i ⊢ z ∈ ⋃ x ∈ A x × B ⟼ ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C = z ∈ ⋃ u ∈ A u × ⦋ u / x⦌ B ⟼ ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C
19 nfcv ⊢ Ⅎ _ u B
20 nfcv ⊢ Ⅎ _ u C
21 nfcv ⊢ Ⅎ _ v C
22 nfcsb1v ⊢ Ⅎ _ x ⦋ u / x⦌ ⦋ v / y⦌ C
23 nfcv ⊢ Ⅎ _ y u
24 nfcsb1v ⊢ Ⅎ _ y ⦋ v / y⦌ C
25 23 24 nfcsbw ⊢ Ⅎ _ y ⦋ u / x⦌ ⦋ v / y⦌ C
26 csbeq1a ⊢ y = v → C = ⦋ v / y⦌ C
27 csbeq1a ⊢ x = u → ⦋ v / y⦌ C = ⦋ u / x⦌ ⦋ v / y⦌ C
28 26 27 sylan9eqr ⊢ x = u ∧ y = v → C = ⦋ u / x⦌ ⦋ v / y⦌ C
29 19 12 20 21 22 25 15 28 cbvmpox ⊢ x ∈ A , y ∈ B ⟼ C = u ∈ A , v ∈ ⦋ u / x⦌ B ⟼ ⦋ u / x⦌ ⦋ v / y⦌ C
30 9 18 29 3eqtr4ri ⊢ x ∈ A , y ∈ B ⟼ C = z ∈ ⋃ x ∈ A x × B ⟼ ⦋ 1 st ⁡ z / x⦌ ⦋ 2 nd ⁡ z / y⦌ C