Step |
Hyp |
Ref |
Expression |
1 |
|
ffvelrn |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝐹 ‘ 𝑥 ) ∈ ( 𝐶 ↑m 𝐵 ) ) |
2 |
|
elmapi |
⊢ ( ( 𝐹 ‘ 𝑥 ) ∈ ( 𝐶 ↑m 𝐵 ) → ( 𝐹 ‘ 𝑥 ) : 𝐵 ⟶ 𝐶 ) |
3 |
1 2
|
syl |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝐹 ‘ 𝑥 ) : 𝐵 ⟶ 𝐶 ) |
4 |
3
|
ffvelrnda |
⊢ ( ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) ∧ 𝑦 ∈ 𝐵 ) → ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ∈ 𝐶 ) |
5 |
4
|
anasss |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) → ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ∈ 𝐶 ) |
6 |
5
|
ralrimivva |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ∀ 𝑥 ∈ 𝐴 ∀ 𝑦 ∈ 𝐵 ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ∈ 𝐶 ) |
7 |
|
df-unc |
⊢ uncurry 𝐹 = { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 } |
8 |
|
df-br |
⊢ ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ 〈 𝑦 , 𝑧 〉 ∈ ( 𝐹 ‘ 𝑥 ) ) |
9 |
|
elfvdm |
⊢ ( 〈 𝑦 , 𝑧 〉 ∈ ( 𝐹 ‘ 𝑥 ) → 𝑥 ∈ dom 𝐹 ) |
10 |
8 9
|
sylbi |
⊢ ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 → 𝑥 ∈ dom 𝐹 ) |
11 |
|
fdm |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → dom 𝐹 = 𝐴 ) |
12 |
11
|
eleq2d |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( 𝑥 ∈ dom 𝐹 ↔ 𝑥 ∈ 𝐴 ) ) |
13 |
10 12
|
syl5ib |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 → 𝑥 ∈ 𝐴 ) ) |
14 |
13
|
pm4.71rd |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ) ) ) |
15 |
|
elmapfun |
⊢ ( ( 𝐹 ‘ 𝑥 ) ∈ ( 𝐶 ↑m 𝐵 ) → Fun ( 𝐹 ‘ 𝑥 ) ) |
16 |
|
funbrfv2b |
⊢ ( Fun ( 𝐹 ‘ 𝑥 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ ( 𝑦 ∈ dom ( 𝐹 ‘ 𝑥 ) ∧ ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) = 𝑧 ) ) ) |
17 |
1 15 16
|
3syl |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ ( 𝑦 ∈ dom ( 𝐹 ‘ 𝑥 ) ∧ ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) = 𝑧 ) ) ) |
18 |
|
fdm |
⊢ ( ( 𝐹 ‘ 𝑥 ) : 𝐵 ⟶ 𝐶 → dom ( 𝐹 ‘ 𝑥 ) = 𝐵 ) |
19 |
1 2 18
|
3syl |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → dom ( 𝐹 ‘ 𝑥 ) = 𝐵 ) |
20 |
19
|
eleq2d |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝑦 ∈ dom ( 𝐹 ‘ 𝑥 ) ↔ 𝑦 ∈ 𝐵 ) ) |
21 |
|
eqcom |
⊢ ( ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) = 𝑧 ↔ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) |
22 |
21
|
a1i |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) = 𝑧 ↔ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) |
23 |
20 22
|
anbi12d |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( ( 𝑦 ∈ dom ( 𝐹 ‘ 𝑥 ) ∧ ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) = 𝑧 ) ↔ ( 𝑦 ∈ 𝐵 ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) |
24 |
17 23
|
bitrd |
⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ ( 𝑦 ∈ 𝐵 ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) |
25 |
24
|
pm5.32da |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ) ↔ ( 𝑥 ∈ 𝐴 ∧ ( 𝑦 ∈ 𝐵 ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) ) |
26 |
14 25
|
bitrd |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ ( 𝑥 ∈ 𝐴 ∧ ( 𝑦 ∈ 𝐵 ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) ) |
27 |
|
anass |
⊢ ( ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ↔ ( 𝑥 ∈ 𝐴 ∧ ( 𝑦 ∈ 𝐵 ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) |
28 |
26 27
|
bitr4di |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ↔ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) |
29 |
28
|
oprabbidv |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 } = { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } ) |
30 |
7 29
|
eqtrid |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → uncurry 𝐹 = { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } ) |
31 |
30
|
feq1d |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( uncurry 𝐹 : ( 𝐴 × 𝐵 ) ⟶ 𝐶 ↔ { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } : ( 𝐴 × 𝐵 ) ⟶ 𝐶 ) ) |
32 |
|
df-mpo |
⊢ ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐵 ↦ ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) = { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } |
33 |
32
|
eqcomi |
⊢ { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } = ( 𝑥 ∈ 𝐴 , 𝑦 ∈ 𝐵 ↦ ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) |
34 |
33
|
fmpo |
⊢ ( ∀ 𝑥 ∈ 𝐴 ∀ 𝑦 ∈ 𝐵 ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ∈ 𝐶 ↔ { 〈 〈 𝑥 , 𝑦 〉 , 𝑧 〉 ∣ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ∧ 𝑧 = ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } : ( 𝐴 × 𝐵 ) ⟶ 𝐶 ) |
35 |
31 34
|
bitr4di |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → ( uncurry 𝐹 : ( 𝐴 × 𝐵 ) ⟶ 𝐶 ↔ ∀ 𝑥 ∈ 𝐴 ∀ 𝑦 ∈ 𝐵 ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ∈ 𝐶 ) ) |
36 |
6 35
|
mpbird |
⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶 ↑m 𝐵 ) → uncurry 𝐹 : ( 𝐴 × 𝐵 ) ⟶ 𝐶 ) |