Metamath Proof Explorer


Theorem catideu

Description: Each object in a category has a unique identity arrow. (Contributed by Mario Carneiro, 2-Jan-2017)

Ref Expression
Hypotheses catidex.b ⊢ B = Base C
catidex.h ⊢ H = Hom ⁡ C
catidex.o ⊢ · ˙ = comp ⁡ C
catidex.c ⊢ φ → C ∈ Cat
catidex.x ⊢ φ → X ∈ B
Assertion catideu ⊢ φ → ∃! g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f

Proof

Step Hyp Ref Expression
1 catidex.b ⊢ B = Base C
2 catidex.h ⊢ H = Hom ⁡ C
3 catidex.o ⊢ · ˙ = comp ⁡ C
4 catidex.c ⊢ φ → C ∈ Cat
5 catidex.x ⊢ φ → X ∈ B
6 1 2 3 4 5 catidex ⊢ φ → ∃ g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f
7 oveq1 ⊢ y = X → y H X = X H X
8 opeq1 ⊢ y = X → y X = X X
9 8 oveq1d ⊢ y = X → y X · ˙ X = X X · ˙ X
10 9 oveqd ⊢ y = X → g y X · ˙ X f = g X X · ˙ X f
11 10 eqeq1d ⊢ y = X → g y X · ˙ X f = f ↔ g X X · ˙ X f = f
12 7 11 raleqbidv ⊢ y = X → ∀ f ∈ y H X g y X · ˙ X f = f ↔ ∀ f ∈ X H X g X X · ˙ X f = f
13 oveq2 ⊢ y = X → X H y = X H X
14 oveq2 ⊢ y = X → X X · ˙ y = X X · ˙ X
15 14 oveqd ⊢ y = X → f X X · ˙ y g = f X X · ˙ X g
16 15 eqeq1d ⊢ y = X → f X X · ˙ y g = f ↔ f X X · ˙ X g = f
17 13 16 raleqbidv ⊢ y = X → ∀ f ∈ X H y f X X · ˙ y g = f ↔ ∀ f ∈ X H X f X X · ˙ X g = f
18 12 17 anbi12d ⊢ y = X → ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f ↔ ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f
19 18 rspcv ⊢ X ∈ B → ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f
20 5 19 syl ⊢ φ → ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f
21 20 ralrimivw ⊢ φ → ∀ g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f
22 an3 ⊢ ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ∧ ∀ f ∈ X H X h X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f
23 oveq2 ⊢ f = h → g X X · ˙ X f = g X X · ˙ X h
24 id ⊢ f = h → f = h
25 23 24 eqeq12d ⊢ f = h → g X X · ˙ X f = f ↔ g X X · ˙ X h = h
26 25 rspcv ⊢ h ∈ X H X → ∀ f ∈ X H X g X X · ˙ X f = f → g X X · ˙ X h = h
27 oveq1 ⊢ f = g → f X X · ˙ X h = g X X · ˙ X h
28 id ⊢ f = g → f = g
29 27 28 eqeq12d ⊢ f = g → f X X · ˙ X h = f ↔ g X X · ˙ X h = g
30 29 rspcv ⊢ g ∈ X H X → ∀ f ∈ X H X f X X · ˙ X h = f → g X X · ˙ X h = g
31 26 30 im2anan9r ⊢ g ∈ X H X ∧ h ∈ X H X → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f → g X X · ˙ X h = h ∧ g X X · ˙ X h = g
32 eqtr2 ⊢ g X X · ˙ X h = h ∧ g X X · ˙ X h = g → h = g
33 32 equcomd ⊢ g X X · ˙ X h = h ∧ g X X · ˙ X h = g → g = h
34 22 31 33 syl56 ⊢ g ∈ X H X ∧ h ∈ X H X → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ∧ ∀ f ∈ X H X h X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f → g = h
35 34 rgen2 ⊢ ∀ g ∈ X H X ∀ h ∈ X H X ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ∧ ∀ f ∈ X H X h X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f → g = h
36 35 a1i ⊢ φ → ∀ g ∈ X H X ∀ h ∈ X H X ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ∧ ∀ f ∈ X H X h X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f → g = h
37 oveq1 ⊢ g = h → g X X · ˙ X f = h X X · ˙ X f
38 37 eqeq1d ⊢ g = h → g X X · ˙ X f = f ↔ h X X · ˙ X f = f
39 38 ralbidv ⊢ g = h → ∀ f ∈ X H X g X X · ˙ X f = f ↔ ∀ f ∈ X H X h X X · ˙ X f = f
40 oveq2 ⊢ g = h → f X X · ˙ X g = f X X · ˙ X h
41 40 eqeq1d ⊢ g = h → f X X · ˙ X g = f ↔ f X X · ˙ X h = f
42 41 ralbidv ⊢ g = h → ∀ f ∈ X H X f X X · ˙ X g = f ↔ ∀ f ∈ X H X f X X · ˙ X h = f
43 39 42 anbi12d ⊢ g = h → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ↔ ∀ f ∈ X H X h X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f
44 43 rmo4 ⊢ ∃* g ∈ X H X ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ↔ ∀ g ∈ X H X ∀ h ∈ X H X ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f ∧ ∀ f ∈ X H X h X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X h = f → g = h
45 36 44 sylibr ⊢ φ → ∃* g ∈ X H X ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f
46 rmoim ⊢ ∀ g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f → ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f → ∃* g ∈ X H X ∀ f ∈ X H X g X X · ˙ X f = f ∧ ∀ f ∈ X H X f X X · ˙ X g = f → ∃* g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f
47 21 45 46 sylc ⊢ φ → ∃* g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f
48 reu5 ⊢ ∃! g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f ↔ ∃ g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f ∧ ∃* g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f
49 6 47 48 sylanbrc ⊢ φ → ∃! g ∈ X H X ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f