Metamath Proof Explorer


Theorem catcco

Description: Composition in the category of categories. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses catcbas.c ⊢ C = CatCat ⁡ U
catcbas.b ⊢ B = Base C
catcbas.u ⊢ φ → U ∈ V
catcco.o ⊢ · ˙ = comp ⁡ C
catcco.x ⊢ φ → X ∈ B
catcco.y ⊢ φ → Y ∈ B
catcco.z ⊢ φ → Z ∈ B
catcco.f ⊢ φ → F ∈ X Func Y
catcco.g ⊢ φ → G ∈ Y Func Z
Assertion catcco ⊢ φ → G X Y · ˙ Z F = G ∘ func F

Proof

Step Hyp Ref Expression
1 catcbas.c ⊢ C = CatCat ⁡ U
2 catcbas.b ⊢ B = Base C
3 catcbas.u ⊢ φ → U ∈ V
4 catcco.o ⊢ · ˙ = comp ⁡ C
5 catcco.x ⊢ φ → X ∈ B
6 catcco.y ⊢ φ → Y ∈ B
7 catcco.z ⊢ φ → Z ∈ B
8 catcco.f ⊢ φ → F ∈ X Func Y
9 catcco.g ⊢ φ → G ∈ Y Func Z
10 1 2 3 4 catccofval ⊢ φ → · ˙ = v ∈ B × B , z ∈ B ⟼ g ∈ 2 nd ⁡ v Func z , f ∈ Func ⁡ v ⟼ g ∘ func f
11 simprl ⊢ φ ∧ v = X Y ∧ z = Z → v = X Y
12 11 fveq2d ⊢ φ ∧ v = X Y ∧ z = Z → 2 nd ⁡ v = 2 nd ⁡ X Y
13 op2ndg ⊢ X ∈ B ∧ Y ∈ B → 2 nd ⁡ X Y = Y
14 5 6 13 syl2anc ⊢ φ → 2 nd ⁡ X Y = Y
15 14 adantr ⊢ φ ∧ v = X Y ∧ z = Z → 2 nd ⁡ X Y = Y
16 12 15 eqtrd ⊢ φ ∧ v = X Y ∧ z = Z → 2 nd ⁡ v = Y
17 simprr ⊢ φ ∧ v = X Y ∧ z = Z → z = Z
18 16 17 oveq12d ⊢ φ ∧ v = X Y ∧ z = Z → 2 nd ⁡ v Func z = Y Func Z
19 11 fveq2d ⊢ φ ∧ v = X Y ∧ z = Z → Func ⁡ v = Func ⁡ X Y
20 df-ov ⊢ X Func Y = Func ⁡ X Y
21 19 20 eqtr4di ⊢ φ ∧ v = X Y ∧ z = Z → Func ⁡ v = X Func Y
22 eqidd ⊢ φ ∧ v = X Y ∧ z = Z → g ∘ func f = g ∘ func f
23 18 21 22 mpoeq123dv ⊢ φ ∧ v = X Y ∧ z = Z → g ∈ 2 nd ⁡ v Func z , f ∈ Func ⁡ v ⟼ g ∘ func f = g ∈ Y Func Z , f ∈ X Func Y ⟼ g ∘ func f
24 5 6 opelxpd ⊢ φ → X Y ∈ B × B
25 ovex ⊢ Y Func Z ∈ V
26 ovex ⊢ X Func Y ∈ V
27 25 26 mpoex ⊢ g ∈ Y Func Z , f ∈ X Func Y ⟼ g ∘ func f ∈ V
28 27 a1i ⊢ φ → g ∈ Y Func Z , f ∈ X Func Y ⟼ g ∘ func f ∈ V
29 10 23 24 7 28 ovmpod ⊢ φ → X Y · ˙ Z = g ∈ Y Func Z , f ∈ X Func Y ⟼ g ∘ func f
30 oveq12 ⊢ g = G ∧ f = F → g ∘ func f = G ∘ func F
31 30 adantl ⊢ φ ∧ g = G ∧ f = F → g ∘ func f = G ∘ func F
32 ovexd ⊢ φ → G ∘ func F ∈ V
33 29 31 9 8 32 ovmpod ⊢ φ → G X Y · ˙ Z F = G ∘ func F