Metamath Proof Explorer


Theorem prcofdiag

Description: A diagonal functor post-composed by a pre-composition functor is another diagonal functor. (Contributed by Zhi Wang, 25-Nov-2025)

Ref Expression
Hypotheses prcofdiag.l L = C Δ func D
prcofdiag.m M = C Δ func E
prcofdiag.f φ F E Func D
prcofdiag.c φ C Cat
prcofdiag.g No typesetting found for |- ( ph -> ( <. D , C >. -o.F F ) = G ) with typecode |-
Assertion prcofdiag φ G func L = M

Proof

Step Hyp Ref Expression
1 prcofdiag.l L = C Δ func D
2 prcofdiag.m M = C Δ func E
3 prcofdiag.f φ F E Func D
4 prcofdiag.c φ C Cat
5 prcofdiag.g Could not format ( ph -> ( <. D , C >. -o.F F ) = G ) : No typesetting found for |- ( ph -> ( <. D , C >. -o.F F ) = G ) with typecode |-
6 eqid Base C = Base C
7 eqid Base E FuncCat C = Base E FuncCat C
8 3 func1st2nd φ 1 st F E Func D 2 nd F
9 8 funcrcl3 φ D Cat
10 eqid D FuncCat C = D FuncCat C
11 1 4 9 10 diagcl φ L C Func D FuncCat C
12 eqid E FuncCat C = E FuncCat C
13 10 4 12 3 prcoffunca Could not format ( ph -> ( <. D , C >. -o.F F ) e. ( ( D FuncCat C ) Func ( E FuncCat C ) ) ) : No typesetting found for |- ( ph -> ( <. D , C >. -o.F F ) e. ( ( D FuncCat C ) Func ( E FuncCat C ) ) ) with typecode |-
14 5 13 eqeltrrd φ G D FuncCat C Func E FuncCat C
15 11 14 cofucl φ G func L C Func E FuncCat C
16 15 func1st2nd φ 1 st G func L C Func E FuncCat C 2 nd G func L
17 6 7 16 funcf1 φ 1 st G func L : Base C Base E FuncCat C
18 17 ffnd φ 1 st G func L Fn Base C
19 8 funcrcl2 φ E Cat
20 2 4 19 12 diagcl φ M C Func E FuncCat C
21 20 func1st2nd φ 1 st M C Func E FuncCat C 2 nd M
22 6 7 21 funcf1 φ 1 st M : Base C Base E FuncCat C
23 22 ffnd φ 1 st M Fn Base C
24 11 adantr φ x Base C L C Func D FuncCat C
25 14 adantr φ x Base C G D FuncCat C Func E FuncCat C
26 simpr φ x Base C x Base C
27 6 24 25 26 cofu1 φ x Base C 1 st G func L x = 1 st G 1 st L x
28 4 adantr φ x Base C C Cat
29 9 adantr φ x Base C D Cat
30 eqid 1 st L x = 1 st L x
31 1 28 29 6 26 30 diag1cl φ x Base C 1 st L x D Func C
32 5 fveq2d Could not format ( ph -> ( 1st ` ( <. D , C >. -o.F F ) ) = ( 1st ` G ) ) : No typesetting found for |- ( ph -> ( 1st ` ( <. D , C >. -o.F F ) ) = ( 1st ` G ) ) with typecode |-
33 32 adantr Could not format ( ( ph /\ x e. ( Base ` C ) ) -> ( 1st ` ( <. D , C >. -o.F F ) ) = ( 1st ` G ) ) : No typesetting found for |- ( ( ph /\ x e. ( Base ` C ) ) -> ( 1st ` ( <. D , C >. -o.F F ) ) = ( 1st ` G ) ) with typecode |-
34 31 33 prcof1 φ x Base C 1 st G 1 st L x = 1 st L x func F
35 3 adantr φ x Base C F E Func D
36 1 2 35 28 6 26 prcofdiag1 φ x Base C 1 st L x func F = 1 st M x
37 27 34 36 3eqtrd φ x Base C 1 st G func L x = 1 st M x
38 18 23 37 eqfnfvd φ 1 st G func L = 1 st M
39 6 16 funcfn2 φ 2 nd G func L Fn Base C × Base C
40 6 21 funcfn2 φ 2 nd M Fn Base C × Base C
41 eqid Hom C = Hom C
42 eqid Hom E FuncCat C = Hom E FuncCat C
43 16 adantr φ x Base C y Base C 1 st G func L C Func E FuncCat C 2 nd G func L
44 simprl φ x Base C y Base C x Base C
45 simprr φ x Base C y Base C y Base C
46 6 41 42 43 44 45 funcf2 φ x Base C y Base C x 2 nd G func L y : x Hom C y 1 st G func L x Hom E FuncCat C 1 st G func L y
47 46 ffnd φ x Base C y Base C x 2 nd G func L y Fn x Hom C y
48 21 adantr φ x Base C y Base C 1 st M C Func E FuncCat C 2 nd M
49 6 41 42 48 44 45 funcf2 φ x Base C y Base C x 2 nd M y : x Hom C y 1 st M x Hom E FuncCat C 1 st M y
50 49 ffnd φ x Base C y Base C x 2 nd M y Fn x Hom C y
51 eqid Base E = Base E
52 eqid Base D = Base D
53 3 ad2antrr φ x Base C y Base C f x Hom C y F E Func D
54 53 func1st2nd φ x Base C y Base C f x Hom C y 1 st F E Func D 2 nd F
55 51 52 54 funcf1 φ x Base C y Base C f x Hom C y 1 st F : Base E Base D
56 xpco2 1 st F : Base E Base D Base D × f 1 st F = Base E × f
57 55 56 syl φ x Base C y Base C f x Hom C y Base D × f 1 st F = Base E × f
58 11 ad2antrr φ x Base C y Base C f x Hom C y L C Func D FuncCat C
59 14 ad2antrr φ x Base C y Base C f x Hom C y G D FuncCat C Func E FuncCat C
60 44 adantr φ x Base C y Base C f x Hom C y x Base C
61 45 adantr φ x Base C y Base C f x Hom C y y Base C
62 simpr φ x Base C y Base C f x Hom C y f x Hom C y
63 6 58 59 60 61 41 62 cofu2 φ x Base C y Base C f x Hom C y x 2 nd G func L y f = 1 st L x 2 nd G 1 st L y x 2 nd L y f
64 4 ad2antrr φ x Base C y Base C f x Hom C y C Cat
65 9 ad2antrr φ x Base C y Base C f x Hom C y D Cat
66 1 6 52 41 64 65 60 61 62 diag2 φ x Base C y Base C f x Hom C y x 2 nd L y f = Base D × f
67 66 fveq2d φ x Base C y Base C f x Hom C y 1 st L x 2 nd G 1 st L y x 2 nd L y f = 1 st L x 2 nd G 1 st L y Base D × f
68 eqid D Nat C = D Nat C
69 1 6 52 41 64 65 60 61 62 68 diag2cl φ x Base C y Base C f x Hom C y Base D × f 1 st L x D Nat C 1 st L y
70 5 fveq2d Could not format ( ph -> ( 2nd ` ( <. D , C >. -o.F F ) ) = ( 2nd ` G ) ) : No typesetting found for |- ( ph -> ( 2nd ` ( <. D , C >. -o.F F ) ) = ( 2nd ` G ) ) with typecode |-
71 70 ad2antrr Could not format ( ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) /\ f e. ( x ( Hom ` C ) y ) ) -> ( 2nd ` ( <. D , C >. -o.F F ) ) = ( 2nd ` G ) ) : No typesetting found for |- ( ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) /\ f e. ( x ( Hom ` C ) y ) ) -> ( 2nd ` ( <. D , C >. -o.F F ) ) = ( 2nd ` G ) ) with typecode |-
72 68 69 71 53 prcof21a φ x Base C y Base C f x Hom C y 1 st L x 2 nd G 1 st L y Base D × f = Base D × f 1 st F
73 63 67 72 3eqtrd φ x Base C y Base C f x Hom C y x 2 nd G func L y f = Base D × f 1 st F
74 19 ad2antrr φ x Base C y Base C f x Hom C y E Cat
75 2 6 51 41 64 74 60 61 62 diag2 φ x Base C y Base C f x Hom C y x 2 nd M y f = Base E × f
76 57 73 75 3eqtr4d φ x Base C y Base C f x Hom C y x 2 nd G func L y f = x 2 nd M y f
77 47 50 76 eqfnfvd φ x Base C y Base C x 2 nd G func L y = x 2 nd M y
78 39 40 77 eqfnovd φ 2 nd G func L = 2 nd M
79 38 78 opeq12d φ 1 st G func L 2 nd G func L = 1 st M 2 nd M
80 relfunc Rel C Func E FuncCat C
81 1st2nd Rel C Func E FuncCat C G func L C Func E FuncCat C G func L = 1 st G func L 2 nd G func L
82 80 15 81 sylancr φ G func L = 1 st G func L 2 nd G func L
83 1st2nd Rel C Func E FuncCat C M C Func E FuncCat C M = 1 st M 2 nd M
84 80 20 83 sylancr φ M = 1 st M 2 nd M
85 79 82 84 3eqtr4d φ G func L = M