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

Theorem catidd 16164
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 449 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓))
3 catidd.b . . . . . . . . . . . 12 (𝜑𝐵 = (Base‘𝐶))
43eleq2d 2673 . . . . . . . . . . 11 (𝜑 → (𝑥𝐵𝑥 ∈ (Base‘𝐶)))
53eleq2d 2673 . . . . . . . . . . 11 (𝜑 → (𝑦𝐵𝑦 ∈ (Base‘𝐶)))
6 catidd.h . . . . . . . . . . . . 13 (𝜑𝐻 = (Hom ‘𝐶))
76oveqd 6566 . . . . . . . . . . . 12 (𝜑 → (𝑦𝐻𝑥) = (𝑦(Hom ‘𝐶)𝑥))
87eleq2d 2673 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑦𝐻𝑥) ↔ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)))
94, 5, 83anbi123d 1391 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑦𝐻𝑥)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥))))
10 catidd.o . . . . . . . . . . . . 13 (𝜑· = (comp‘𝐶))
1110oveqd 6566 . . . . . . . . . . . 12 (𝜑 → (⟨𝑦, 𝑥· 𝑥) = (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥))
1211oveqd 6566 . . . . . . . . . . 11 (𝜑 → ( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
1312eqeq1d 2612 . . . . . . . . . 10 (𝜑 → (( 1 (⟨𝑦, 𝑥· 𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
142, 9, 133imtr3d 281 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
15143expd 1276 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))))
1615imp41 617 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)) → ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
1716ralrimiva 2949 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓)
18 catidd.3 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦))) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓)
1918ex 449 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓))
206oveqd 6566 . . . . . . . . . . . 12 (𝜑 → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
2120eleq2d 2673 . . . . . . . . . . 11 (𝜑 → (𝑓 ∈ (𝑥𝐻𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
224, 5, 213anbi123d 1391 . . . . . . . . . 10 (𝜑 → ((𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)) ↔ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))))
2310oveqd 6566 . . . . . . . . . . . 12 (𝜑 → (⟨𝑥, 𝑥· 𝑦) = (⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦))
2423oveqd 6566 . . . . . . . . . . 11 (𝜑 → (𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
2524eqeq1d 2612 . . . . . . . . . 10 (𝜑 → ((𝑓(⟨𝑥, 𝑥· 𝑦) 1 ) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
2619, 22, 253imtr3d 281 . . . . . . . . 9 (𝜑 → ((𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
27263expd 1276 . . . . . . . 8 (𝜑 → (𝑥 ∈ (Base‘𝐶) → (𝑦 ∈ (Base‘𝐶) → (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))))
2827imp41 617 . . . . . . 7 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) ∧ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
2928ralrimiva 2949 . . . . . 6 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)
3017, 29jca 553 . . . . 5 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐶)) → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
3130ralrimiva 2949 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
32 catidd.1 . . . . . . . 8 ((𝜑𝑥𝐵) → 1 ∈ (𝑥𝐻𝑥))
3332ex 449 . . . . . . 7 (𝜑 → (𝑥𝐵1 ∈ (𝑥𝐻𝑥)))
346oveqd 6566 . . . . . . . 8 (𝜑 → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
3534eleq2d 2673 . . . . . . 7 (𝜑 → ( 1 ∈ (𝑥𝐻𝑥) ↔ 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3633, 4, 353imtr3d 281 . . . . . 6 (𝜑 → (𝑥 ∈ (Base‘𝐶) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥)))
3736imp 444 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 1 ∈ (𝑥(Hom ‘𝐶)𝑥))
38 eqid 2610 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
39 eqid 2610 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
40 eqid 2610 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41 catidd.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
4241adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
43 simpr 476 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
4438, 39, 40, 42, 43catideu 16159 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ∃!𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))
45 oveq1 6556 . . . . . . . . . 10 (𝑔 = 1 → (𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓))
4645eqeq1d 2612 . . . . . . . . 9 (𝑔 = 1 → ((𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
4746ralbidv 2969 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ↔ ∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓))
48 oveq2 6557 . . . . . . . . . 10 (𝑔 = 1 → (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ))
4948eqeq1d 2612 . . . . . . . . 9 (𝑔 = 1 → ((𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ (𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5049ralbidv 2969 . . . . . . . 8 (𝑔 = 1 → (∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓 ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓))
5147, 50anbi12d 743 . . . . . . 7 (𝑔 = 1 → ((∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ (∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5251ralbidv 2969 . . . . . 6 (𝑔 = 1 → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓) ↔ ∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓)))
5352riota2 6533 . . . . 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 691 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)( 1 (⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦) 1 ) = 𝑓) ↔ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 ))
5531, 54mpbid 221 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓)) = 1 )
5655mpteq2dva 4672 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
57 eqid 2610 . . 3 (Id‘𝐶) = (Id‘𝐶)
5838, 39, 40, 41, 57cidfval 16160 . 2 (𝜑 → (Id‘𝐶) = (𝑥 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑥)∀𝑦 ∈ (Base‘𝐶)(∀𝑓 ∈ (𝑦(Hom ‘𝐶)𝑥)(𝑔(⟨𝑦, 𝑥⟩(comp‘𝐶)𝑥)𝑓) = 𝑓 ∧ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)(𝑓(⟨𝑥, 𝑥⟩(comp‘𝐶)𝑦)𝑔) = 𝑓))))
593mpteq1d 4666 . 2 (𝜑 → (𝑥𝐵1 ) = (𝑥 ∈ (Base‘𝐶) ↦ 1 ))
6056, 58, 593eqtr4d 2654 1 (𝜑 → (Id‘𝐶) = (𝑥𝐵1 ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wcel 1977  wral 2896  ∃!wreu 2898  cop 4131  cmpt 4643  cfv 5804  crio 6510  (class class class)co 6549  Basecbs 15695  Hom chom 15779  compcco 15780  Catccat 16148  Idccid 16149
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pr 4833
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-nul 3875  df-if 4037  df-sn 4126  df-pr 4128  df-op 4132  df-uni 4373  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-id 4953  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-cat 16152  df-cid 16153
This theorem is referenced by:  iscatd2  16165
  Copyright terms: Public domain W3C validator