| Step | Hyp | Ref
| Expression |
| 1 | | df-cur 8292 |
. 2
⊢ curry
𝐹 = (𝑥 ∈ dom dom 𝐹 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) |
| 2 | | mpocurryd.c |
. . . . . . 7
⊢ (𝜑 → ∀𝑥 ∈ 𝑋 ∀𝑦 ∈ 𝑌 𝐶 ∈ 𝑉) |
| 3 | | mpocurryd.f |
. . . . . . . 8
⊢ 𝐹 = (𝑥 ∈ 𝑋, 𝑦 ∈ 𝑌 ↦ 𝐶) |
| 4 | 3 | dmmpoga 8098 |
. . . . . . 7
⊢
(∀𝑥 ∈
𝑋 ∀𝑦 ∈ 𝑌 𝐶 ∈ 𝑉 → dom 𝐹 = (𝑋 × 𝑌)) |
| 5 | 2, 4 | syl 17 |
. . . . . 6
⊢ (𝜑 → dom 𝐹 = (𝑋 × 𝑌)) |
| 6 | 5 | dmeqd 5916 |
. . . . 5
⊢ (𝜑 → dom dom 𝐹 = dom (𝑋 × 𝑌)) |
| 7 | | mpocurryd.n |
. . . . . 6
⊢ (𝜑 → 𝑌 ≠ ∅) |
| 8 | | dmxp 5939 |
. . . . . 6
⊢ (𝑌 ≠ ∅ → dom (𝑋 × 𝑌) = 𝑋) |
| 9 | 7, 8 | syl 17 |
. . . . 5
⊢ (𝜑 → dom (𝑋 × 𝑌) = 𝑋) |
| 10 | 6, 9 | eqtrd 2777 |
. . . 4
⊢ (𝜑 → dom dom 𝐹 = 𝑋) |
| 11 | 10 | mpteq1d 5237 |
. . 3
⊢ (𝜑 → (𝑥 ∈ dom dom 𝐹 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) = (𝑥 ∈ 𝑋 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧})) |
| 12 | | df-mpt 5226 |
. . . . 5
⊢ (𝑦 ∈ 𝑌 ↦ 𝐶) = {〈𝑦, 𝑧〉 ∣ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶)} |
| 13 | 3 | mpofun 7557 |
. . . . . . . 8
⊢ Fun 𝐹 |
| 14 | | funbrfv2b 6966 |
. . . . . . . 8
⊢ (Fun
𝐹 → (〈𝑥, 𝑦〉𝐹𝑧 ↔ (〈𝑥, 𝑦〉 ∈ dom 𝐹 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
| 15 | 13, 14 | mp1i 13 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (〈𝑥, 𝑦〉𝐹𝑧 ↔ (〈𝑥, 𝑦〉 ∈ dom 𝐹 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
| 16 | 5 | adantr 480 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → dom 𝐹 = (𝑋 × 𝑌)) |
| 17 | 16 | eleq2d 2827 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (〈𝑥, 𝑦〉 ∈ dom 𝐹 ↔ 〈𝑥, 𝑦〉 ∈ (𝑋 × 𝑌))) |
| 18 | | opelxp 5721 |
. . . . . . . . 9
⊢
(〈𝑥, 𝑦〉 ∈ (𝑋 × 𝑌) ↔ (𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌)) |
| 19 | 17, 18 | bitrdi 287 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (〈𝑥, 𝑦〉 ∈ dom 𝐹 ↔ (𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌))) |
| 20 | 19 | anbi1d 631 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((〈𝑥, 𝑦〉 ∈ dom 𝐹 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ ((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
| 21 | | an21 644 |
. . . . . . . 8
⊢ (((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝑦 ∈ 𝑌 ∧ (𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
| 22 | | ibar 528 |
. . . . . . . . . . . . 13
⊢ (𝑥 ∈ 𝑋 → ((𝐹‘〈𝑥, 𝑦〉) = 𝑧 ↔ (𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧))) |
| 23 | 22 | bicomd 223 |
. . . . . . . . . . . 12
⊢ (𝑥 ∈ 𝑋 → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) |
| 24 | 23 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) |
| 25 | 24 | adantr 480 |
. . . . . . . . . 10
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) |
| 26 | | df-ov 7434 |
. . . . . . . . . . . . 13
⊢ (𝑥𝐹𝑦) = (𝐹‘〈𝑥, 𝑦〉) |
| 27 | | nfcv 2905 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑎𝐶 |
| 28 | | nfcv 2905 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑏𝐶 |
| 29 | | nfcv 2905 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑥𝑏 |
| 30 | | nfcsb1v 3923 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑥⦋𝑎 / 𝑥⦌𝐶 |
| 31 | 29, 30 | nfcsbw 3925 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑥⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 |
| 32 | | nfcsb1v 3923 |
. . . . . . . . . . . . . . . . 17
⊢
Ⅎ𝑦⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 |
| 33 | | csbeq1a 3913 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 = 𝑎 → 𝐶 = ⦋𝑎 / 𝑥⦌𝐶) |
| 34 | | csbeq1a 3913 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑦 = 𝑏 → ⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
| 35 | 33, 34 | sylan9eq 2797 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑥 = 𝑎 ∧ 𝑦 = 𝑏) → 𝐶 = ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
| 36 | 27, 28, 31, 32, 35 | cbvmpo 7527 |
. . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ 𝑋, 𝑦 ∈ 𝑌 ↦ 𝐶) = (𝑎 ∈ 𝑋, 𝑏 ∈ 𝑌 ↦ ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
| 37 | 3, 36 | eqtri 2765 |
. . . . . . . . . . . . . . 15
⊢ 𝐹 = (𝑎 ∈ 𝑋, 𝑏 ∈ 𝑌 ↦ ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶) |
| 38 | 37 | a1i 11 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝐹 = (𝑎 ∈ 𝑋, 𝑏 ∈ 𝑌 ↦ ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶)) |
| 39 | 33 | eqcomd 2743 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 = 𝑎 → ⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
| 40 | 39 | equcoms 2019 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑎 = 𝑥 → ⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
| 41 | 40 | csbeq2dv 3906 |
. . . . . . . . . . . . . . . 16
⊢ (𝑎 = 𝑥 → ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 = ⦋𝑏 / 𝑦⦌𝐶) |
| 42 | | csbeq1a 3913 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑦 = 𝑏 → 𝐶 = ⦋𝑏 / 𝑦⦌𝐶) |
| 43 | 42 | eqcomd 2743 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑦 = 𝑏 → ⦋𝑏 / 𝑦⦌𝐶 = 𝐶) |
| 44 | 43 | equcoms 2019 |
. . . . . . . . . . . . . . . 16
⊢ (𝑏 = 𝑦 → ⦋𝑏 / 𝑦⦌𝐶 = 𝐶) |
| 45 | 41, 44 | sylan9eq 2797 |
. . . . . . . . . . . . . . 15
⊢ ((𝑎 = 𝑥 ∧ 𝑏 = 𝑦) → ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
| 46 | 45 | adantl 481 |
. . . . . . . . . . . . . 14
⊢ ((((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) ∧ (𝑎 = 𝑥 ∧ 𝑏 = 𝑦)) → ⦋𝑏 / 𝑦⦌⦋𝑎 / 𝑥⦌𝐶 = 𝐶) |
| 47 | | simpr 484 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → 𝑥 ∈ 𝑋) |
| 48 | 47 | adantr 480 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝑥 ∈ 𝑋) |
| 49 | | simpr 484 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝑦 ∈ 𝑌) |
| 50 | | rsp2 3277 |
. . . . . . . . . . . . . . . 16
⊢
(∀𝑥 ∈
𝑋 ∀𝑦 ∈ 𝑌 𝐶 ∈ 𝑉 → ((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) → 𝐶 ∈ 𝑉)) |
| 51 | 2, 50 | syl 17 |
. . . . . . . . . . . . . . 15
⊢ (𝜑 → ((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) → 𝐶 ∈ 𝑉)) |
| 52 | 51 | impl 455 |
. . . . . . . . . . . . . 14
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → 𝐶 ∈ 𝑉) |
| 53 | 38, 46, 48, 49, 52 | ovmpod 7585 |
. . . . . . . . . . . . 13
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → (𝑥𝐹𝑦) = 𝐶) |
| 54 | 26, 53 | eqtr3id 2791 |
. . . . . . . . . . . 12
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → (𝐹‘〈𝑥, 𝑦〉) = 𝐶) |
| 55 | 54 | eqeq1d 2739 |
. . . . . . . . . . 11
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝐹‘〈𝑥, 𝑦〉) = 𝑧 ↔ 𝐶 = 𝑧)) |
| 56 | | eqcom 2744 |
. . . . . . . . . . 11
⊢ (𝐶 = 𝑧 ↔ 𝑧 = 𝐶) |
| 57 | 55, 56 | bitrdi 287 |
. . . . . . . . . 10
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝐹‘〈𝑥, 𝑦〉) = 𝑧 ↔ 𝑧 = 𝐶)) |
| 58 | 25, 57 | bitrd 279 |
. . . . . . . . 9
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑋) ∧ 𝑦 ∈ 𝑌) → ((𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ 𝑧 = 𝐶)) |
| 59 | 58 | pm5.32da 579 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((𝑦 ∈ 𝑌 ∧ (𝑥 ∈ 𝑋 ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧)) ↔ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶))) |
| 60 | 21, 59 | bitrid 283 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (((𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑌) ∧ (𝐹‘〈𝑥, 𝑦〉) = 𝑧) ↔ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶))) |
| 61 | 15, 20, 60 | 3bitrrd 306 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ((𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶) ↔ 〈𝑥, 𝑦〉𝐹𝑧)) |
| 62 | 61 | opabbidv 5209 |
. . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → {〈𝑦, 𝑧〉 ∣ (𝑦 ∈ 𝑌 ∧ 𝑧 = 𝐶)} = {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) |
| 63 | 12, 62 | eqtr2id 2790 |
. . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧} = (𝑦 ∈ 𝑌 ↦ 𝐶)) |
| 64 | 63 | mpteq2dva 5242 |
. . 3
⊢ (𝜑 → (𝑥 ∈ 𝑋 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) = (𝑥 ∈ 𝑋 ↦ (𝑦 ∈ 𝑌 ↦ 𝐶))) |
| 65 | 11, 64 | eqtrd 2777 |
. 2
⊢ (𝜑 → (𝑥 ∈ dom dom 𝐹 ↦ {〈𝑦, 𝑧〉 ∣ 〈𝑥, 𝑦〉𝐹𝑧}) = (𝑥 ∈ 𝑋 ↦ (𝑦 ∈ 𝑌 ↦ 𝐶))) |
| 66 | 1, 65 | eqtrid 2789 |
1
⊢ (𝜑 → curry 𝐹 = (𝑥 ∈ 𝑋 ↦ (𝑦 ∈ 𝑌 ↦ 𝐶))) |