Step |
Hyp |
Ref |
Expression |
1 |
|
uncfval.g |
⊢ 𝐹 = ( 〈“ 𝐶 𝐷 𝐸 ”〉 uncurryF 𝐺 ) |
2 |
|
uncfval.c |
⊢ ( 𝜑 → 𝐷 ∈ Cat ) |
3 |
|
uncfval.d |
⊢ ( 𝜑 → 𝐸 ∈ Cat ) |
4 |
|
uncfval.f |
⊢ ( 𝜑 → 𝐺 ∈ ( 𝐶 Func ( 𝐷 FuncCat 𝐸 ) ) ) |
5 |
1 2 3 4
|
uncfval |
⊢ ( 𝜑 → 𝐹 = ( ( 𝐷 evalF 𝐸 ) ∘func ( ( 𝐺 ∘func ( 𝐶 1stF 𝐷 ) ) 〈,〉F ( 𝐶 2ndF 𝐷 ) ) ) ) |
6 |
|
eqid |
⊢ ( ( 𝐺 ∘func ( 𝐶 1stF 𝐷 ) ) 〈,〉F ( 𝐶 2ndF 𝐷 ) ) = ( ( 𝐺 ∘func ( 𝐶 1stF 𝐷 ) ) 〈,〉F ( 𝐶 2ndF 𝐷 ) ) |
7 |
|
eqid |
⊢ ( ( 𝐷 FuncCat 𝐸 ) ×c 𝐷 ) = ( ( 𝐷 FuncCat 𝐸 ) ×c 𝐷 ) |
8 |
|
eqid |
⊢ ( 𝐶 ×c 𝐷 ) = ( 𝐶 ×c 𝐷 ) |
9 |
|
funcrcl |
⊢ ( 𝐺 ∈ ( 𝐶 Func ( 𝐷 FuncCat 𝐸 ) ) → ( 𝐶 ∈ Cat ∧ ( 𝐷 FuncCat 𝐸 ) ∈ Cat ) ) |
10 |
4 9
|
syl |
⊢ ( 𝜑 → ( 𝐶 ∈ Cat ∧ ( 𝐷 FuncCat 𝐸 ) ∈ Cat ) ) |
11 |
10
|
simpld |
⊢ ( 𝜑 → 𝐶 ∈ Cat ) |
12 |
|
eqid |
⊢ ( 𝐶 1stF 𝐷 ) = ( 𝐶 1stF 𝐷 ) |
13 |
8 11 2 12
|
1stfcl |
⊢ ( 𝜑 → ( 𝐶 1stF 𝐷 ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐶 ) ) |
14 |
13 4
|
cofucl |
⊢ ( 𝜑 → ( 𝐺 ∘func ( 𝐶 1stF 𝐷 ) ) ∈ ( ( 𝐶 ×c 𝐷 ) Func ( 𝐷 FuncCat 𝐸 ) ) ) |
15 |
|
eqid |
⊢ ( 𝐶 2ndF 𝐷 ) = ( 𝐶 2ndF 𝐷 ) |
16 |
8 11 2 15
|
2ndfcl |
⊢ ( 𝜑 → ( 𝐶 2ndF 𝐷 ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐷 ) ) |
17 |
6 7 14 16
|
prfcl |
⊢ ( 𝜑 → ( ( 𝐺 ∘func ( 𝐶 1stF 𝐷 ) ) 〈,〉F ( 𝐶 2ndF 𝐷 ) ) ∈ ( ( 𝐶 ×c 𝐷 ) Func ( ( 𝐷 FuncCat 𝐸 ) ×c 𝐷 ) ) ) |
18 |
|
eqid |
⊢ ( 𝐷 evalF 𝐸 ) = ( 𝐷 evalF 𝐸 ) |
19 |
|
eqid |
⊢ ( 𝐷 FuncCat 𝐸 ) = ( 𝐷 FuncCat 𝐸 ) |
20 |
18 19 2 3
|
evlfcl |
⊢ ( 𝜑 → ( 𝐷 evalF 𝐸 ) ∈ ( ( ( 𝐷 FuncCat 𝐸 ) ×c 𝐷 ) Func 𝐸 ) ) |
21 |
17 20
|
cofucl |
⊢ ( 𝜑 → ( ( 𝐷 evalF 𝐸 ) ∘func ( ( 𝐺 ∘func ( 𝐶 1stF 𝐷 ) ) 〈,〉F ( 𝐶 2ndF 𝐷 ) ) ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐸 ) ) |
22 |
5 21
|
eqeltrd |
⊢ ( 𝜑 → 𝐹 ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐸 ) ) |