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

Theorem initoeu1 17100
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 2795 . . . 4 (Base‘𝐶) = (Base‘𝐶)
3 eqid 2795 . . . 4 (Hom ‘𝐶) = (Hom ‘𝐶)
4 initoeu1.c . . . 4 (𝜑𝐶 ∈ Cat)
52, 3, 4isinitoi 17092 . . 3 ((𝜑𝐴 ∈ (InitO‘𝐶)) → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
61, 5mpdan 683 . 2 (𝜑 → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏)))
7 initoeu1.b . . . . 5 (𝜑𝐵 ∈ (InitO‘𝐶))
82, 3, 4isinitoi 17092 . . . . 5 ((𝜑𝐵 ∈ (InitO‘𝐶)) → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
97, 8mpdan 683 . . . 4 (𝜑 → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)))
10 oveq2 7024 . . . . . . . . . 10 (𝑏 = 𝐵 → (𝐴(Hom ‘𝐶)𝑏) = (𝐴(Hom ‘𝐶)𝐵))
1110eleq2d 2868 . . . . . . . . 9 (𝑏 = 𝐵 → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1211eubidv 2632 . . . . . . . 8 (𝑏 = 𝐵 → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) ↔ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1312rspcv 3555 . . . . . . 7 (𝐵 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝑏) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
14 eqid 2795 . . . . . . . . . . . . . 14 (Iso‘𝐶) = (Iso‘𝐶)
154adantr 481 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
16 simprr 769 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐴 ∈ (Base‘𝐶))
17 simprl 767 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → 𝐵 ∈ (Base‘𝐶))
182, 3, 14, 15, 16, 17isohom 16875 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
1918adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
20 euex 2622 . . . . . . . . . . . . . . 15 (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
2120a1i 11 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
22 oveq2 7024 . . . . . . . . . . . . . . . . . . . 20 (𝑎 = 𝐴 → (𝐵(Hom ‘𝐶)𝑎) = (𝐵(Hom ‘𝐶)𝐴))
2322eleq2d 2868 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝐴 → (𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2423eubidv 2632 . . . . . . . . . . . . . . . . . 18 (𝑎 = 𝐴 → (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) ↔ ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2524rspcva 3557 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
26 euex 2622 . . . . . . . . . . . . . . . . 17 (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2725, 26syl 17 . . . . . . . . . . . . . . . 16 ((𝐴 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2827ex 413 . . . . . . . . . . . . . . 15 (𝐴 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2928ad2antll 725 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
30 eqid 2795 . . . . . . . . . . . . . . . . . . . . 21 (Inv‘𝐶) = (Inv‘𝐶)
3115ad2antrr 722 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐶 ∈ Cat)
3216ad2antrr 722 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐴 ∈ (Base‘𝐶))
3317ad2antrr 722 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐵 ∈ (Base‘𝐶))
344, 1, 72initoinv 17099 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
3534ad4ant134 1167 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
362, 30, 31, 32, 33, 14, 35inviso1 16865 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
3736ex 413 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3837eximdv 1895 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3938expcom 414 . . . . . . . . . . . . . . . . 17 (𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4039exlimiv 1908 . . . . . . . . . . . . . . . 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 607 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) → ((∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎)) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
4443imp 407 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
45 simprl 767 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐵 ∈ (Base‘𝐶) ∧ 𝐴 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝑎))) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
46 euelss 4210 . . . . . . . . . . . 12 (((𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵) ∧ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4719, 44, 45, 46syl3anc 1364 . . . . . . . . . . 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 1522  wex 1761  wcel 2081  ∃!weu 2611  wral 3105  wss 3859   class class class wbr 4962  cfv 6225  (class class class)co 7016  Basecbs 16312  Hom chom 16405  Catccat 16764  Invcinv 16844  Isociso 16845  InitOcinito 17077
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1777  ax-4 1791  ax-5 1888  ax-6 1947  ax-7 1992  ax-8 2083  ax-9 2091  ax-10 2112  ax-11 2126  ax-12 2141  ax-13 2344  ax-ext 2769  ax-rep 5081  ax-sep 5094  ax-nul 5101  ax-pow 5157  ax-pr 5221  ax-un 7319
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 843  df-3an 1082  df-tru 1525  df-ex 1762  df-nf 1766  df-sb 2043  df-mo 2576  df-eu 2612  df-clab 2776  df-cleq 2788  df-clel 2863  df-nfc 2935  df-ne 2985  df-ral 3110  df-rex 3111  df-reu 3112  df-rmo 3113  df-rab 3114  df-v 3439  df-sbc 3707  df-csb 3812  df-dif 3862  df-un 3864  df-in 3866  df-ss 3874  df-nul 4212  df-if 4382  df-pw 4455  df-sn 4473  df-pr 4475  df-op 4479  df-uni 4746  df-iun 4827  df-br 4963  df-opab 5025  df-mpt 5042  df-id 5348  df-xp 5449  df-rel 5450  df-cnv 5451  df-co 5452  df-dm 5453  df-rn 5454  df-res 5455  df-ima 5456  df-iota 6189  df-fun 6227  df-fn 6228  df-f 6229  df-f1 6230  df-fo 6231  df-f1o 6232  df-fv 6233  df-riota 6977  df-ov 7019  df-oprab 7020  df-mpo 7021  df-1st 7545  df-2nd 7546  df-cat 16768  df-cid 16769  df-sect 16846  df-inv 16847  df-iso 16848  df-inito 17080
This theorem is referenced by:  initoeu1w  17101
  Copyright terms: Public domain W3C validator