Metamath Proof Explorer


Theorem funcco

Description: A functor maps composition in the source category to composition in the target. (Contributed by Mario Carneiro, 2-Jan-2017)

Ref Expression
Hypotheses funcco.b ⊢ B = Base D
funcco.h ⊢ H = Hom ⁡ D
funcco.o ⊢ · ˙ = comp ⁡ D
funcco.O ⊢ O = comp ⁡ E
funcco.f ⊢ φ → F D Func E G
funcco.x ⊢ φ → X ∈ B
funcco.y ⊢ φ → Y ∈ B
funcco.z ⊢ φ → Z ∈ B
funcco.m ⊢ φ → M ∈ X H Y
funcco.n ⊢ φ → N ∈ Y H Z
Assertion funcco ⊢ φ → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M

Proof

Step Hyp Ref Expression
1 funcco.b ⊢ B = Base D
2 funcco.h ⊢ H = Hom ⁡ D
3 funcco.o ⊢ · ˙ = comp ⁡ D
4 funcco.O ⊢ O = comp ⁡ E
5 funcco.f ⊢ φ → F D Func E G
6 funcco.x ⊢ φ → X ∈ B
7 funcco.y ⊢ φ → Y ∈ B
8 funcco.z ⊢ φ → Z ∈ B
9 funcco.m ⊢ φ → M ∈ X H Y
10 funcco.n ⊢ φ → N ∈ Y H Z
11 eqid ⊢ Base E = Base E
12 eqid ⊢ Hom ⁡ E = Hom ⁡ E
13 eqid ⊢ Id ⁡ D = Id ⁡ D
14 eqid ⊢ Id ⁡ E = Id ⁡ E
15 df-br ⊢ F D Func E G ↔ F G ∈ D Func E
16 5 15 sylib ⊢ φ → F G ∈ D Func E
17 funcrcl ⊢ F G ∈ D Func E → D ∈ Cat ∧ E ∈ Cat
18 16 17 syl ⊢ φ → D ∈ Cat ∧ E ∈ Cat
19 18 simpld ⊢ φ → D ∈ Cat
20 18 simprd ⊢ φ → E ∈ Cat
21 1 11 2 12 13 14 3 4 19 20 isfunc ⊢ φ → F D Func E G ↔ F : B ⟶ Base E ∧ G ∈ ⨉ z ∈ B × B F ⁡ 1 st ⁡ z Hom ⁡ E F ⁡ 2 nd ⁡ z H ⁡ z ∧ ∀ x ∈ B x G x ⁡ Id ⁡ D ⁡ x = Id ⁡ E ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
22 5 21 mpbid ⊢ φ → F : B ⟶ Base E ∧ G ∈ ⨉ z ∈ B × B F ⁡ 1 st ⁡ z Hom ⁡ E F ⁡ 2 nd ⁡ z H ⁡ z ∧ ∀ x ∈ B x G x ⁡ Id ⁡ D ⁡ x = Id ⁡ E ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
23 22 simp3d ⊢ φ → ∀ x ∈ B x G x ⁡ Id ⁡ D ⁡ x = Id ⁡ E ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
24 7 adantr ⊢ φ ∧ x = X → Y ∈ B
25 8 ad2antrr ⊢ φ ∧ x = X ∧ y = Y → Z ∈ B
26 9 ad3antrrr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z → M ∈ X H Y
27 simpllr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z → x = X
28 simplr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z → y = Y
29 27 28 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z → x H y = X H Y
30 26 29 eleqtrrd ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z → M ∈ x H y
31 10 ad4antr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M → N ∈ Y H Z
32 simpllr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M → y = Y
33 simplr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M → z = Z
34 32 33 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M → y H z = Y H Z
35 31 34 eleqtrrd ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M → N ∈ y H z
36 simp-5r ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x = X
37 simpllr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → z = Z
38 36 37 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x G z = X G Z
39 simp-4r ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → y = Y
40 36 39 opeq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x y = X Y
41 40 37 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x y · ˙ z = X Y · ˙ Z
42 simpr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → n = N
43 simplr ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → m = M
44 41 42 43 oveq123d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → n x y · ˙ z m = N X Y · ˙ Z M
45 38 44 fveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x G z ⁡ n x y · ˙ z m = X G Z ⁡ N X Y · ˙ Z M
46 36 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → F ⁡ x = F ⁡ X
47 39 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → F ⁡ y = F ⁡ Y
48 46 47 opeq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → F ⁡ x F ⁡ y = F ⁡ X F ⁡ Y
49 37 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → F ⁡ z = F ⁡ Z
50 48 49 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → F ⁡ x F ⁡ y O F ⁡ z = F ⁡ X F ⁡ Y O F ⁡ Z
51 39 37 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → y G z = Y G Z
52 51 42 fveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → y G z ⁡ n = Y G Z ⁡ N
53 36 39 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x G y = X G Y
54 53 43 fveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x G y ⁡ m = X G Y ⁡ M
55 50 52 54 oveq123d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
56 45 55 eqeq12d ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M ∧ n = N → x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m ↔ X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
57 35 56 rspcdv ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z ∧ m = M → ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
58 30 57 rspcimdv ⊢ φ ∧ x = X ∧ y = Y ∧ z = Z → ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
59 25 58 rspcimdv ⊢ φ ∧ x = X ∧ y = Y → ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
60 24 59 rspcimdv ⊢ φ ∧ x = X → ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
61 60 adantld ⊢ φ ∧ x = X → x G x ⁡ Id ⁡ D ⁡ x = Id ⁡ E ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
62 6 61 rspcimdv ⊢ φ → ∀ x ∈ B x G x ⁡ Id ⁡ D ⁡ x = Id ⁡ E ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M
63 23 62 mpd ⊢ φ → X G Z ⁡ N X Y · ˙ Z M = Y G Z ⁡ N F ⁡ X F ⁡ Y O F ⁡ Z X G Y ⁡ M