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 R = D FuncCat E
precoffunc.b B = D Func E
precoffunc.n N = D Nat E
precoffunc.f φ F C Func D G
precoffunc.e φ E Cat
precoffunc.k φ K = g B g func F G
precoffunc.l φ L = g B , h B a g N h a F
precoffunc.s S = C FuncCat E
Assertion precoffunc φ K R Func S L

Proof

Step Hyp Ref Expression
1 precoffunc.r R = D FuncCat E
2 precoffunc.b B = D Func E
3 precoffunc.n N = D Nat E
4 precoffunc.f φ F C Func D G
5 precoffunc.e φ E Cat
6 precoffunc.k φ K = g B g func F G
7 precoffunc.l φ L = g B , h B a g N h a F
8 precoffunc.s S = C FuncCat E
9 eqid C FuncCat D = C FuncCat D
10 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 |-
11 df-br F C Func D G F G C Func D
12 4 11 sylib φ F G C Func D
13 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 |-
14 1 2 3 4 5 6 7 9 10 13 precofval3 Could not format ( ph -> <. K , L >. = ( ( 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 -> <. K , L >. = ( ( 1st ` ( <. ( C FuncCat D ) , R >. curryF ( ( <. C , D >. o.F E ) o.func ( ( C FuncCat D ) swapF R ) ) ) ) ` <. F , G >. ) ) with typecode |-
15 9 1 10 12 5 14 8 precofcl φ K L R Func S
16 df-br K R Func S L K L R Func S
17 15 16 sylibr φ K R Func S L