Metamath Proof Explorer


Theorem tposcurf1cl

Description: The partially evaluated transposed curry functor is a functor. (Contributed by Zhi Wang, 9-Oct-2025)

Ref Expression
Hypotheses tposcurf1.g ( 𝜑𝐺 = ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) )
tposcurf1.a 𝐴 = ( Base ‘ 𝐶 )
tposcurf1.c ( 𝜑𝐶 ∈ Cat )
tposcurf1.d ( 𝜑𝐷 ∈ Cat )
tposcurf1.f ( 𝜑𝐹 ∈ ( ( 𝐷 ×c 𝐶 ) Func 𝐸 ) )
tposcurf1.x ( 𝜑𝑋𝐴 )
tposcurf1.k ( 𝜑𝐾 = ( ( 1st𝐺 ) ‘ 𝑋 ) )
Assertion tposcurf1cl ( 𝜑𝐾 ∈ ( 𝐷 Func 𝐸 ) )

Proof

Step Hyp Ref Expression
1 tposcurf1.g ( 𝜑𝐺 = ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) )
2 tposcurf1.a 𝐴 = ( Base ‘ 𝐶 )
3 tposcurf1.c ( 𝜑𝐶 ∈ Cat )
4 tposcurf1.d ( 𝜑𝐷 ∈ Cat )
5 tposcurf1.f ( 𝜑𝐹 ∈ ( ( 𝐷 ×c 𝐶 ) Func 𝐸 ) )
6 tposcurf1.x ( 𝜑𝑋𝐴 )
7 tposcurf1.k ( 𝜑𝐾 = ( ( 1st𝐺 ) ‘ 𝑋 ) )
8 1 fveq2d ( 𝜑 → ( 1st𝐺 ) = ( 1st ‘ ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) ) )
9 8 fveq1d ( 𝜑 → ( ( 1st𝐺 ) ‘ 𝑋 ) = ( ( 1st ‘ ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) ) ‘ 𝑋 ) )
10 7 9 eqtrd ( 𝜑𝐾 = ( ( 1st ‘ ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) ) ‘ 𝑋 ) )
11 eqid ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) = ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) )
12 eqidd ( 𝜑 → ( 𝐹func ( 𝐶 swapF 𝐷 ) ) = ( 𝐹func ( 𝐶 swapF 𝐷 ) ) )
13 3 4 5 12 cofuswapfcl ( 𝜑 → ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐸 ) )
14 eqid ( Base ‘ 𝐷 ) = ( Base ‘ 𝐷 )
15 eqid ( ( 1st ‘ ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) ) ‘ 𝑋 ) = ( ( 1st ‘ ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) ) ‘ 𝑋 )
16 11 2 3 4 13 14 6 15 curf1cl ( 𝜑 → ( ( 1st ‘ ( ⟨ 𝐶 , 𝐷 ⟩ curryF ( 𝐹func ( 𝐶 swapF 𝐷 ) ) ) ) ‘ 𝑋 ) ∈ ( 𝐷 Func 𝐸 ) )
17 10 16 eqeltrd ( 𝜑𝐾 ∈ ( 𝐷 Func 𝐸 ) )