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

Theorem initoeu1 17957
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 2732 . . . 4 (Base‘𝐶) = (Base‘𝐶)
3 eqid 2732 . . . 4 (Hom ‘𝐶) = (Hom ‘𝐶)
4 initoeu1.c . . . 4 (𝜑𝐶 ∈ Cat)
52, 3, 4isinitoi 17945 . . 3 ((𝜑𝐴 ∈ (InitO‘𝐶)) → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
61, 5mpdan 685 . 2 (𝜑 → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
7 initoeu1.b . . . . 5 (𝜑𝐵 ∈ (InitO‘𝐶))
82, 3, 4isinitoi 17945 . . . . 5 ((𝜑𝐵 ∈ (InitO‘𝐶)) → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
97, 8mpdan 685 . . . 4 (𝜑 → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
10 oveq2 7413 . . . . . . . . . 10 (𝑏 = 𝐵 → (𝐴(Hom ‘𝐶)𝑏) = (𝐴(Hom ‘𝐶)𝐵))
1110eleq2d 2819 . . . . . . . . 9 (𝑏 = 𝐵 → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1211eubidv 2580 . . . . . . . 8 (𝑏 = 𝐵 → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1312rspcv 3608 . . . . . . 7 (𝐵 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
14 eqid 2732 . . . . . . . . . . . . . 14 (Iso‘𝐶) = (Iso‘𝐶)
154adantr 481 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
16 simprr 771 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐴 ∈ (Base‘𝐶))
17 simprl 769 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐵 ∈ (Base‘𝐶))
182, 3, 14, 15, 16, 17isohom 17719 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
1918adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
20 euex 2571 . . . . . . . . . . . . . . 15 (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
2120a1i 11 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
22 oveq2 7413 . . . . . . . . . . . . . . . . . . . 20 (𝑎 = 𝐴 → (𝐵(Hom ‘𝐶)𝑎) = (𝐵(Hom ‘𝐶)𝐴))
2322eleq2d 2819 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝐴 → (𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2423eubidv 2580 . . . . . . . . . . . . . . . . . 18 (𝑎 = 𝐴 → (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2524rspcva 3610 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
26 euex 2571 . . . . . . . . . . . . . . . . 17 (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2725, 26syl 17 . . . . . . . . . . . . . . . 16 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2827ex 413 . . . . . . . . . . . . . . 15 (𝐴 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2928ad2antll 727 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
30 eqid 2732 . . . . . . . . . . . . . . . . . . . . 21 (Inv‘𝐶) = (Inv‘𝐶)
3115ad2antrr 724 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐶 ∈ Cat)
3216ad2antrr 724 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐴 ∈ (Base‘𝐶))
3317ad2antrr 724 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐵 ∈ (Base‘𝐶))
344, 1, 72initoinv 17956 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
3534ad4ant134 1174 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
362, 30, 31, 32, 33, 14, 35inviso1 17709 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
3736ex 413 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3837eximdv 1920 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3938expcom 414 . . . . . . . . . . . . . . . . 17 (𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4039exlimiv 1933 . . . . . . . . . . . . . . . 16 (∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4140com3l 89 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → (∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4241impd 411 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4321, 29, 42syl2and 608 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4443imp 407 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
45 simprl 769 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
46 euelss 4320 . . . . . . . . . . . 12 (((𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵) ∧ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4719, 44, 45, 46syl3anc 1371 . . . . . . . . . . 11 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4847exp42 436 . . . . . . . . . 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 416 . . . . . . 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 411 . . . 4 (𝜑 → ((𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))))
559, 54mpd 15 . . 3 (𝜑 → (𝐴 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
5655impd 411 . 2 (𝜑 → ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
576, 56mpd 15 1 (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1541  wex 1781  wcel 2106  ∃!weu 2562  wral 3061  wss 3947   class class class wbr 5147  cfv 6540  (class class class)co 7405  Basecbs 17140  Hom chom 17204  Catccat 17604  Invcinv 17688  Isociso 17689  InitOcinito 17927
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-rep 5284  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7721
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-ral 3062  df-rex 3071  df-rmo 3376  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-op 4634  df-uni 4908  df-iun 4998  df-br 5148  df-opab 5210  df-mpt 5231  df-id 5573  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-iota 6492  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7361  df-ov 7408  df-oprab 7409  df-mpo 7410  df-1st 7971  df-2nd 7972  df-cat 17608  df-cid 17609  df-sect 17690  df-inv 17691  df-iso 17692  df-inito 17930
This theorem is referenced by:  initoeu1w  17958
  Copyright terms: Public domain W3C validator