Metamath Proof Explorer


Theorem fucof21

Description: The morphism part of the functor composition bifunctor maps a hom-set of the product category into a set of natural transformations. (Contributed by Zhi Wang, 30-Sep-2025)

Ref Expression
Hypotheses fucof21.o No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |-
fucof21.t ⊢ T = D FuncCat E × c C FuncCat D
fucof21.j ⊢ J = Hom ⁡ T
fucof21.w ⊢ φ → W = D Func E × C Func D
fucof21.u ⊢ φ → U ∈ W
fucof21.v ⊢ φ → V ∈ W
Assertion fucof21 ⊢ φ → U P V : U J V ⟶ O ⁡ U C Nat E O ⁡ V

Proof

Step Hyp Ref Expression
1 fucof21.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 |-
2 fucof21.t ⊢ T = D FuncCat E × c C FuncCat D
3 fucof21.j ⊢ J = Hom ⁡ T
4 fucof21.w ⊢ φ → W = D Func E × C Func D
5 fucof21.u ⊢ φ → U ∈ W
6 fucof21.v ⊢ φ → V ∈ W
7 relfunc ⊢ Rel ⁡ D Func E
8 relfunc ⊢ Rel ⁡ C Func D
9 4 5 7 8 fuco2eld3 ⊢ φ → 1 st ⁡ 1 st ⁡ U D Func E 2 nd ⁡ 1 st ⁡ U ∧ 1 st ⁡ 2 nd ⁡ U C Func D 2 nd ⁡ 2 nd ⁡ U
10 9 simprd ⊢ φ → 1 st ⁡ 2 nd ⁡ U C Func D 2 nd ⁡ 2 nd ⁡ U
11 9 simpld ⊢ φ → 1 st ⁡ 1 st ⁡ U D Func E 2 nd ⁡ 1 st ⁡ U
12 4 5 7 8 fuco2eld2 ⊢ φ → U = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U
13 4 6 7 8 fuco2eld3 ⊢ φ → 1 st ⁡ 1 st ⁡ V D Func E 2 nd ⁡ 1 st ⁡ V ∧ 1 st ⁡ 2 nd ⁡ V C Func D 2 nd ⁡ 2 nd ⁡ V
14 13 simprd ⊢ φ → 1 st ⁡ 2 nd ⁡ V C Func D 2 nd ⁡ 2 nd ⁡ V
15 13 simpld ⊢ φ → 1 st ⁡ 1 st ⁡ V D Func E 2 nd ⁡ 1 st ⁡ V
16 4 6 7 8 fuco2eld2 ⊢ φ → V = 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
17 1 10 11 12 14 15 16 fuco21 ⊢ φ → U P V = b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V , a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V ⟼ x ∈ Base C ⟼ b ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x 1 st ⁡ 1 st ⁡ U ⁡ 1 st ⁡ 2 nd ⁡ U ⁡ x 1 st ⁡ 1 st ⁡ U ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x comp ⁡ E 1 st ⁡ 1 st ⁡ V ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x 1 st ⁡ 2 nd ⁡ U ⁡ x 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ V ⁡ x ⁡ a ⁡ x
18 1 adantr Could not format ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) : No typesetting found for |- ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. ) with typecode |-
19 12 adantr ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → U = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U
20 16 adantr ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → V = 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
21 simprr ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
22 simprl ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V
23 18 19 20 21 22 fuco22 ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → b U P V a = x ∈ Base C ⟼ b ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x 1 st ⁡ 1 st ⁡ U ⁡ 1 st ⁡ 2 nd ⁡ U ⁡ x 1 st ⁡ 1 st ⁡ U ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x comp ⁡ E 1 st ⁡ 1 st ⁡ V ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x 1 st ⁡ 2 nd ⁡ U ⁡ x 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ V ⁡ x ⁡ a ⁡ x
24 18 21 22 19 20 fuco22nat ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → b U P V a ∈ O ⁡ U C Nat E O ⁡ V
25 23 24 eqeltrrd ⊢ φ ∧ b ∈ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∧ a ∈ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V → x ∈ Base C ⟼ b ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x 1 st ⁡ 1 st ⁡ U ⁡ 1 st ⁡ 2 nd ⁡ U ⁡ x 1 st ⁡ 1 st ⁡ U ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x comp ⁡ E 1 st ⁡ 1 st ⁡ V ⁡ 1 st ⁡ 2 nd ⁡ V ⁡ x 1 st ⁡ 2 nd ⁡ U ⁡ x 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ V ⁡ x ⁡ a ⁡ x ∈ O ⁡ U C Nat E O ⁡ V
26 2 xpcfucbas ⊢ D Func E × C Func D = Base T
27 5 4 eleqtrd ⊢ φ → U ∈ D Func E × C Func D
28 6 4 eleqtrd ⊢ φ → V ∈ D Func E × C Func D
29 2 26 3 27 28 xpcfuchom ⊢ φ → U J V = 1 st ⁡ U D Nat E 1 st ⁡ V × 2 nd ⁡ U C Nat D 2 nd ⁡ V
30 12 fveq2d ⊢ φ → 1 st ⁡ U = 1 st ⁡ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U
31 opex ⊢ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U ∈ V
32 opex ⊢ 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U ∈ V
33 31 32 op1st ⊢ 1 st ⁡ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U
34 30 33 eqtrdi ⊢ φ → 1 st ⁡ U = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U
35 16 fveq2d ⊢ φ → 1 st ⁡ V = 1 st ⁡ 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
36 opex ⊢ 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V ∈ V
37 opex ⊢ 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V ∈ V
38 36 37 op1st ⊢ 1 st ⁡ 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V = 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V
39 35 38 eqtrdi ⊢ φ → 1 st ⁡ V = 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V
40 34 39 oveq12d ⊢ φ → 1 st ⁡ U D Nat E 1 st ⁡ V = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V
41 12 fveq2d ⊢ φ → 2 nd ⁡ U = 2 nd ⁡ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U
42 31 32 op2nd ⊢ 2 nd ⁡ 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U = 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U
43 41 42 eqtrdi ⊢ φ → 2 nd ⁡ U = 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U
44 16 fveq2d ⊢ φ → 2 nd ⁡ V = 2 nd ⁡ 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
45 36 37 op2nd ⊢ 2 nd ⁡ 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V = 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
46 44 45 eqtrdi ⊢ φ → 2 nd ⁡ V = 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
47 43 46 oveq12d ⊢ φ → 2 nd ⁡ U C Nat D 2 nd ⁡ V = 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
48 40 47 xpeq12d ⊢ φ → 1 st ⁡ U D Nat E 1 st ⁡ V × 2 nd ⁡ U C Nat D 2 nd ⁡ V = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V × 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
49 29 48 eqtrd ⊢ φ → U J V = 1 st ⁡ 1 st ⁡ U 2 nd ⁡ 1 st ⁡ U D Nat E 1 st ⁡ 1 st ⁡ V 2 nd ⁡ 1 st ⁡ V × 1 st ⁡ 2 nd ⁡ U 2 nd ⁡ 2 nd ⁡ U C Nat D 1 st ⁡ 2 nd ⁡ V 2 nd ⁡ 2 nd ⁡ V
50 17 25 49 fmpodg ⊢ φ → U P V : U J V ⟶ O ⁡ U C Nat E O ⁡ V