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

Theorem initoeu1 18100
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 18088 . . 3 ((𝜑𝐴 ∈ (InitO‘𝐶)) → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
61, 5mpdan 700 . 2 (𝜑 → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
7 initoeu1.b . . . . 5 (𝜑𝐵 ∈ (InitO‘𝐶))
82, 3, 4isinitoi 18088 . . . . 5 ((𝜑𝐵 ∈ (InitO‘𝐶)) → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
97, 8mpdan 700 . . . 4 (𝜑 → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
10 oveq2 7421 . . . . . . . . . 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 17865 . . . . . . . . . . . . 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 7421 . . . . . . . . . . . . . . . . . . . 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 18099 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
3534ad4ant134 1193 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
362, 30, 31, 32, 33, 14, 35inviso1 17855 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
3736ex 418 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3837eximdv 1950 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3938expcom 419 . . . . . . . . . . . . . . . . 17 (𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4039exlimiv 1963 . . . . . . . . . . . . . . . 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 4278 . . . . . . . . . . . 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 1570  wex 1812  wcel 2145  ∃!weu 2593  wral 3076  wss 3899   class class class wbr 5103  cfv 6533  (class class class)co 7413  Basecbs 17301  Hom chom 17353  Catccat 17752  Invcinv 17834  Isociso 17835  InitOcinito 18070
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7736
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  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 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7370  df-ov 7416  df-oprab 7417  df-mpo 7418  df-1st 7986  df-2nd 7987  df-cat 17756  df-cid 17757  df-sect 17836  df-inv 17837  df-iso 17838  df-inito 18073
This theorem is used by:  initoeu1w  18101
  Copyright terms: Public domain W3C validator