Metamath Proof Explorer


Theorem precoffunc

Description: The pre-composition functor, expressed explicitly, is a functor. (Contributed by Zhi Wang, 11-Oct-2025) (Proof shortened by Zhi Wang, 20-Oct-2025)

Ref Expression
Hypotheses precoffunc.r 𝑅 = ( 𝐷 FuncCat 𝐸 )
precoffunc.b 𝐵 = ( 𝐷 Func 𝐸 )
precoffunc.n 𝑁 = ( 𝐷 Nat 𝐸 )
precoffunc.f ( 𝜑𝐹 ( 𝐶 Func 𝐷 ) 𝐺 )
precoffunc.e ( 𝜑𝐸 ∈ Cat )
precoffunc.k ( 𝜑𝐾 = ( 𝑔𝐵 ↦ ( 𝑔func𝐹 , 𝐺 ⟩ ) ) )
precoffunc.l ( 𝜑𝐿 = ( 𝑔𝐵 , 𝐵 ↦ ( 𝑎 ∈ ( 𝑔 𝑁 ) ↦ ( 𝑎𝐹 ) ) ) )
precoffunc.s 𝑆 = ( 𝐶 FuncCat 𝐸 )
Assertion precoffunc ( 𝜑𝐾 ( 𝑅 Func 𝑆 ) 𝐿 )

Proof

Step Hyp Ref Expression
1 precoffunc.r 𝑅 = ( 𝐷 FuncCat 𝐸 )
2 precoffunc.b 𝐵 = ( 𝐷 Func 𝐸 )
3 precoffunc.n 𝑁 = ( 𝐷 Nat 𝐸 )
4 precoffunc.f ( 𝜑𝐹 ( 𝐶 Func 𝐷 ) 𝐺 )
5 precoffunc.e ( 𝜑𝐸 ∈ Cat )
6 precoffunc.k ( 𝜑𝐾 = ( 𝑔𝐵 ↦ ( 𝑔func𝐹 , 𝐺 ⟩ ) ) )
7 precoffunc.l ( 𝜑𝐿 = ( 𝑔𝐵 , 𝐵 ↦ ( 𝑎 ∈ ( 𝑔 𝑁 ) ↦ ( 𝑎𝐹 ) ) ) )
8 precoffunc.s 𝑆 = ( 𝐶 FuncCat 𝐸 )
9 eqid ( 𝐶 FuncCat 𝐷 ) = ( 𝐶 FuncCat 𝐷 )
10 eqidd ( 𝜑 → ( ⟨ ( 𝐶 FuncCat 𝐷 ) , 𝑅 ⟩ curryF ( ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) ∘func ( ( 𝐶 FuncCat 𝐷 ) swapF 𝑅 ) ) ) = ( ⟨ ( 𝐶 FuncCat 𝐷 ) , 𝑅 ⟩ curryF ( ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) ∘func ( ( 𝐶 FuncCat 𝐷 ) swapF 𝑅 ) ) ) )
11 df-br ( 𝐹 ( 𝐶 Func 𝐷 ) 𝐺 ↔ ⟨ 𝐹 , 𝐺 ⟩ ∈ ( 𝐶 Func 𝐷 ) )
12 4 11 sylib ( 𝜑 → ⟨ 𝐹 , 𝐺 ⟩ ∈ ( 𝐶 Func 𝐷 ) )
13 eqidd ( 𝜑 → ( ( 1st ‘ ( ⟨ ( 𝐶 FuncCat 𝐷 ) , 𝑅 ⟩ curryF ( ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) ∘func ( ( 𝐶 FuncCat 𝐷 ) swapF 𝑅 ) ) ) ) ‘ ⟨ 𝐹 , 𝐺 ⟩ ) = ( ( 1st ‘ ( ⟨ ( 𝐶 FuncCat 𝐷 ) , 𝑅 ⟩ curryF ( ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) ∘func ( ( 𝐶 FuncCat 𝐷 ) swapF 𝑅 ) ) ) ) ‘ ⟨ 𝐹 , 𝐺 ⟩ ) )
14 1 2 3 4 5 6 7 9 10 13 precofval3 ( 𝜑 → ⟨ 𝐾 , 𝐿 ⟩ = ( ( 1st ‘ ( ⟨ ( 𝐶 FuncCat 𝐷 ) , 𝑅 ⟩ curryF ( ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) ∘func ( ( 𝐶 FuncCat 𝐷 ) swapF 𝑅 ) ) ) ) ‘ ⟨ 𝐹 , 𝐺 ⟩ ) )
15 9 1 10 12 5 14 8 precofcl ( 𝜑 → ⟨ 𝐾 , 𝐿 ⟩ ∈ ( 𝑅 Func 𝑆 ) )
16 df-br ( 𝐾 ( 𝑅 Func 𝑆 ) 𝐿 ↔ ⟨ 𝐾 , 𝐿 ⟩ ∈ ( 𝑅 Func 𝑆 ) )
17 15 16 sylibr ( 𝜑𝐾 ( 𝑅 Func 𝑆 ) 𝐿 )