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

Theorem initoeu1 18192
Description: Initial objects are essentially unique (strong form), i.e. there is a unique isomorphism between two initial objects, see statement in [Lang] p. 58 ("... if P, P' are two universal objects [...] then there exists a unique isomorphism between them.". (Proposed by BJ, 14-Apr-2020.) (Contributed by AV, 14-Apr-2020.)
Hypotheses
Ref Expression
initoeu1.c (𝜑 → 𝐶 ∈ Cat)
initoeu1.a (𝜑 → 𝐴 ∈ (InitO‘𝐶))
initoeu1.b (𝜑 → 𝐵 ∈ (InitO‘𝐶))
Assertion
Ref Expression
initoeu1 (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
Distinct variable groups:   𝐴,𝑓   𝐵,𝑓   𝐶,𝑓   𝜑,𝑓

Proof of Theorem initoeu1
Dummy variables 𝑎 𝑔 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 initoeu1.a . . 3 (𝜑 → 𝐴 ∈ (InitO‘𝐶))
2 eqid 2760 . . . 4 (Base‘𝐶) = (Base‘𝐶)
3 eqid 2760 . . . 4 (Hom ‘𝐶) = (Hom ‘𝐶)
4 initoeu1.c . . . 4 (𝜑 → 𝐶 ∈ Cat)
52, 3, 4isinitoi 18180 . . 3 ((𝜑 ∧ 𝐴 ∈ (InitO‘𝐶)) → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
61, 5mpdan 700 . 2 (𝜑 → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
7 initoeu1.b . . . . 5 (𝜑 → 𝐵 ∈ (InitO‘𝐶))
82, 3, 4isinitoi 18180 . . . . 5 ((𝜑 ∧ 𝐵 ∈ (InitO‘𝐶)) → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
97, 8mpdan 700 . . . 4 (𝜑 → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
10 oveq2 7429 . . . . . . . . . 10 (𝑏 = 𝐵 → (𝐴(Hom ‘𝐶)𝑏) = (𝐴(Hom ‘𝐶)𝐵))
1110eleq2d 2846 . . . . . . . . 9 (𝑏 = 𝐵 → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1211eubidv 2611 . . . . . . . 8 (𝑏 = 𝐵 → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1312rspcv 3572 . . . . . . 7 (𝐵 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
14 eqid 2760 . . . . . . . . . . . . . 14 (Iso‘𝐶) = (Iso‘𝐶)
154adantr 486 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
16 simprr 785 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐴 ∈ (Base‘𝐶))
17 simprl 783 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐵 ∈ (Base‘𝐶))
182, 3, 14, 15, 16, 17isohom 17957 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
1918adantr 486 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
20 euex 2602 . . . . . . . . . . . . . . 15 (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
2120a1i 11 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
22 oveq2 7429 . . . . . . . . . . . . . . . . . . . 20 (𝑎 = 𝐴 → (𝐵(Hom ‘𝐶)𝑎) = (𝐵(Hom ‘𝐶)𝐴))
2322eleq2d 2846 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝐴 → (𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2423eubidv 2611 . . . . . . . . . . . . . . . . . 18 (𝑎 = 𝐴 → (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2524rspcva 3574 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
26 euex 2602 . . . . . . . . . . . . . . . . 17 (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2725, 26syl 18 . . . . . . . . . . . . . . . 16 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2827ex 418 . . . . . . . . . . . . . . 15 (𝐴 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2928ad2antll 742 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
30 eqid 2760 . . . . . . . . . . . . . . . . . . . . 21 (Inv‘𝐶) = (Inv‘𝐶)
3115ad2antrr 739 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐶 ∈ Cat)
3216ad2antrr 739 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐴 ∈ (Base‘𝐶))
3317ad2antrr 739 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐵 ∈ (Base‘𝐶))
344, 1, 72initoinv 18191 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
3534ad4ant134 1193 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
362, 30, 31, 32, 33, 14, 35inviso1 17947 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
3736ex 418 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3837eximdv 1949 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3938expcom 419 . . . . . . . . . . . . . . . . 17 (𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4039exlimiv 1962 . . . . . . . . . . . . . . . 16 (∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4140com3l 90 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → (∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4241impd 416 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4321, 29, 42syl2and 620 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4443imp 412 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
45 simprl 783 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
46 euelss 4277 . . . . . . . . . . . 12 (((𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵) ∧ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4719, 44, 45, 46syl3anc 1398 . . . . . . . . . . 11 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4847exp42 441 . . . . . . . . . 10 (𝜑 → (𝐵 ∈ (Base‘𝐶) → (𝐴 ∈ (Base‘𝐶) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
4948com24 96 . . . . . . . . 9 (𝜑 → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (𝐵 ∈ (Base‘𝐶) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
5049com14 97 . . . . . . . 8 (𝐵 ∈ (Base‘𝐶) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
5150expd 421 . . . . . . 7 (𝐵 ∈ (Base‘𝐶) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → (𝐴 ∈ (Base‘𝐶) → (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))))
5213, 51syldc 49 . . . . . 6 (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → (𝐵 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → (𝐴 ∈ (Base‘𝐶) → (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))))
5352com15 102 . . . . 5 (𝜑 → (𝐵 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))))
5453impd 416 . . . 4 (𝜑 → ((𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
559, 54mpd 16 . . 3 (𝜑 → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
5655impd 416 . 2 (𝜑 → ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
576, 56mpd 16 1 (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1569  ∃wex 1811   ∈ wcel 2144  ∃!weu 2593  ∀wral 3076   ⊆ wss 3895   class class class wbr 5102  ‘cfv 6539  (class class class)co 7421  Basecbs 17393  Hom chom 17445  Catccat 17844  Invcinv 17926  Isociso 17927  InitOcinito 18162
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7752
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6541  df-fn 6542  df-f 6543  df-f1 6544  df-fo 6545  df-f1o 6546  df-fv 6547  df-riota 7378  df-ov 7424  df-oprab 7425  df-mpo 7426  df-1st 8002  df-2nd 8003  df-cat 17848  df-cid 17849  df-sect 17928  df-inv 17929  df-iso 17930  df-inito 18165
This theorem is used by:  initoeu1w  18193
  Copyright terms: Public domain W3C validator