Step | Hyp | Ref
| Expression |
1 | | df-cur 8083 |
. 2
⊢ curry
𝐹 = (𝑥 ∈ dom dom 𝐹 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) |
2 | | mpocurryd.c |
. . . . . . 7
⊢ (𝜑 → ∀𝑥 ∈ 𝑋 ∀𝑦 ∈ 𝑌 𝐶 ∈ 𝑉) |
3 | | mpocurryd.f |
. . . . . . . 8
⊢ 𝐹 = (𝑥 ∈ 𝑋, 𝑦 ∈ 𝑌 ↦ 𝐶) |
4 | 3 | dmmpoga 7913 |
. . . . . . 7
⊢
(∀𝑥 ∈
𝑋 ∀𝑦 ∈ 𝑌 𝐶 ∈ 𝑉 → dom 𝐹 = (𝑋 × 𝑌)) |
5 | 2, 4 | syl 17 |
. . . . . 6
⊢ (𝜑 → dom 𝐹 = (𝑋 × 𝑌)) |
6 | 5 | dmeqd 5814 |
. . . . 5
⊢ (𝜑 → dom dom 𝐹 = dom (𝑋 × 𝑌)) |
7 | | mpocurryd.n |
. . . . . 6
⊢ (𝜑 → 𝑌 ≠ ∅) |
8 | | dmxp 5838 |
. . . . . 6
⊢ (𝑌 ≠ ∅ → dom (𝑋 × 𝑌) = 𝑋) |
9 | 7, 8 | syl 17 |
. . . . 5
⊢ (𝜑 → dom (𝑋 × 𝑌) = 𝑋) |
10 | 6, 9 | eqtrd 2778 |
. . . 4
⊢ (𝜑 → dom dom 𝐹 = 𝑋) |
11 | 10 | mpteq1d 5169 |
. . 3
⊢ (𝜑 → (𝑥 ∈ dom dom 𝐹 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) = (𝑥 ∈ 𝑋 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧})) |
12 | | df-mpt 5158 |
. . . . 5
⊢ (𝑦 ∈ 𝑌 ↦ 𝐶) = {〈𝑦, 𝑧〉 ∣ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶)} |
13 | 3 | mpofun 7398 |
. . . . . . . 8
⊢ Fun 𝐹 |
14 | | funbrfv2b 6827 |
. . . . . . . 8
⊢ (Fun
𝐹 → (〈𝑥, 𝑦〉𝐹𝑧 ↔ (〈𝑥, 𝑦〉 ∈ dom 𝐹 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
15 | 13, 14 | mp1i 13 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (〈𝑥, 𝑦〉𝐹𝑧 ↔ (〈𝑥, 𝑦〉 ∈ dom 𝐹 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
16 | 5 | adantr 481 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → dom 𝐹 = (𝑋 × 𝑌)) |
17 | 16 | eleq2d 2824 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (〈𝑥, 𝑦〉 ∈ dom 𝐹 ↔ 〈𝑥, 𝑦〉 ∈ (𝑋 × 𝑌))) |
18 | | opelxp 5625 |
. . . . . . . . 9
⊢
(〈𝑥, 𝑦〉 ∈ (𝑋 × 𝑌) ↔ (𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌)) |
19 | 17, 18 | bitrdi 287 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (〈𝑥, 𝑦〉 ∈ dom 𝐹 ↔ (𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌))) |
20 | 19 | anbi1d 630 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((〈𝑥, 𝑦〉 ∈ dom 𝐹 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ ((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
21 | | an21 641 |
. . . . . . . 8
⊢ (((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝑦 ∈ 𝑌 ∧ (𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
22 | | ibar 529 |
. . . . . . . . . . . . 13
⊢ (𝑥 ∈ 𝑋 → ((𝐹‘〈𝑥, 𝑦〉) = 𝑧 ↔ (𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
23 | 22 | bicomd 222 |
. . . . . . . . . . . 12
⊢ (𝑥 ∈ 𝑋 → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) |
24 | 23 | adantl 482 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) |
25 | 24 | adantr 481 |
. . . . . . . . . 10
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) |
26 | | df-ov 7278 |
. . . . . . . . . . . . 13
⊢ (𝑥𝐹𝑦) = (𝐹‘〈𝑥, 𝑦〉) |
27 | | nfcv 2907 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑎𝐶 |
28 | | nfcv 2907 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑏𝐶 |
29 | | nfcv 2907 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑥𝑏 |
30 | | nfcsb1v 3857 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑥⦋𝑎 / 𝑥⦌𝐶 |
31 | 29, 30 | nfcsbw 3859 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑥⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 |
32 | | nfcsb1v 3857 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑦⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 |
33 | | csbeq1a 3846 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 = 𝑎 → 𝐶 = ⦋𝑎 / 𝑥⦌𝐶) |
34 | | csbeq1a 3846 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑦 = 𝑏 → ⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
35 | 33, 34 | sylan9eq 2798 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑥 = 𝑎 ∧ 𝑦 = 𝑏) → 𝐶 = ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
36 | 27, 28, 31, 32, 35 | cbvmpo 7369 |
. . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ 𝑋, 𝑦 ∈ 𝑌 ↦ 𝐶) = (𝑎 ∈ 𝑋, 𝑏 ∈ 𝑌 ↦ ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
37 | 3, 36 | eqtri 2766 |
. . . . . . . . . . . . . . 15
⊢ 𝐹 = (𝑎 ∈ 𝑋, 𝑏 ∈ 𝑌 ↦ ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
38 | 37 | a1i 11 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝐹 = (𝑎 ∈ 𝑋, 𝑏 ∈ 𝑌 ↦ ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶)) |
39 | 33 | eqcomd 2744 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 = 𝑎 → ⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
40 | 39 | equcoms 2023 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑎 = 𝑥 → ⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
41 | 40 | csbeq2dv 3839 |
. . . . . . . . . . . . . . . 16
⊢ (𝑎 = 𝑥 → ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑦⦌𝐶) |
42 | | csbeq1a 3846 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑦 = 𝑏 → 𝐶 = ⦋𝑏 / 𝑦⦌𝐶) |
43 | 42 | eqcomd 2744 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑦 = 𝑏 → ⦋𝑏 / 𝑦⦌𝐶 = 𝐶) |
44 | 43 | equcoms 2023 |
. . . . . . . . . . . . . . . 16
⊢ (𝑏 = 𝑦 → ⦋𝑏 / 𝑦⦌𝐶 = 𝐶) |
45 | 41, 44 | sylan9eq 2798 |
. . . . . . . . . . . . . . 15
⊢ ((𝑎 = 𝑥 ∧ 𝑏 = 𝑦) → ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
46 | 45 | adantl 482 |
. . . . . . . . . . . . . 14
⊢ ((((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) ∧ (𝑎 = 𝑥 ∧ 𝑏 = 𝑦)) → ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
47 | | simpr 485 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → 𝑥 ∈ 𝑋) |
48 | 47 | adantr 481 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝑥 ∈ 𝑋) |
49 | | simpr 485 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝑦 ∈ 𝑌) |
50 | | rsp2 3138 |
. . . . . . . . . . . . . . . 16
⊢
(∀𝑥 ∈
𝑋 ∀𝑦 ∈ 𝑌 𝐶 ∈ 𝑉 → ((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) → 𝐶 ∈ 𝑉)) |
51 | 2, 50 | syl 17 |
. . . . . . . . . . . . . . 15
⊢ (𝜑 → ((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) → 𝐶 ∈ 𝑉)) |
52 | 51 | impl 456 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝐶 ∈ 𝑉) |
53 | 38, 46, 48, 49, 52 | ovmpod 7425 |
. . . . . . . . . . . . 13
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → (𝑥𝐹𝑦) = 𝐶) |
54 | 26, 53 | eqtr3id 2792 |
. . . . . . . . . . . 12
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → (𝐹‘〈𝑥, 𝑦〉) = 𝐶) |
55 | 54 | eqeq1d 2740 |
. . . . . . . . . . 11
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝐹‘〈𝑥, 𝑦〉) = 𝑧 ↔ 𝐶 = 𝑧)) |
56 | | eqcom 2745 |
. . . . . . . . . . 11
⊢ (𝐶 = 𝑧 ↔ 𝑧 = 𝐶) |
57 | 55, 56 | bitrdi 287 |
. . . . . . . . . 10
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝐹‘〈𝑥, 𝑦〉) = 𝑧 ↔ 𝑧 = 𝐶)) |
58 | 25, 57 | bitrd 278 |
. . . . . . . . 9
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ 𝑧 = 𝐶)) |
59 | 58 | pm5.32da 579 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((𝑦 ∈ 𝑌 ∧ (𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) ↔ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶))) |
60 | 21, 59 | bitrid 282 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶))) |
61 | 15, 20, 60 | 3bitrrd 306 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶) ↔ 〈𝑥, 𝑦〉𝐹𝑧)) |
62 | 61 | opabbidv 5140 |
. . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → {〈𝑦, 𝑧〉 ∣ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶)} = {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) |
63 | 12, 62 | eqtr2id 2791 |
. . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧} = (𝑦 ∈ 𝑌 ↦ 𝐶)) |
64 | 63 | mpteq2dva 5174 |
. . 3
⊢ (𝜑 → (𝑥 ∈ 𝑋 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) = (𝑥 ∈ 𝑋 ↦ (𝑦 ∈ 𝑌 ↦ 𝐶))) |
65 | 11, 64 | eqtrd 2778 |
. 2
⊢ (𝜑 → (𝑥 ∈ dom dom 𝐹 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) = (𝑥 ∈ 𝑋 ↦ (𝑦 ∈ 𝑌 ↦ 𝐶))) |
66 | 1, 65 | eqtrid 2790 |
1
⊢ (𝜑 → curry 𝐹 = (𝑥 ∈ 𝑋 ↦ (𝑦 ∈ 𝑌 ↦ 𝐶))) |