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