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

Theorem catidd 16341
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 450 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓))
3 catidd.b . . . . . . . . . . . 12 (𝜑𝐵 = (Base‘𝐶))
43eleq2d 2687 . . . . . . . . . . 11 (𝜑 → (𝑥𝐵𝑥 ∈ (Base‘𝐶)))
53eleq2d 2687 . . . . . . . . . . 11 (𝜑 → (𝑦𝐵𝑦 ∈ (Base‘𝐶)))
6 catidd.h . . . . . . . . . . . . 13 (𝜑𝐻 = (Hom ‘𝐶))
76oveqd 6667 . . . . . . . . . . . 12 (𝜑 → (𝑦𝐻𝑥) = (𝑦(Hom ‘𝐶)𝑥))
87eleq2d 2687 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑦𝐻𝑥) ↔ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)))
94, 5, 83anbi123d 1399 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥))))
10 catidd.o . . . . . . . . . . . . 13 (𝜑· = (comp‘𝐶))
1110oveqd 6667 . . . . . . . . . . . 12 (𝜑 → (⟨𝑦, 𝑥· 𝑥) = (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥))
1211oveqd 6667 . . . . . . . . . . 11 (𝜑 → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
1312eqeq1d 2624 . . . . . . . . . 10 (𝜑 → (( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
142, 9, 133imtr3d 282 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
15143expd 1284 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))))
1615imp41 619 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
1716ralrimiva 2966 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
18 catidd.3 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦))) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓)
1918ex 450 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓))
206oveqd 6667 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
2120eleq2d 2687 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑥𝐻𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
224, 5, 213anbi123d 1399 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))))
2310oveqd 6667 . . . . . . . . . . . 12 (𝜑 → (⟨𝑥, 𝑥· 𝑦) = (⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦))
2423oveqd 6667 . . . . . . . . . . 11 (𝜑 → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
2524eqeq1d 2624 . . . . . . . . . 10 (𝜑 → ((𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
2619, 22, 253imtr3d 282 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
27263expd 1284 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))))
2827imp41 619 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
2928ralrimiva 2966 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
3017, 29jca 554 . . . . 5 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
3130ralrimiva 2966 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
32 catidd.1 . . . . . . . 8 ((𝜑𝑥𝐵) → 1 ∈ (𝑥𝐻𝑥))
3332ex 450 . . . . . . 7 (𝜑 → (𝑥𝐵1 ∈ (𝑥𝐻𝑥)))
346oveqd 6667 . . . . . . . 8 (𝜑 → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
3534eleq2d 2687 . . . . . . 7 (𝜑 → ( 1 ∈ (𝑥𝐻𝑥) ↔ 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3633, 4, 353imtr3d 282 . . . . . 6 (𝜑 → (𝑥 ∈ (Base‘𝐶) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3736imp 445 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥))
38 eqid 2622 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
39 eqid 2622 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
40 eqid 2622 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41 catidd.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
4241adantr 481 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
43 simpr 477 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
4438, 39, 40, 42, 43catideu 16336 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∃!𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))
45 oveq1 6657 . . . . . . . . . 10 (𝑔 = 1 → (𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
4645eqeq1d 2624 . . . . . . . . 9 (𝑔 = 1 → ((𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
4746ralbidv 2986 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
48 oveq2 6658 . . . . . . . . . 10 (𝑔 = 1 → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
4948eqeq1d 2624 . . . . . . . . 9 (𝑔 = 1 → ((𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5049ralbidv 2986 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5147, 50anbi12d 747 . . . . . . 7 (𝑔 = 1 → ((∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5251ralbidv 2986 . . . . . 6 (𝑔 = 1 → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5352riota2 6633 . . . . 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 693 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓) ↔ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 ))
5531, 54mpbid 222 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 )
5655mpteq2dva 4744 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
57 eqid 2622 . . 3 (Id‘𝐶) = (Id‘𝐶)
5838, 39, 40, 41, 57cidfval 16337 . 2 (𝜑 → (Id‘𝐶) = (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))))
593mpteq1d 4738 . 2 (𝜑 → (𝑥𝐵1 ) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
6056, 58, 593eqtr4d 2666 1 (𝜑 → (Id‘𝐶) = (𝑥𝐵1 ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 384  w3a 1037   = wceq 1483  wcel 1990  wral 2912  ∃!wreu 2914  cop 4183  cmpt 4729  cfv 5888  crio 6610  (class class class)co 6650  Basecbs 15857  Hom chom 15952  compcco 15953  Catccat 16325  Idccid 16326
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pr 4906
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-id 5024  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-cat 16329  df-cid 16330
This theorem is referenced by:  iscatd2  16342
  Copyright terms: Public domain W3C validator