Metamath Proof Explorer


Definition df-fuco

Description: Definition of functor composition bifunctors. Given three categories C , D , and E , ( <. C , D >. o.F E ) is a functor from the product category of two categories of functors to a category of functors ( fucofunc ). The object part maps two functors to their composition ( fuco11 ). The morphism part defines the "composition" of two natural transformations ( fuco22 ) into another natural transformation ( fuco22nat ) such that a "cube-like" diagram commutes. The naturality property also gives an alternate definition ( fuco23a ). Note that such "composition" is different from fucco because they "compose" along different "axes". (Contributed by Zhi Wang, 29-Sep-2025)

Ref Expression
Assertion df-fuco Could not format assertion : No typesetting found for |- o.F = ( p e. _V , e e. _V |-> [_ ( 1st ` p ) / c ]_ [_ ( 2nd ` p ) / d ]_ [_ ( ( d Func e ) X. ( c Func d ) ) / w ]_ <. ( o.func |` w ) , ( u e. w , v e. w |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( d Nat e ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( c Nat d ) ( 2nd ` v ) ) |-> ( x e. ( Base ` c ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` e ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) with typecode |-

Detailed syntax breakdown

Step Hyp Ref Expression
0 cfuco Could not format o.F : No typesetting found for class o.F with typecode class
1 vp setvar p
2 cvv class V
3 ve setvar e
4 c1st class 1 st
5 1 cv setvar p
6 5 4 cfv class 1 st p
7 vc setvar c
8 c2nd class 2 nd
9 5 8 cfv class 2 nd p
10 vd setvar d
11 10 cv setvar d
12 cfunc class Func
13 3 cv setvar e
14 11 13 12 co class d Func e
15 7 cv setvar c
16 15 11 12 co class c Func d
17 14 16 cxp class d Func e × c Func d
18 vw setvar w
19 ccofu class func
20 18 cv setvar w
21 19 20 cres class func w
22 vu setvar u
23 vv setvar v
24 22 cv setvar u
25 24 8 cfv class 2 nd u
26 25 4 cfv class 1 st 2 nd u
27 vf setvar f
28 24 4 cfv class 1 st u
29 28 4 cfv class 1 st 1 st u
30 vk setvar k
31 28 8 cfv class 2 nd 1 st u
32 vl setvar l
33 23 cv setvar v
34 33 8 cfv class 2 nd v
35 34 4 cfv class 1 st 2 nd v
36 vm setvar m
37 33 4 cfv class 1 st v
38 37 4 cfv class 1 st 1 st v
39 vr setvar r
40 vb setvar b
41 cnat class Nat
42 11 13 41 co class d Nat e
43 28 37 42 co class 1 st u d Nat e 1 st v
44 va setvar a
45 15 11 41 co class c Nat d
46 25 34 45 co class 2 nd u c Nat d 2 nd v
47 vx setvar x
48 cbs class Base
49 15 48 cfv class Base c
50 40 cv setvar b
51 36 cv setvar m
52 47 cv setvar x
53 52 51 cfv class m x
54 53 50 cfv class b m x
55 30 cv setvar k
56 27 cv setvar f
57 52 56 cfv class f x
58 57 55 cfv class k f x
59 53 55 cfv class k m x
60 58 59 cop class k f x k m x
61 cco class comp
62 13 61 cfv class comp e
63 39 cv setvar r
64 53 63 cfv class r m x
65 60 64 62 co class k f x k m x comp e r m x
66 32 cv setvar l
67 57 53 66 co class f x l m x
68 44 cv setvar a
69 52 68 cfv class a x
70 69 67 cfv class f x l m x a x
71 54 70 65 co class b m x k f x k m x comp e r m x f x l m x a x
72 47 49 71 cmpt class x Base c b m x k f x k m x comp e r m x f x l m x a x
73 40 44 43 46 72 cmpo class b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
74 39 38 73 csb class 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
75 36 35 74 csb class 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
76 32 31 75 csb class 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
77 30 29 76 csb class 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
78 27 26 77 csb class 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
79 22 23 20 20 78 cmpo class u w , v w 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
80 21 79 cop class func w u w , v w 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
81 18 17 80 csb class d Func e × c Func d / w func w u w , v w 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
82 10 9 81 csb class 2 nd p / d d Func e × c Func d / w func w u w , v w 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
83 7 6 82 csb class 1 st p / c 2 nd p / d d Func e × c Func d / w func w u w , v w 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
84 1 3 2 2 83 cmpo class p V , e V 1 st p / c 2 nd p / d d Func e × c Func d / w func w u w , v w 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u d Nat e 1 st v , a 2 nd u c Nat d 2 nd v x Base c b m x k f x k m x comp e r m x f x l m x a x
85 0 84 wceq Could not format o.F = ( p e. _V , e e. _V |-> [_ ( 1st ` p ) / c ]_ [_ ( 2nd ` p ) / d ]_ [_ ( ( d Func e ) X. ( c Func d ) ) / w ]_ <. ( o.func |` w ) , ( u e. w , v e. w |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( d Nat e ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( c Nat d ) ( 2nd ` v ) ) |-> ( x e. ( Base ` c ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` e ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) : No typesetting found for wff o.F = ( p e. _V , e e. _V |-> [_ ( 1st ` p ) / c ]_ [_ ( 2nd ` p ) / d ]_ [_ ( ( d Func e ) X. ( c Func d ) ) / w ]_ <. ( o.func |` w ) , ( u e. w , v e. w |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( d Nat e ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( c Nat d ) ( 2nd ` v ) ) |-> ( x e. ( Base ` c ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` e ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) with typecode wff