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

Theorem catidd 17637
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 413 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓))
3 catidd.b . . . . . . . . . . . 12 (𝜑𝐵 = (Base‘𝐶))
43eleq2d 2825 . . . . . . . . . . 11 (𝜑 → (𝑥𝐵𝑥 ∈ (Base‘𝐶)))
53eleq2d 2825 . . . . . . . . . . 11 (𝜑 → (𝑦𝐵𝑦 ∈ (Base‘𝐶)))
6 catidd.h . . . . . . . . . . . . 13 (𝜑𝐻 = (Hom ‘𝐶))
76oveqd 7373 . . . . . . . . . . . 12 (𝜑 → (𝑦𝐻𝑥) = (𝑦(Hom ‘𝐶)𝑥))
87eleq2d 2825 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑦𝐻𝑥) ↔ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)))
94, 5, 83anbi123d 1444 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥))))
10 catidd.o . . . . . . . . . . . . 13 (𝜑· = (comp‘𝐶))
1110oveqd 7373 . . . . . . . . . . . 12 (𝜑 → (⟨𝑦, 𝑥· 𝑥) = (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥))
1211oveqd 7373 . . . . . . . . . . 11 (𝜑 → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
1312eqeq1d 2741 . . . . . . . . . 10 (𝜑 → (( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
142, 9, 133imtr3d 294 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
15143expd 1360 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))))
1615imp41 426 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
1716ralrimiva 3131 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
18 catidd.3 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦))) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓)
1918ex 413 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓))
206oveqd 7373 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
2120eleq2d 2825 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑥𝐻𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
224, 5, 213anbi123d 1444 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))))
2310oveqd 7373 . . . . . . . . . . . 12 (𝜑 → (⟨𝑥, 𝑥· 𝑦) = (⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦))
2423oveqd 7373 . . . . . . . . . . 11 (𝜑 → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
2524eqeq1d 2741 . . . . . . . . . 10 (𝜑 → ((𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
2619, 22, 253imtr3d 294 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
27263expd 1360 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))))
2827imp41 426 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
2928ralrimiva 3131 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
3017, 29jca 516 . . . . 5 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
3130ralrimiva 3131 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
32 catidd.1 . . . . . . . 8 ((𝜑𝑥𝐵) → 1 ∈ (𝑥𝐻𝑥))
3332ex 413 . . . . . . 7 (𝜑 → (𝑥𝐵1 ∈ (𝑥𝐻𝑥)))
346oveqd 7373 . . . . . . . 8 (𝜑 → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
3534eleq2d 2825 . . . . . . 7 (𝜑 → ( 1 ∈ (𝑥𝐻𝑥) ↔ 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3633, 4, 353imtr3d 294 . . . . . 6 (𝜑 → (𝑥 ∈ (Base‘𝐶) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3736imp 407 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥))
38 eqid 2739 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
39 eqid 2739 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
40 eqid 2739 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41 catidd.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
4241adantr 481 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
43 simpr 485 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
4438, 39, 40, 42, 43catideu 17632 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∃!𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))
45 oveq1 7363 . . . . . . . . . 10 (𝑔 = 1 → (𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
4645eqeq1d 2741 . . . . . . . . 9 (𝑔 = 1 → ((𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
4746ralbidv 3162 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
48 oveq2 7364 . . . . . . . . . 10 (𝑔 = 1 → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
4948eqeq1d 2741 . . . . . . . . 9 (𝑔 = 1 → ((𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5049ralbidv 3162 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5147, 50anbi12d 638 . . . . . . 7 (𝑔 = 1 → ((∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5251ralbidv 3162 . . . . . 6 (𝑔 = 1 → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5352riota2 7338 . . . . 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 590 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓) ↔ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 ))
5531, 54mpbid 233 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 )
5655mpteq2dva 5165 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
57 eqid 2739 . . 3 (Id‘𝐶) = (Id‘𝐶)
5838, 39, 40, 41, 57cidfval 17633 . 2 (𝜑 → (Id‘𝐶) = (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))))
593mpteq1d 5162 . 2 (𝜑 → (𝑥𝐵1 ) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
6056, 58, 593eqtr4d 2784 1 (𝜑 → (Id‘𝐶) = (𝑥𝐵1 ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  w3a 1092   = wceq 1547  wcel 2119  wral 3053  ∃!wreu 3342  cop 4561  cmpt 5153  cfv 6485  crio 7312  (class class class)co 7356  Basecbs 17170  Hom chom 17222  compcco 17223  Catccat 17621  Idccid 17622
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-rep 5199  ax-sep 5218  ax-nul 5228  ax-pr 5362
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-rmo 3344  df-reu 3345  df-rab 3392  df-v 3433  df-sbc 3724  df-csb 3832  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4262  df-if 4455  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-iun 4923  df-br 5073  df-opab 5135  df-mpt 5154  df-id 5513  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-res 5630  df-ima 5631  df-iota 6441  df-fun 6487  df-fn 6488  df-f 6489  df-f1 6490  df-fo 6491  df-f1o 6492  df-fv 6493  df-riota 7313  df-ov 7359  df-cat 17625  df-cid 17626
This theorem is referenced by:  iscatd2  17638
  Copyright terms: Public domain W3C validator