Step | Hyp | Ref
| Expression |
1 | | ffvelrn 6959 |
. . . . . 6
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵)) |
2 | | elmapi 8637 |
. . . . . 6
⊢ ((𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵) → (𝐹‘𝑥):𝐵⟶𝐶) |
3 | 1, 2 | syl 17 |
. . . . 5
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥):𝐵⟶𝐶) |
4 | 3 | ffvelrnda 6961 |
. . . 4
⊢ (((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) ∧ 𝑦 ∈ 𝐵) → ((𝐹‘𝑥)‘𝑦) ∈ 𝐶) |
5 | 4 | anasss 467 |
. . 3
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵)) → ((𝐹‘𝑥)‘𝑦) ∈ 𝐶) |
6 | 5 | ralrimivva 3123 |
. 2
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶) |
7 | | df-unc 8084 |
. . . . 5
⊢ uncurry
𝐹 = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ 𝑦(𝐹‘𝑥)𝑧} |
8 | | df-br 5075 |
. . . . . . . . . . 11
⊢ (𝑦(𝐹‘𝑥)𝑧 ↔ 〈𝑦, 𝑧〉 ∈ (𝐹‘𝑥)) |
9 | | elfvdm 6806 |
. . . . . . . . . . 11
⊢
(〈𝑦, 𝑧〉 ∈ (𝐹‘𝑥) → 𝑥 ∈ dom 𝐹) |
10 | 8, 9 | sylbi 216 |
. . . . . . . . . 10
⊢ (𝑦(𝐹‘𝑥)𝑧 → 𝑥 ∈ dom 𝐹) |
11 | | fdm 6609 |
. . . . . . . . . . 11
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → dom 𝐹 = 𝐴) |
12 | 11 | eleq2d 2824 |
. . . . . . . . . 10
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑥 ∈ dom 𝐹 ↔ 𝑥 ∈ 𝐴)) |
13 | 10, 12 | syl5ib 243 |
. . . . . . . . 9
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 → 𝑥 ∈ 𝐴)) |
14 | 13 | pm4.71rd 563 |
. . . . . . . 8
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑥 ∈ 𝐴 ∧ 𝑦(𝐹‘𝑥)𝑧))) |
15 | | elmapfun 8654 |
. . . . . . . . . . 11
⊢ ((𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵) → Fun (𝐹‘𝑥)) |
16 | | funbrfv2b 6827 |
. . . . . . . . . . 11
⊢ (Fun
(𝐹‘𝑥) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧))) |
17 | 1, 15, 16 | 3syl 18 |
. . . . . . . . . 10
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧))) |
18 | | fdm 6609 |
. . . . . . . . . . . . 13
⊢ ((𝐹‘𝑥):𝐵⟶𝐶 → dom (𝐹‘𝑥) = 𝐵) |
19 | 1, 2, 18 | 3syl 18 |
. . . . . . . . . . . 12
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → dom (𝐹‘𝑥) = 𝐵) |
20 | 19 | eleq2d 2824 |
. . . . . . . . . . 11
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦 ∈ dom (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵)) |
21 | | eqcom 2745 |
. . . . . . . . . . . 12
⊢ (((𝐹‘𝑥)‘𝑦) = 𝑧 ↔ 𝑧 = ((𝐹‘𝑥)‘𝑦)) |
22 | 21 | a1i 11 |
. . . . . . . . . . 11
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (((𝐹‘𝑥)‘𝑦) = 𝑧 ↔ 𝑧 = ((𝐹‘𝑥)‘𝑦))) |
23 | 20, 22 | anbi12d 631 |
. . . . . . . . . 10
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧) ↔ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
24 | 17, 23 | bitrd 278 |
. . . . . . . . 9
⊢ ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
25 | 24 | pm5.32da 579 |
. . . . . . . 8
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → ((𝑥 ∈ 𝐴 ∧ 𝑦(𝐹‘𝑥)𝑧) ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))) |
26 | 14, 25 | bitrd 278 |
. . . . . . 7
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))) |
27 | | anass 469 |
. . . . . . 7
⊢ (((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)) ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
28 | 26, 27 | bitr4di 289 |
. . . . . 6
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))) |
29 | 28 | oprabbidv 7341 |
. . . . 5
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ 𝑦(𝐹‘𝑥)𝑧} = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}) |
30 | 7, 29 | eqtrid 2790 |
. . . 4
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹 = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}) |
31 | 30 | feq1d 6585 |
. . 3
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶)) |
32 | | df-mpo 7280 |
. . . . 5
⊢ (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ((𝐹‘𝑥)‘𝑦)) = {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))} |
33 | 32 | eqcomi 2747 |
. . . 4
⊢
{〈〈𝑥,
𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))} = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ((𝐹‘𝑥)‘𝑦)) |
34 | 33 | fmpo 7908 |
. . 3
⊢
(∀𝑥 ∈
𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶 ↔ {〈〈𝑥, 𝑦〉, 𝑧〉 ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶) |
35 | 31, 34 | bitr4di 289 |
. 2
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶)) |
36 | 6, 35 | mpbird 256 |
1
⊢ (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶) |