Metamath Proof Explorer


Theorem fuco11b

Description: The object part of the functor composition bifunctor maps two functors to their composition. (Contributed by Zhi Wang, 11-Oct-2025)

Ref Expression
Hypotheses fuco11b.o No typesetting found for |- ( ph -> ( 1st ` ( <. C , D >. o.F E ) ) = O ) with typecode |-
fuco11b.f φ F C Func D
fuco11b.g φ G D Func E
Assertion fuco11b φ G O F = G func F

Proof

Step Hyp Ref Expression
1 fuco11b.o Could not format ( ph -> ( 1st ` ( <. C , D >. o.F E ) ) = O ) : No typesetting found for |- ( ph -> ( 1st ` ( <. C , D >. o.F E ) ) = O ) with typecode |-
2 fuco11b.f φ F C Func D
3 fuco11b.g φ G D Func E
4 2 func1st2nd φ 1 st F C Func D 2 nd F
5 4 funcrcl2 φ C Cat
6 3 func1st2nd φ 1 st G D Func E 2 nd G
7 6 funcrcl2 φ D Cat
8 6 funcrcl3 φ E Cat
9 eqidd Could not format ( ph -> ( <. C , D >. o.F E ) = ( <. C , D >. o.F E ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = ( <. C , D >. o.F E ) ) with typecode |-
10 5 7 8 9 fucoelvv Could not format ( ph -> ( <. C , D >. o.F E ) e. ( _V X. _V ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) e. ( _V X. _V ) ) with typecode |-
11 1st2nd2 Could not format ( ( <. C , D >. o.F E ) e. ( _V X. _V ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ( <. C , D >. o.F E ) e. ( _V X. _V ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
12 10 11 syl Could not format ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
13 eqidd φ D Func E × C Func D = D Func E × C Func D
14 5 7 8 12 13 fuco1 Could not format ( ph -> ( 1st ` ( <. C , D >. o.F E ) ) = ( o.func |` ( ( D Func E ) X. ( C Func D ) ) ) ) : No typesetting found for |- ( ph -> ( 1st ` ( <. C , D >. o.F E ) ) = ( o.func |` ( ( D Func E ) X. ( C Func D ) ) ) ) with typecode |-
15 1 14 eqtr3d φ O = func D Func E × C Func D
16 15 oveqd φ G O F = G func D Func E × C Func D F
17 ovres G D Func E F C Func D G func D Func E × C Func D F = G func F
18 3 2 17 syl2anc φ G func D Func E × C Func D F = G func F
19 16 18 eqtrd φ G O F = G func F