Metamath Proof Explorer


Theorem fucass

Description: Associativity of natural transformation composition. Remark 6.14(b) in Adamek p. 87. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses fucass.q ⊢ Q = C FuncCat D
fucass.n ⊢ N = C Nat D
fucass.x ⊢ ∙ ˙ = comp ⁡ Q
fucass.r ⊢ φ → R ∈ F N G
fucass.s ⊢ φ → S ∈ G N H
fucass.t ⊢ φ → T ∈ H N K
Assertion fucass ⊢ φ → T G H ∙ ˙ K S F G ∙ ˙ K R = T F H ∙ ˙ K S F G ∙ ˙ H R

Proof

Step Hyp Ref Expression
1 fucass.q ⊢ Q = C FuncCat D
2 fucass.n ⊢ N = C Nat D
3 fucass.x ⊢ ∙ ˙ = comp ⁡ Q
4 fucass.r ⊢ φ → R ∈ F N G
5 fucass.s ⊢ φ → S ∈ G N H
6 fucass.t ⊢ φ → T ∈ H N K
7 eqid ⊢ Base D = Base D
8 eqid ⊢ Hom ⁡ D = Hom ⁡ D
9 eqid ⊢ comp ⁡ D = comp ⁡ D
10 2 natrcl ⊢ R ∈ F N G → F ∈ C Func D ∧ G ∈ C Func D
11 4 10 syl ⊢ φ → F ∈ C Func D ∧ G ∈ C Func D
12 11 simpld ⊢ φ → F ∈ C Func D
13 funcrcl ⊢ F ∈ C Func D → C ∈ Cat ∧ D ∈ Cat
14 12 13 syl ⊢ φ → C ∈ Cat ∧ D ∈ Cat
15 14 simprd ⊢ φ → D ∈ Cat
16 15 adantr ⊢ φ ∧ x ∈ Base C → D ∈ Cat
17 eqid ⊢ Base C = Base C
18 relfunc ⊢ Rel ⁡ C Func D
19 1st2ndbr ⊢ Rel ⁡ C Func D ∧ F ∈ C Func D → 1 st ⁡ F C Func D 2 nd ⁡ F
20 18 12 19 sylancr ⊢ φ → 1 st ⁡ F C Func D 2 nd ⁡ F
21 17 7 20 funcf1 ⊢ φ → 1 st ⁡ F : Base C ⟶ Base D
22 21 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F ⁡ x ∈ Base D
23 11 simprd ⊢ φ → G ∈ C Func D
24 1st2ndbr ⊢ Rel ⁡ C Func D ∧ G ∈ C Func D → 1 st ⁡ G C Func D 2 nd ⁡ G
25 18 23 24 sylancr ⊢ φ → 1 st ⁡ G C Func D 2 nd ⁡ G
26 17 7 25 funcf1 ⊢ φ → 1 st ⁡ G : Base C ⟶ Base D
27 26 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ G ⁡ x ∈ Base D
28 2 natrcl ⊢ T ∈ H N K → H ∈ C Func D ∧ K ∈ C Func D
29 6 28 syl ⊢ φ → H ∈ C Func D ∧ K ∈ C Func D
30 29 simpld ⊢ φ → H ∈ C Func D
31 1st2ndbr ⊢ Rel ⁡ C Func D ∧ H ∈ C Func D → 1 st ⁡ H C Func D 2 nd ⁡ H
32 18 30 31 sylancr ⊢ φ → 1 st ⁡ H C Func D 2 nd ⁡ H
33 17 7 32 funcf1 ⊢ φ → 1 st ⁡ H : Base C ⟶ Base D
34 33 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ H ⁡ x ∈ Base D
35 2 4 nat1st2nd ⊢ φ → R ∈ 1 st ⁡ F 2 nd ⁡ F N 1 st ⁡ G 2 nd ⁡ G
36 35 adantr ⊢ φ ∧ x ∈ Base C → R ∈ 1 st ⁡ F 2 nd ⁡ F N 1 st ⁡ G 2 nd ⁡ G
37 simpr ⊢ φ ∧ x ∈ Base C → x ∈ Base C
38 2 36 17 8 37 natcl ⊢ φ ∧ x ∈ Base C → R ⁡ x ∈ 1 st ⁡ F ⁡ x Hom ⁡ D 1 st ⁡ G ⁡ x
39 2 5 nat1st2nd ⊢ φ → S ∈ 1 st ⁡ G 2 nd ⁡ G N 1 st ⁡ H 2 nd ⁡ H
40 39 adantr ⊢ φ ∧ x ∈ Base C → S ∈ 1 st ⁡ G 2 nd ⁡ G N 1 st ⁡ H 2 nd ⁡ H
41 2 40 17 8 37 natcl ⊢ φ ∧ x ∈ Base C → S ⁡ x ∈ 1 st ⁡ G ⁡ x Hom ⁡ D 1 st ⁡ H ⁡ x
42 29 simprd ⊢ φ → K ∈ C Func D
43 1st2ndbr ⊢ Rel ⁡ C Func D ∧ K ∈ C Func D → 1 st ⁡ K C Func D 2 nd ⁡ K
44 18 42 43 sylancr ⊢ φ → 1 st ⁡ K C Func D 2 nd ⁡ K
45 17 7 44 funcf1 ⊢ φ → 1 st ⁡ K : Base C ⟶ Base D
46 45 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ K ⁡ x ∈ Base D
47 2 6 nat1st2nd ⊢ φ → T ∈ 1 st ⁡ H 2 nd ⁡ H N 1 st ⁡ K 2 nd ⁡ K
48 47 adantr ⊢ φ ∧ x ∈ Base C → T ∈ 1 st ⁡ H 2 nd ⁡ H N 1 st ⁡ K 2 nd ⁡ K
49 2 48 17 8 37 natcl ⊢ φ ∧ x ∈ Base C → T ⁡ x ∈ 1 st ⁡ H ⁡ x Hom ⁡ D 1 st ⁡ K ⁡ x
50 7 8 9 16 22 27 34 38 41 46 49 catass ⊢ φ ∧ x ∈ Base C → T ⁡ x 1 st ⁡ G ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x R ⁡ x = T ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ H ⁡ x R ⁡ x
51 5 adantr ⊢ φ ∧ x ∈ Base C → S ∈ G N H
52 6 adantr ⊢ φ ∧ x ∈ Base C → T ∈ H N K
53 1 2 17 9 3 51 52 37 fuccoval ⊢ φ ∧ x ∈ Base C → T G H ∙ ˙ K S ⁡ x = T ⁡ x 1 st ⁡ G ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S ⁡ x
54 53 oveq1d ⊢ φ ∧ x ∈ Base C → T G H ∙ ˙ K S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x R ⁡ x = T ⁡ x 1 st ⁡ G ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x R ⁡ x
55 4 adantr ⊢ φ ∧ x ∈ Base C → R ∈ F N G
56 1 2 17 9 3 55 51 37 fuccoval ⊢ φ ∧ x ∈ Base C → S F G ∙ ˙ H R ⁡ x = S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ H ⁡ x R ⁡ x
57 56 oveq2d ⊢ φ ∧ x ∈ Base C → T ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S F G ∙ ˙ H R ⁡ x = T ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ H ⁡ x R ⁡ x
58 50 54 57 3eqtr4d ⊢ φ ∧ x ∈ Base C → T G H ∙ ˙ K S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x R ⁡ x = T ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S F G ∙ ˙ H R ⁡ x
59 58 mpteq2dva ⊢ φ → x ∈ Base C ⟼ T G H ∙ ˙ K S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x R ⁡ x = x ∈ Base C ⟼ T ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S F G ∙ ˙ H R ⁡ x
60 1 2 3 5 6 fuccocl ⊢ φ → T G H ∙ ˙ K S ∈ G N K
61 1 2 17 9 3 4 60 fucco ⊢ φ → T G H ∙ ˙ K S F G ∙ ˙ K R = x ∈ Base C ⟼ T G H ∙ ˙ K S ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ G ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x R ⁡ x
62 1 2 3 4 5 fuccocl ⊢ φ → S F G ∙ ˙ H R ∈ F N H
63 1 2 17 9 3 62 6 fucco ⊢ φ → T F H ∙ ˙ K S F G ∙ ˙ H R = x ∈ Base C ⟼ T ⁡ x 1 st ⁡ F ⁡ x 1 st ⁡ H ⁡ x comp ⁡ D 1 st ⁡ K ⁡ x S F G ∙ ˙ H R ⁡ x
64 59 61 63 3eqtr4d ⊢ φ → T G H ∙ ˙ K S F G ∙ ˙ K R = T F H ∙ ˙ K S F G ∙ ˙ H R