Description: The functor composition bifunctor is a functor. See also fucofunca .
However, it is unlikely the unique functor compatible with the functor composition. As a counterexample, let C and D be terminal categories (categories of one object and one morphism, df-termc ), for example, ( SetCat1o ) (the trivial category, setc1oterm ), and E be a category with two objects equipped with only two non-identity morphisms f and g , pointing in the same direction. It is possible to map the ordered pair of natural transformations <. a , i >. , where a sends to f and i is the identity natural transformation, to the other natural transformation b sending to g , i.e., define the morphism part P such that ( a ( U P V ) i ) = b such that ( bX ) = g given hypotheses of fuco23 . Such construction should be provable as a functor.
Given any P , it is a morphism part of a functor compatible with the object part, i.e., the functor composition, i.e., the restriction of o.func , iff both of the following hold.
1. It has the same form as df-fuco up to fuco23 , but ( ( B ( U P V ) A )X ) might be mapped to a different morphism in category E . See fucofulem2 for some insights.
2. fuco22nat , fucoid , and fucoco are satisfied.
(Contributed by Zhi Wang, 3-Oct-2025)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | fucoco2.t | ||
| fucoco2.q | |||
| fucoco2.o | No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |- | ||
| fucofunc.c | |||
| fucofunc.d | |||
| fucofunc.e | |||
| Assertion | fucofunc | 
| Step | Hyp | Ref | Expression | 
|---|---|---|---|
| 1 | fucoco2.t | ||
| 2 | fucoco2.q | ||
| 3 | fucoco2.o | Could not format ( ph -> ( <. C , D >. o.F E ) = <. O , P >. ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |- | |
| 4 | fucofunc.c | ||
| 5 | fucofunc.d | ||
| 6 | fucofunc.e | ||
| 7 | 1 | xpcfucbas | |
| 8 | 2 | fucbas | |
| 9 | eqid | ||
| 10 | eqid | ||
| 11 | 2 10 | fuchom | |
| 12 | eqid | ||
| 13 | eqid | ||
| 14 | eqid | ||
| 15 | eqid | ||
| 16 | eqid | ||
| 17 | 16 5 6 | fuccat | |
| 18 | eqid | ||
| 19 | 18 4 5 | fuccat | |
| 20 | 1 17 19 | xpccat | |
| 21 | 2 4 6 | fuccat | |
| 22 | eqidd | ||
| 23 | 4 5 6 3 22 | fucof1 | |
| 24 | 4 5 6 3 22 | fucofn2 | |
| 25 | 3 | adantr | Could not format ( ( ph /\ ( x e. ( ( D Func E ) X. ( C Func D ) ) /\ y e. ( ( D Func E ) X. ( C Func D ) ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) : No typesetting found for |- ( ( ph /\ ( x e. ( ( D Func E ) X. ( C Func D ) ) /\ y e. ( ( D Func E ) X. ( C Func D ) ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |- | 
| 26 | eqidd | ||
| 27 | simprl | ||
| 28 | simprr | ||
| 29 | 25 1 9 26 27 28 | fucof21 | |
| 30 | 3 | adantr | Could not format ( ( ph /\ x e. ( ( D Func E ) X. ( C Func D ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) : No typesetting found for |- ( ( ph /\ x e. ( ( D Func E ) X. ( C Func D ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |- | 
| 31 | eqidd | ||
| 32 | simpr | ||
| 33 | 30 1 12 2 13 31 32 | fucoid2 | |
| 34 | 3 | 3ad2ant1 | Could not format ( ( ph /\ ( x e. ( ( D Func E ) X. ( C Func D ) ) /\ y e. ( ( D Func E ) X. ( C Func D ) ) /\ z e. ( ( D Func E ) X. ( C Func D ) ) ) /\ ( m e. ( x ( Hom ` T ) y ) /\ n e. ( y ( Hom ` T ) z ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) : No typesetting found for |- ( ( ph /\ ( x e. ( ( D Func E ) X. ( C Func D ) ) /\ y e. ( ( D Func E ) X. ( C Func D ) ) /\ z e. ( ( D Func E ) X. ( C Func D ) ) ) /\ ( m e. ( x ( Hom ` T ) y ) /\ n e. ( y ( Hom ` T ) z ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |- | 
| 35 | eqidd | ||
| 36 | simp21 | ||
| 37 | simp22 | ||
| 38 | simp23 | ||
| 39 | simp3l | ||
| 40 | simp3r | ||
| 41 | 1 2 34 14 15 35 36 37 38 9 39 40 | fucoco2 | |
| 42 | 7 8 9 11 12 13 14 15 20 21 23 24 29 33 41 | isfuncd |