Step |
Hyp |
Ref |
Expression |
1 |
|
dffn5 |
⊢ ( 𝐹 Fn ( 𝑉 × 𝑊 ) ↔ 𝐹 = ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) ) |
2 |
|
cureq |
⊢ ( 𝐹 = ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) → curry 𝐹 = curry ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) ) |
3 |
1 2
|
sylbi |
⊢ ( 𝐹 Fn ( 𝑉 × 𝑊 ) → curry 𝐹 = curry ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) ) |
4 |
3
|
adantr |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐵 ∈ 𝑊 ) → curry 𝐹 = curry ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) ) |
5 |
|
fveq2 |
⊢ ( 𝑧 = 〈 𝑥 , 𝑦 〉 → ( 𝐹 ‘ 𝑧 ) = ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) |
6 |
5
|
mpompt |
⊢ ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) = ( 𝑥 ∈ 𝑉 , 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) |
7 |
|
fvex |
⊢ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ∈ V |
8 |
7
|
rgen2w |
⊢ ∀ 𝑥 ∈ 𝑉 ∀ 𝑦 ∈ 𝑊 ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ∈ V |
9 |
8
|
a1i |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐵 ∈ 𝑊 ) → ∀ 𝑥 ∈ 𝑉 ∀ 𝑦 ∈ 𝑊 ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ∈ V ) |
10 |
|
ne0i |
⊢ ( 𝐵 ∈ 𝑊 → 𝑊 ≠ ∅ ) |
11 |
10
|
adantl |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐵 ∈ 𝑊 ) → 𝑊 ≠ ∅ ) |
12 |
6 9 11
|
mpocurryd |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐵 ∈ 𝑊 ) → curry ( 𝑧 ∈ ( 𝑉 × 𝑊 ) ↦ ( 𝐹 ‘ 𝑧 ) ) = ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ) |
13 |
4 12
|
eqtrd |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐵 ∈ 𝑊 ) → curry 𝐹 = ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ) |
14 |
13
|
3adant2 |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) → curry 𝐹 = ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ) |
15 |
14
|
fveq1d |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) → ( curry 𝐹 ‘ 𝐴 ) = ( ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ‘ 𝐴 ) ) |
16 |
15
|
adantr |
⊢ ( ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) ∧ 𝑊 ∈ 𝑋 ) → ( curry 𝐹 ‘ 𝐴 ) = ( ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ‘ 𝐴 ) ) |
17 |
|
mptexg |
⊢ ( 𝑊 ∈ 𝑋 → ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ∈ V ) |
18 |
|
opeq1 |
⊢ ( 𝑥 = 𝐴 → 〈 𝑥 , 𝑦 〉 = 〈 𝐴 , 𝑦 〉 ) |
19 |
18
|
fveq2d |
⊢ ( 𝑥 = 𝐴 → ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) = ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) |
20 |
19
|
mpteq2dv |
⊢ ( 𝑥 = 𝐴 → ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) = ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ) |
21 |
|
eqid |
⊢ ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) = ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) |
22 |
20 21
|
fvmptg |
⊢ ( ( 𝐴 ∈ 𝑉 ∧ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ∈ V ) → ( ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ‘ 𝐴 ) = ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ) |
23 |
17 22
|
sylan2 |
⊢ ( ( 𝐴 ∈ 𝑉 ∧ 𝑊 ∈ 𝑋 ) → ( ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ‘ 𝐴 ) = ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ) |
24 |
23
|
3ad2antl2 |
⊢ ( ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) ∧ 𝑊 ∈ 𝑋 ) → ( ( 𝑥 ∈ 𝑉 ↦ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝑥 , 𝑦 〉 ) ) ) ‘ 𝐴 ) = ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ) |
25 |
16 24
|
eqtrd |
⊢ ( ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) ∧ 𝑊 ∈ 𝑋 ) → ( curry 𝐹 ‘ 𝐴 ) = ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ) |
26 |
25
|
fveq1d |
⊢ ( ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) ∧ 𝑊 ∈ 𝑋 ) → ( ( curry 𝐹 ‘ 𝐴 ) ‘ 𝐵 ) = ( ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ‘ 𝐵 ) ) |
27 |
|
opeq2 |
⊢ ( 𝑦 = 𝐵 → 〈 𝐴 , 𝑦 〉 = 〈 𝐴 , 𝐵 〉 ) |
28 |
27
|
fveq2d |
⊢ ( 𝑦 = 𝐵 → ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) = ( 𝐹 ‘ 〈 𝐴 , 𝐵 〉 ) ) |
29 |
|
eqid |
⊢ ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) = ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) |
30 |
|
fvex |
⊢ ( 𝐹 ‘ 〈 𝐴 , 𝐵 〉 ) ∈ V |
31 |
28 29 30
|
fvmpt |
⊢ ( 𝐵 ∈ 𝑊 → ( ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ‘ 𝐵 ) = ( 𝐹 ‘ 〈 𝐴 , 𝐵 〉 ) ) |
32 |
|
df-ov |
⊢ ( 𝐴 𝐹 𝐵 ) = ( 𝐹 ‘ 〈 𝐴 , 𝐵 〉 ) |
33 |
31 32
|
eqtr4di |
⊢ ( 𝐵 ∈ 𝑊 → ( ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ‘ 𝐵 ) = ( 𝐴 𝐹 𝐵 ) ) |
34 |
33
|
3ad2ant3 |
⊢ ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) → ( ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ‘ 𝐵 ) = ( 𝐴 𝐹 𝐵 ) ) |
35 |
34
|
adantr |
⊢ ( ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) ∧ 𝑊 ∈ 𝑋 ) → ( ( 𝑦 ∈ 𝑊 ↦ ( 𝐹 ‘ 〈 𝐴 , 𝑦 〉 ) ) ‘ 𝐵 ) = ( 𝐴 𝐹 𝐵 ) ) |
36 |
26 35
|
eqtrd |
⊢ ( ( ( 𝐹 Fn ( 𝑉 × 𝑊 ) ∧ 𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ) ∧ 𝑊 ∈ 𝑋 ) → ( ( curry 𝐹 ‘ 𝐴 ) ‘ 𝐵 ) = ( 𝐴 𝐹 𝐵 ) ) |