Metamath Proof Explorer


Theorem coaval

Description: Value of composition for composable arrows. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypotheses homdmcoa.o ⊢ · ˙ = comp a ⁡ C
homdmcoa.h ⊢ H = Hom a ⁡ C
homdmcoa.f ⊢ φ → F ∈ X H Y
homdmcoa.g ⊢ φ → G ∈ Y H Z
coaval.x ⊢ ∙ ˙ = comp ⁡ C
Assertion coaval ⊢ φ → G · ˙ F = X Z 2 nd ⁡ G X Y ∙ ˙ Z 2 nd ⁡ F

Proof

Step Hyp Ref Expression
1 homdmcoa.o ⊢ · ˙ = comp a ⁡ C
2 homdmcoa.h ⊢ H = Hom a ⁡ C
3 homdmcoa.f ⊢ φ → F ∈ X H Y
4 homdmcoa.g ⊢ φ → G ∈ Y H Z
5 coaval.x ⊢ ∙ ˙ = comp ⁡ C
6 eqid ⊢ Arrow ⁡ C = Arrow ⁡ C
7 1 6 5 coafval ⊢ · ˙ = g ∈ Arrow ⁡ C , f ∈ h ∈ Arrow ⁡ C | cod a ⁡ h = dom a ⁡ g ⟼ dom a ⁡ f cod a ⁡ g 2 nd ⁡ g dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g 2 nd ⁡ f
8 6 2 homarw ⊢ Y H Z ⊆ Arrow ⁡ C
9 8 4 sselid ⊢ φ → G ∈ Arrow ⁡ C
10 fveqeq2 ⊢ h = F → cod a ⁡ h = dom a ⁡ g ↔ cod a ⁡ F = dom a ⁡ g
11 6 2 homarw ⊢ X H Y ⊆ Arrow ⁡ C
12 3 adantr ⊢ φ ∧ g = G → F ∈ X H Y
13 11 12 sselid ⊢ φ ∧ g = G → F ∈ Arrow ⁡ C
14 2 homacd ⊢ F ∈ X H Y → cod a ⁡ F = Y
15 12 14 syl ⊢ φ ∧ g = G → cod a ⁡ F = Y
16 simpr ⊢ φ ∧ g = G → g = G
17 16 fveq2d ⊢ φ ∧ g = G → dom a ⁡ g = dom a ⁡ G
18 4 adantr ⊢ φ ∧ g = G → G ∈ Y H Z
19 2 homadm ⊢ G ∈ Y H Z → dom a ⁡ G = Y
20 18 19 syl ⊢ φ ∧ g = G → dom a ⁡ G = Y
21 17 20 eqtrd ⊢ φ ∧ g = G → dom a ⁡ g = Y
22 15 21 eqtr4d ⊢ φ ∧ g = G → cod a ⁡ F = dom a ⁡ g
23 10 13 22 elrabd ⊢ φ ∧ g = G → F ∈ h ∈ Arrow ⁡ C | cod a ⁡ h = dom a ⁡ g
24 otex ⊢ dom a ⁡ f cod a ⁡ g 2 nd ⁡ g dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g 2 nd ⁡ f ∈ V
25 24 a1i ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ f cod a ⁡ g 2 nd ⁡ g dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g 2 nd ⁡ f ∈ V
26 simprr ⊢ φ ∧ g = G ∧ f = F → f = F
27 26 fveq2d ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ f = dom a ⁡ F
28 2 homadm ⊢ F ∈ X H Y → dom a ⁡ F = X
29 12 28 syl ⊢ φ ∧ g = G → dom a ⁡ F = X
30 29 adantrr ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ F = X
31 27 30 eqtrd ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ f = X
32 16 fveq2d ⊢ φ ∧ g = G → cod a ⁡ g = cod a ⁡ G
33 2 homacd ⊢ G ∈ Y H Z → cod a ⁡ G = Z
34 18 33 syl ⊢ φ ∧ g = G → cod a ⁡ G = Z
35 32 34 eqtrd ⊢ φ ∧ g = G → cod a ⁡ g = Z
36 35 adantrr ⊢ φ ∧ g = G ∧ f = F → cod a ⁡ g = Z
37 21 adantrr ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ g = Y
38 31 37 opeq12d ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ f dom a ⁡ g = X Y
39 38 36 oveq12d ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g = X Y ∙ ˙ Z
40 simprl ⊢ φ ∧ g = G ∧ f = F → g = G
41 40 fveq2d ⊢ φ ∧ g = G ∧ f = F → 2 nd ⁡ g = 2 nd ⁡ G
42 26 fveq2d ⊢ φ ∧ g = G ∧ f = F → 2 nd ⁡ f = 2 nd ⁡ F
43 39 41 42 oveq123d ⊢ φ ∧ g = G ∧ f = F → 2 nd ⁡ g dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g 2 nd ⁡ f = 2 nd ⁡ G X Y ∙ ˙ Z 2 nd ⁡ F
44 31 36 43 oteq123d ⊢ φ ∧ g = G ∧ f = F → dom a ⁡ f cod a ⁡ g 2 nd ⁡ g dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g 2 nd ⁡ f = X Z 2 nd ⁡ G X Y ∙ ˙ Z 2 nd ⁡ F
45 9 23 25 44 ovmpodv2 ⊢ φ → · ˙ = g ∈ Arrow ⁡ C , f ∈ h ∈ Arrow ⁡ C | cod a ⁡ h = dom a ⁡ g ⟼ dom a ⁡ f cod a ⁡ g 2 nd ⁡ g dom a ⁡ f dom a ⁡ g ∙ ˙ cod a ⁡ g 2 nd ⁡ f → G · ˙ F = X Z 2 nd ⁡ G X Y ∙ ˙ Z 2 nd ⁡ F
46 7 45 mpi ⊢ φ → G · ˙ F = X Z 2 nd ⁡ G X Y ∙ ˙ Z 2 nd ⁡ F