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

Theorem initoeu1 18078
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 2740 . . . 4 (Base‘𝐶) = (Base‘𝐶)
3 eqid 2740 . . . 4 (Hom ‘𝐶) = (Hom ‘𝐶)
4 initoeu1.c . . . 4 (𝜑𝐶 ∈ Cat)
52, 3, 4isinitoi 18066 . . 3 ((𝜑𝐴 ∈ (InitO‘𝐶)) → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
61, 5mpdan 686 . 2 (𝜑 → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
7 initoeu1.b . . . . 5 (𝜑𝐵 ∈ (InitO‘𝐶))
82, 3, 4isinitoi 18066 . . . . 5 ((𝜑𝐵 ∈ (InitO‘𝐶)) → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
97, 8mpdan 686 . . . 4 (𝜑 → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
10 oveq2 7456 . . . . . . . . . 10 (𝑏 = 𝐵 → (𝐴(Hom ‘𝐶)𝑏) = (𝐴(Hom ‘𝐶)𝐵))
1110eleq2d 2830 . . . . . . . . 9 (𝑏 = 𝐵 → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1211eubidv 2589 . . . . . . . 8 (𝑏 = 𝐵 → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1312rspcv 3631 . . . . . . 7 (𝐵 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
14 eqid 2740 . . . . . . . . . . . . . 14 (Iso‘𝐶) = (Iso‘𝐶)
154adantr 480 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
16 simprr 772 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐴 ∈ (Base‘𝐶))
17 simprl 770 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐵 ∈ (Base‘𝐶))
182, 3, 14, 15, 16, 17isohom 17837 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
1918adantr 480 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
20 euex 2580 . . . . . . . . . . . . . . 15 (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
2120a1i 11 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
22 oveq2 7456 . . . . . . . . . . . . . . . . . . . 20 (𝑎 = 𝐴 → (𝐵(Hom ‘𝐶)𝑎) = (𝐵(Hom ‘𝐶)𝐴))
2322eleq2d 2830 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝐴 → (𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2423eubidv 2589 . . . . . . . . . . . . . . . . . 18 (𝑎 = 𝐴 → (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2524rspcva 3633 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
26 euex 2580 . . . . . . . . . . . . . . . . 17 (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2725, 26syl 17 . . . . . . . . . . . . . . . 16 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2827ex 412 . . . . . . . . . . . . . . 15 (𝐴 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2928ad2antll 728 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
30 eqid 2740 . . . . . . . . . . . . . . . . . . . . 21 (Inv‘𝐶) = (Inv‘𝐶)
3115ad2antrr 725 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐶 ∈ Cat)
3216ad2antrr 725 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐴 ∈ (Base‘𝐶))
3317ad2antrr 725 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐵 ∈ (Base‘𝐶))
344, 1, 72initoinv 18077 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
3534ad4ant134 1174 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
362, 30, 31, 32, 33, 14, 35inviso1 17827 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
3736ex 412 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3837eximdv 1916 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3938expcom 413 . . . . . . . . . . . . . . . . 17 (𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4039exlimiv 1929 . . . . . . . . . . . . . . . 16 (∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4140com3l 89 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → (∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4241impd 410 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4321, 29, 42syl2and 607 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4443imp 406 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
45 simprl 770 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
46 euelss 4351 . . . . . . . . . . . 12 (((𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵) ∧ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4719, 44, 45, 46syl3anc 1371 . . . . . . . . . . 11 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4847exp42 435 . . . . . . . . . 10 (𝜑 → (𝐵 ∈ (Base‘𝐶) → (𝐴 ∈ (Base‘𝐶) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
4948com24 95 . . . . . . . . 9 (𝜑 → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (𝐵 ∈ (Base‘𝐶) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
5049com14 96 . . . . . . . 8 (𝐵 ∈ (Base‘𝐶) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
5150expd 415 . . . . . . 7 (𝐵 ∈ (Base‘𝐶) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → (𝐴 ∈ (Base‘𝐶) → (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))))
5213, 51syldc 48 . . . . . 6 (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → (𝐵 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → (𝐴 ∈ (Base‘𝐶) → (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))))
5352com15 101 . . . . 5 (𝜑 → (𝐵 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))))
5453impd 410 . . . 4 (𝜑 → ((𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
559, 54mpd 15 . . 3 (𝜑 → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
5655impd 410 . 2 (𝜑 → ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
576, 56mpd 15 1 (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1537  wex 1777  wcel 2108  ∃!weu 2571  wral 3067  wss 3976   class class class wbr 5166  cfv 6573  (class class class)co 7448  Basecbs 17258  Hom chom 17322  Catccat 17722  Invcinv 17806  Isociso 17807  InitOcinito 18048
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-id 5593  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-1st 8030  df-2nd 8031  df-cat 17726  df-cid 17727  df-sect 17808  df-inv 17809  df-iso 17810  df-inito 18051
This theorem is referenced by:  initoeu1w  18079
  Copyright terms: Public domain W3C validator