Metamath Proof Explorer


Theorem prcoffunc

Description: The pre-composition functor is a functor. (Contributed by Zhi Wang, 2-Nov-2025)

Ref Expression
Hypotheses prcoffunc.r R = D FuncCat E
prcoffunc.e φ E Cat
prcoffunc.s S = C FuncCat E
prcoffunc.f φ F C Func D G
Assertion prcoffunc Could not format assertion : No typesetting found for |- ( ph -> ( <. D , E >. -o.F <. F , G >. ) e. ( R Func S ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 prcoffunc.r R = D FuncCat E
2 prcoffunc.e φ E Cat
3 prcoffunc.s S = C FuncCat E
4 prcoffunc.f φ F C Func D G
5 eqid C FuncCat D = C FuncCat D
6 eqidd Could not format ( ph -> ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) = ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) : No typesetting found for |- ( ph -> ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) = ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) with typecode |-
7 df-br F C Func D G F G C Func D
8 4 7 sylib φ F G C Func D
9 eqidd Could not format ( ph -> ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) = ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) ) : No typesetting found for |- ( ph -> ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) = ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) ) with typecode |-
10 1 2 5 6 9 4 prcoftposcurfuco Could not format ( ph -> ( <. D , E >. -o.F <. F , G >. ) = ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) ) : No typesetting found for |- ( ph -> ( <. D , E >. -o.F <. F , G >. ) = ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) ) with typecode |-
11 5 1 6 8 2 10 3 precofcl Could not format ( ph -> ( <. D , E >. -o.F <. F , G >. ) e. ( R Func S ) ) : No typesetting found for |- ( ph -> ( <. D , E >. -o.F <. F , G >. ) e. ( R Func S ) ) with typecode |-