| Step | Hyp | Ref
| Expression |
| 1 | | ffvelcdm 7101 |
. . . . . 6
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵)) |
| 2 | | elmapi 8889 |
. . . . . 6
⊢ ((𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵) → (𝐹‘𝑥):𝐵⟶𝐶) |
| 3 | 1, 2 | syl 17 |
. . . . 5
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥):𝐵⟶𝐶) |
| 4 | 3 | ffvelcdmda 7104 |
. . . 4
⊢ (((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) ∧ 𝑦 ∈ 𝐵) → ((𝐹‘𝑥)‘𝑦) ∈ 𝐶) |
| 5 | 4 | anasss 466 |
. . 3
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵)) → ((𝐹‘𝑥)‘𝑦) ∈ 𝐶) |
| 6 | 5 | ralrimivva 3202 |
. 2
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶) |
| 7 | | df-unc 8293 |
. . . . 5
⊢ uncurry
𝐹 = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ 𝑦(𝐹‘𝑥)𝑧} |
| 8 | | df-br 5144 |
. . . . . . . . . . 11
⊢ (𝑦(𝐹‘𝑥)𝑧 ↔ 〈𝑦, 𝑧〉 ∈ (𝐹‘𝑥)) |
| 9 | | elfvdm 6943 |
. . . . . . . . . . 11
⊢
(〈𝑦, 𝑧〉 ∈ (𝐹‘𝑥) → 𝑥 ∈ dom 𝐹) |
| 10 | 8, 9 | sylbi 217 |
. . . . . . . . . 10
⊢ (𝑦(𝐹‘𝑥)𝑧 → 𝑥 ∈ dom 𝐹) |
| 11 | | fdm 6745 |
. . . . . . . . . . 11
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → dom 𝐹 = 𝐴) |
| 12 | 11 | eleq2d 2827 |
. . . . . . . . . 10
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑥 ∈ dom 𝐹 ↔ 𝑥 ∈ 𝐴)) |
| 13 | 10, 12 | imbitrid 244 |
. . . . . . . . 9
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 → 𝑥 ∈ 𝐴)) |
| 14 | 13 | pm4.71rd 562 |
. . . . . . . 8
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑥 ∈ 𝐴 ∧ 𝑦(𝐹‘𝑥)𝑧))) |
| 15 | | elmapfun 8906 |
. . . . . . . . . . 11
⊢ ((𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵) → Fun (𝐹‘𝑥)) |
| 16 | | funbrfv2b 6966 |
. . . . . . . . . . 11
⊢ (Fun
(𝐹‘𝑥) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧))) |
| 17 | 1, 15, 16 | 3syl 18 |
. . . . . . . . . 10
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧))) |
| 18 | | fdm 6745 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑥):𝐵⟶𝐶 → dom (𝐹‘𝑥) = 𝐵) |
| 19 | 1, 2, 18 | 3syl 18 |
. . . . . . . . . . . 12
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → dom (𝐹‘𝑥) = 𝐵) |
| 20 | 19 | eleq2d 2827 |
. . . . . . . . . . 11
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦 ∈ dom (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵)) |
| 21 | | eqcom 2744 |
. . . . . . . . . . . 12
⊢ (((𝐹‘𝑥)‘𝑦) = 𝑧 ↔ 𝑧 = ((𝐹‘𝑥)‘𝑦)) |
| 22 | 21 | a1i 11 |
. . . . . . . . . . 11
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (((𝐹‘𝑥)‘𝑦) = 𝑧 ↔ 𝑧 = ((𝐹‘𝑥)‘𝑦))) |
| 23 | 20, 22 | anbi12d 632 |
. . . . . . . . . 10
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧) ↔ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
| 24 | 17, 23 | bitrd 279 |
. . . . . . . . 9
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
| 25 | 24 | pm5.32da 579 |
. . . . . . . 8
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → ((𝑥 ∈ 𝐴 ∧ 𝑦(𝐹‘𝑥)𝑧) ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))) |
| 26 | 14, 25 | bitrd 279 |
. . . . . . 7
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))) |
| 27 | | anass 468 |
. . . . . . 7
⊢ (((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)) ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
| 28 | 26, 27 | bitr4di 289 |
. . . . . 6
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
| 29 | 28 | oprabbidv 7499 |
. . . . 5
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ 𝑦(𝐹‘𝑥)𝑧} = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}) |
| 30 | 7, 29 | eqtrid 2789 |
. . . 4
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹 = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}) |
| 31 | 30 | feq1d 6720 |
. . 3
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶)) |
| 32 | | df-mpo 7436 |
. . . . 5
⊢ (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ((𝐹‘𝑥)‘𝑦)) = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))} |
| 33 | 32 | eqcomi 2746 |
. . . 4
⊢
{〈〈𝑥,
𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))} = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ((𝐹‘𝑥)‘𝑦)) |
| 34 | 33 | fmpo 8093 |
. . 3
⊢
(∀𝑥 ∈
𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶 ↔ {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶) |
| 35 | 31, 34 | bitr4di 289 |
. 2
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶)) |
| 36 | 6, 35 | mpbird 257 |
1
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶) |