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

Theorem catidd 17732
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 417 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓))
3 catidd.b . . . . . . . . . . . 12 (𝜑𝐵 = (Base‘𝐶))
43eleq2d 2855 . . . . . . . . . . 11 (𝜑 → (𝑥𝐵𝑥 ∈ (Base‘𝐶)))
53eleq2d 2855 . . . . . . . . . . 11 (𝜑 → (𝑦𝐵𝑦 ∈ (Base‘𝐶)))
6 catidd.h . . . . . . . . . . . . 13 (𝜑𝐻 = (Hom ‘𝐶))
76oveqd 7425 . . . . . . . . . . . 12 (𝜑 → (𝑦𝐻𝑥) = (𝑦(Hom ‘𝐶)𝑥))
87eleq2d 2855 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑦𝐻𝑥) ↔ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)))
94, 5, 83anbi123d 1462 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥))))
10 catidd.o . . . . . . . . . . . . 13 (𝜑· = (comp‘𝐶))
1110oveqd 7425 . . . . . . . . . . . 12 (𝜑 → (⟨𝑦, 𝑥· 𝑥) = (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥))
1211oveqd 7425 . . . . . . . . . . 11 (𝜑 → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
1312eqeq1d 2771 . . . . . . . . . 10 (𝜑 → (( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
142, 9, 133imtr3d 296 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
15143expd 1370 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))))
1615imp41 430 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
1716ralrimiva 3163 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
18 catidd.3 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦))) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓)
1918ex 417 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓))
206oveqd 7425 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
2120eleq2d 2855 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑥𝐻𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
224, 5, 213anbi123d 1462 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))))
2310oveqd 7425 . . . . . . . . . . . 12 (𝜑 → (⟨𝑥, 𝑥· 𝑦) = (⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦))
2423oveqd 7425 . . . . . . . . . . 11 (𝜑 → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
2524eqeq1d 2771 . . . . . . . . . 10 (𝜑 → ((𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
2619, 22, 253imtr3d 296 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
27263expd 1370 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))))
2827imp41 430 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
2928ralrimiva 3163 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
3017, 29jca 520 . . . . 5 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
3130ralrimiva 3163 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
32 catidd.1 . . . . . . . 8 ((𝜑𝑥𝐵) → 1 ∈ (𝑥𝐻𝑥))
3332ex 417 . . . . . . 7 (𝜑 → (𝑥𝐵1 ∈ (𝑥𝐻𝑥)))
346oveqd 7425 . . . . . . . 8 (𝜑 → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
3534eleq2d 2855 . . . . . . 7 (𝜑 → ( 1 ∈ (𝑥𝐻𝑥) ↔ 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3633, 4, 353imtr3d 296 . . . . . 6 (𝜑 → (𝑥 ∈ (Base‘𝐶) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3736imp 411 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥))
38 eqid 2769 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
39 eqid 2769 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
40 eqid 2769 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41 catidd.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
4241adantr 485 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
43 simpr 489 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
4438, 39, 40, 42, 43catideu 17727 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∃!𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))
45 oveq1 7415 . . . . . . . . . 10 (𝑔 = 1 → (𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
4645eqeq1d 2771 . . . . . . . . 9 (𝑔 = 1 → ((𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
4746ralbidv 3194 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
48 oveq2 7416 . . . . . . . . . 10 (𝑔 = 1 → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
4948eqeq1d 2771 . . . . . . . . 9 (𝑔 = 1 → ((𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5049ralbidv 3194 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5147, 50anbi12d 643 . . . . . . 7 (𝑔 = 1 → ((∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5251ralbidv 3194 . . . . . 6 (𝑔 = 1 → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5352riota2 7390 . . . . 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 595 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓) ↔ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 ))
5531, 54mpbid 235 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 )
5655mpteq2dva 5205 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
57 eqid 2769 . . 3 (Id‘𝐶) = (Id‘𝐶)
5838, 39, 40, 41, 57cidfval 17728 . 2 (𝜑 → (Id‘𝐶) = (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))))
593mpteq1d 5202 . 2 (𝜑 → (𝑥𝐵1 ) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
6056, 58, 593eqtr4d 2814 1 (𝜑 → (Id‘𝐶) = (𝑥𝐵1 ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400  w3a 1101   = wceq 1567  wcel 2149  wral 3085  ∃!wreu 3374  cop 4597  cmpt 5193  cfv 6534  crio 7364  (class class class)co 7408  Basecbs 17265  Hom chom 17317  compcco 17318  Catccat 17716  Idccid 17717
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1822  ax-4 1836  ax-5 1937  ax-6 1994  ax-7 2035  ax-8 2151  ax-9 2159  ax-10 2182  ax-11 2198  ax-12 2219  ax-ext 2741  ax-rep 5239  ax-sep 5258  ax-nul 5268  ax-pr 5402
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1103  df-tru 1570  df-fal 1580  df-ex 1807  df-nf 1811  df-sb 2098  df-mo 2573  df-eu 2603  df-clab 2748  df-cleq 2761  df-clel 2844  df-nfc 2918  df-ne 2965  df-ral 3086  df-rex 3096  df-rmo 3376  df-reu 3377  df-rab 3424  df-v 3465  df-sbc 3754  df-csb 3862  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-nul 4295  df-if 4490  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4874  df-iun 4959  df-br 5111  df-opab 5175  df-mpt 5194  df-id 5554  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-iota 6490  df-fun 6536  df-fn 6537  df-f 6538  df-f1 6539  df-fo 6540  df-f1o 6541  df-fv 6542  df-riota 7365  df-ov 7411  df-cat 17720  df-cid 17721
This theorem is referenced by:  iscatd2  17733
  Copyright terms: Public domain W3C validator