Metamath Proof Explorer


Theorem catidex

Description: Each object in a category has an associated 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 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

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 id ⊢ x = X → x = X
7 6 6 oveq12d ⊢ x = X → x H x = X H X
8 oveq2 ⊢ x = X → y H x = y H X
9 opeq2 ⊢ x = X → y x = y X
10 9 6 oveq12d ⊢ x = X → y x · ˙ x = y X · ˙ X
11 10 oveqd ⊢ x = X → g y x · ˙ x f = g y X · ˙ X f
12 11 eqeq1d ⊢ x = X → g y x · ˙ x f = f ↔ g y X · ˙ X f = f
13 8 12 raleqbidv ⊢ x = X → ∀ f ∈ y H x g y x · ˙ x f = f ↔ ∀ f ∈ y H X g y X · ˙ X f = f
14 oveq1 ⊢ x = X → x H y = X H y
15 6 6 opeq12d ⊢ x = X → x x = X X
16 15 oveq1d ⊢ x = X → x x · ˙ y = X X · ˙ y
17 16 oveqd ⊢ x = X → f x x · ˙ y g = f X X · ˙ y g
18 17 eqeq1d ⊢ x = X → f x x · ˙ y g = f ↔ f X X · ˙ y g = f
19 14 18 raleqbidv ⊢ x = X → ∀ f ∈ x H y f x x · ˙ y g = f ↔ ∀ f ∈ X H y f X X · ˙ y g = f
20 13 19 anbi12d ⊢ x = X → ∀ f ∈ y H x g y x · ˙ x f = f ∧ ∀ f ∈ x H y f x x · ˙ y g = f ↔ ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f
21 20 ralbidv ⊢ x = X → ∀ y ∈ B ∀ f ∈ y H x g y x · ˙ x f = f ∧ ∀ f ∈ x H y f x x · ˙ y g = f ↔ ∀ y ∈ B ∀ f ∈ y H X g y X · ˙ X f = f ∧ ∀ f ∈ X H y f X X · ˙ y g = f
22 7 21 rexeqbidv ⊢ x = X → ∃ 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
23 1 2 3 iscat ⊢ C ∈ Cat → C ∈ Cat ↔ ∀ x ∈ B ∃ 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 ∧ ∀ y ∈ B ∀ z ∈ B ∀ f ∈ x H y ∀ g ∈ y H z g x y · ˙ z f ∈ x H z ∧ ∀ w ∈ B ∀ k ∈ z H w k y z · ˙ w g x y · ˙ w f = k x z · ˙ w g x y · ˙ z f
24 23 ibi ⊢ C ∈ Cat → ∀ x ∈ B ∃ 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 ∧ ∀ y ∈ B ∀ z ∈ B ∀ f ∈ x H y ∀ g ∈ y H z g x y · ˙ z f ∈ x H z ∧ ∀ w ∈ B ∀ k ∈ z H w k y z · ˙ w g x y · ˙ w f = k x z · ˙ w g x y · ˙ z f
25 simpl ⊢ ∃ 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 ∧ ∀ y ∈ B ∀ z ∈ B ∀ f ∈ x H y ∀ g ∈ y H z g x y · ˙ z f ∈ x H z ∧ ∀ w ∈ B ∀ k ∈ z H w k y z · ˙ w g x y · ˙ w f = k x z · ˙ w g x y · ˙ z 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
26 25 ralimi ⊢ ∀ x ∈ B ∃ 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 ∧ ∀ y ∈ B ∀ z ∈ B ∀ f ∈ x H y ∀ g ∈ y H z g x y · ˙ z f ∈ x H z ∧ ∀ w ∈ B ∀ k ∈ z H w k y z · ˙ w g x y · ˙ w f = k x z · ˙ w g x y · ˙ z f → ∀ x ∈ B ∃ 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
27 4 24 26 3syl ⊢ φ → ∀ x ∈ B ∃ 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
28 22 27 5 rspcdva ⊢ φ → ∃ 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