MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  catidd Structured version   Visualization version   GIF version

Theorem catidd 17647
Description: Deduce the identity arrow in a category. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
catidd.b (𝜑𝐵 = (Base‘𝐶))
catidd.h (𝜑𝐻 = (Hom ‘𝐶))
catidd.o (𝜑· = (comp‘𝐶))
catidd.c (𝜑𝐶 ∈ Cat)
catidd.1 ((𝜑𝑥𝐵) → 1 ∈ (𝑥𝐻𝑥))
catidd.2 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥))) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓)
catidd.3 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦))) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓)
Assertion
Ref Expression
catidd (𝜑 → (Id‘𝐶) = (𝑥𝐵1 ))
Distinct variable groups:   𝑦,𝑓, 1   𝑥,𝐵   𝑥,𝑓,𝐶,𝑦   𝜑,𝑓,𝑥,𝑦
Allowed substitution hints:   𝐵(𝑦,𝑓)   · (𝑥,𝑦,𝑓)   1 (𝑥)   𝐻(𝑥,𝑦,𝑓)

Proof of Theorem catidd
Dummy variable 𝑔 is distinct from all other variables.
StepHypRef Expression
1 catidd.2 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥))) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓)
21ex 412 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓))
3 catidd.b . . . . . . . . . . . 12 (𝜑𝐵 = (Base‘𝐶))
43eleq2d 2815 . . . . . . . . . . 11 (𝜑 → (𝑥𝐵𝑥 ∈ (Base‘𝐶)))
53eleq2d 2815 . . . . . . . . . . 11 (𝜑 → (𝑦𝐵𝑦 ∈ (Base‘𝐶)))
6 catidd.h . . . . . . . . . . . . 13 (𝜑𝐻 = (Hom ‘𝐶))
76oveqd 7406 . . . . . . . . . . . 12 (𝜑 → (𝑦𝐻𝑥) = (𝑦(Hom ‘𝐶)𝑥))
87eleq2d 2815 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑦𝐻𝑥) ↔ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)))
94, 5, 83anbi123d 1438 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥))))
10 catidd.o . . . . . . . . . . . . 13 (𝜑· = (comp‘𝐶))
1110oveqd 7406 . . . . . . . . . . . 12 (𝜑 → (⟨𝑦, 𝑥· 𝑥) = (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥))
1211oveqd 7406 . . . . . . . . . . 11 (𝜑 → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
1312eqeq1d 2732 . . . . . . . . . 10 (𝜑 → (( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
142, 9, 133imtr3d 293 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
15143expd 1354 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))))
1615imp41 425 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
1716ralrimiva 3126 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
18 catidd.3 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦))) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓)
1918ex 412 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓))
206oveqd 7406 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
2120eleq2d 2815 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑥𝐻𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
224, 5, 213anbi123d 1438 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))))
2310oveqd 7406 . . . . . . . . . . . 12 (𝜑 → (⟨𝑥, 𝑥· 𝑦) = (⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦))
2423oveqd 7406 . . . . . . . . . . 11 (𝜑 → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
2524eqeq1d 2732 . . . . . . . . . 10 (𝜑 → ((𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
2619, 22, 253imtr3d 293 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
27263expd 1354 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))))
2827imp41 425 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
2928ralrimiva 3126 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
3017, 29jca 511 . . . . 5 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
3130ralrimiva 3126 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
32 catidd.1 . . . . . . . 8 ((𝜑𝑥𝐵) → 1 ∈ (𝑥𝐻𝑥))
3332ex 412 . . . . . . 7 (𝜑 → (𝑥𝐵1 ∈ (𝑥𝐻𝑥)))
346oveqd 7406 . . . . . . . 8 (𝜑 → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
3534eleq2d 2815 . . . . . . 7 (𝜑 → ( 1 ∈ (𝑥𝐻𝑥) ↔ 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3633, 4, 353imtr3d 293 . . . . . 6 (𝜑 → (𝑥 ∈ (Base‘𝐶) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3736imp 406 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥))
38 eqid 2730 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
39 eqid 2730 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
40 eqid 2730 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41 catidd.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
4241adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
43 simpr 484 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
4438, 39, 40, 42, 43catideu 17642 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∃!𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))
45 oveq1 7396 . . . . . . . . . 10 (𝑔 = 1 → (𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
4645eqeq1d 2732 . . . . . . . . 9 (𝑔 = 1 → ((𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
4746ralbidv 3157 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
48 oveq2 7397 . . . . . . . . . 10 (𝑔 = 1 → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
4948eqeq1d 2732 . . . . . . . . 9 (𝑔 = 1 → ((𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5049ralbidv 3157 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5147, 50anbi12d 632 . . . . . . 7 (𝑔 = 1 → ((∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5251ralbidv 3157 . . . . . 6 (𝑔 = 1 → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5352riota2 7371 . . . . 5 (( 1 ∈ (𝑥(Hom ‘𝐶)𝑥) ∧ ∃!𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓) ↔ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 ))
5437, 44, 53syl2anc 584 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓) ↔ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 ))
5531, 54mpbid 232 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 )
5655mpteq2dva 5202 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
57 eqid 2730 . . 3 (Id‘𝐶) = (Id‘𝐶)
5838, 39, 40, 41, 57cidfval 17643 . 2 (𝜑 → (Id‘𝐶) = (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))))
593mpteq1d 5199 . 2 (𝜑 → (𝑥𝐵1 ) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
6056, 58, 593eqtr4d 2775 1 (𝜑 → (Id‘𝐶) = (𝑥𝐵1 ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1540  wcel 2109  wral 3045  ∃!wreu 3354  cop 4597  cmpt 5190  cfv 6513  crio 7345  (class class class)co 7389  Basecbs 17185  Hom chom 17237  compcco 17238  Catccat 17631  Idccid 17632
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2702  ax-rep 5236  ax-sep 5253  ax-nul 5263  ax-pr 5389
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-ral 3046  df-rex 3055  df-rmo 3356  df-reu 3357  df-rab 3409  df-v 3452  df-sbc 3756  df-csb 3865  df-dif 3919  df-un 3921  df-in 3923  df-ss 3933  df-nul 4299  df-if 4491  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4874  df-iun 4959  df-br 5110  df-opab 5172  df-mpt 5191  df-id 5535  df-xp 5646  df-rel 5647  df-cnv 5648  df-co 5649  df-dm 5650  df-rn 5651  df-res 5652  df-ima 5653  df-iota 6466  df-fun 6515  df-fn 6516  df-f 6517  df-f1 6518  df-fo 6519  df-f1o 6520  df-fv 6521  df-riota 7346  df-ov 7392  df-cat 17635  df-cid 17636
This theorem is referenced by:  iscatd2  17648
  Copyright terms: Public domain W3C validator