Metamath Proof Explorer


Definition df-prcof

Description: Definition of pre-composition functors. The object part of the pre-composition functor given by F pre-composes a functor with F ; the morphism part pre-composes a natural transformation with the object part of F , in terms of function composition. Comments before the definition in § 3 of Chapter X in p. 236 of Mac Lane, Saunders,Categories for the Working Mathematician, 2nd Edition, Springer Science+Business Media, New York, (1998) [QA169.M33 1998]; available at https://math.mit.edu/~hrm/palestine/maclane-categories.pdf (retrieved 3 Nov 2025). The notation -o.F is inspired by this page: https://1lab.dev/Cat.Functor.Compose.html .

The pre-composition functor can also be defined as a transposed curry of the functor composition bifunctor ( precofval3 ). But such definition requires an explicit third category. prcoftposcurfuco and prcoftposcurfucoa prove the equivalence. (Contributed by Zhi Wang, 2-Nov-2025)

Ref Expression
Assertion df-prcof Could not format assertion : No typesetting found for |- -o.F = ( p e. _V , f e. _V |-> [_ ( 1st ` p ) / d ]_ [_ ( 2nd ` p ) / e ]_ [_ ( d Func e ) / b ]_ <. ( k e. b |-> ( k o.func f ) ) , ( k e. b , l e. b |-> ( a e. ( k ( d Nat e ) l ) |-> ( a o. ( 1st ` f ) ) ) ) >. ) with typecode |-

Detailed syntax breakdown

Step Hyp Ref Expression
0 cprcof Could not format -o.F : No typesetting found for class -o.F with typecode class
1 vp setvar p
2 cvv class V
3 vf setvar f
4 c1st class 1 st
5 1 cv setvar p
6 5 4 cfv class 1 st p
7 vd setvar d
8 c2nd class 2 nd
9 5 8 cfv class 2 nd p
10 ve setvar e
11 7 cv setvar d
12 cfunc class Func
13 10 cv setvar e
14 11 13 12 co class d Func e
15 vb setvar b
16 vk setvar k
17 15 cv setvar b
18 16 cv setvar k
19 ccofu class func
20 3 cv setvar f
21 18 20 19 co class k func f
22 16 17 21 cmpt class k b k func f
23 vl setvar l
24 va setvar a
25 cnat class Nat
26 11 13 25 co class d Nat e
27 23 cv setvar l
28 18 27 26 co class k d Nat e l
29 24 cv setvar a
30 20 4 cfv class 1 st f
31 29 30 ccom class a 1 st f
32 24 28 31 cmpt class a k d Nat e l a 1 st f
33 16 23 17 17 32 cmpo class k b , l b a k d Nat e l a 1 st f
34 22 33 cop class k b k func f k b , l b a k d Nat e l a 1 st f
35 15 14 34 csb class d Func e / b k b k func f k b , l b a k d Nat e l a 1 st f
36 10 9 35 csb class 2 nd p / e d Func e / b k b k func f k b , l b a k d Nat e l a 1 st f
37 7 6 36 csb class 1 st p / d 2 nd p / e d Func e / b k b k func f k b , l b a k d Nat e l a 1 st f
38 1 3 2 2 37 cmpo class p V , f V 1 st p / d 2 nd p / e d Func e / b k b k func f k b , l b a k d Nat e l a 1 st f
39 0 38 wceq Could not format -o.F = ( p e. _V , f e. _V |-> [_ ( 1st ` p ) / d ]_ [_ ( 2nd ` p ) / e ]_ [_ ( d Func e ) / b ]_ <. ( k e. b |-> ( k o.func f ) ) , ( k e. b , l e. b |-> ( a e. ( k ( d Nat e ) l ) |-> ( a o. ( 1st ` f ) ) ) ) >. ) : No typesetting found for wff -o.F = ( p e. _V , f e. _V |-> [_ ( 1st ` p ) / d ]_ [_ ( 2nd ` p ) / e ]_ [_ ( d Func e ) / b ]_ <. ( k e. b |-> ( k o.func f ) ) , ( k e. b , l e. b |-> ( a e. ( k ( d Nat e ) l ) |-> ( a o. ( 1st ` f ) ) ) ) >. ) with typecode wff