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

Theorem termoeu1 17925
Description: Terminal objects are essentially unique (strong form), i.e. there is a unique isomorphism between two terminal 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, 18-Apr-2020.)
Hypotheses
Ref Expression
termoeu1.c (𝜑𝐶 ∈ Cat)
termoeu1.a (𝜑𝐴 ∈ (TermO‘𝐶))
termoeu1.b (𝜑𝐵 ∈ (TermO‘𝐶))
Assertion
Ref Expression
termoeu1 (𝜑 → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
Distinct variable groups:   𝐴,𝑓   𝐵,𝑓   𝐶,𝑓   𝜑,𝑓

Proof of Theorem termoeu1
Dummy variables 𝑎 𝑔 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 termoeu1.b . . 3 (𝜑𝐵 ∈ (TermO‘𝐶))
2 eqid 2731 . . . 4 (Base‘𝐶) = (Base‘𝐶)
3 eqid 2731 . . . 4 (Hom ‘𝐶) = (Hom ‘𝐶)
4 termoeu1.c . . . 4 (𝜑𝐶 ∈ Cat)
52, 3, 4istermoi 17907 . . 3 ((𝜑𝐵 ∈ (TermO‘𝐶)) → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝑎(Hom ‘𝐶)𝐵)))
61, 5mpdan 687 . 2 (𝜑 → (𝐵 ∈ (Base‘𝐶) ∧ ∀𝑎 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝑎(Hom ‘𝐶)𝐵)))
7 termoeu1.a . . . . 5 (𝜑𝐴 ∈ (TermO‘𝐶))
82, 3, 4istermoi 17907 . . . . 5 ((𝜑𝐴 ∈ (TermO‘𝐶)) → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴)))
97, 8mpdan 687 . . . 4 (𝜑 → (𝐴 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴)))
10 oveq1 7353 . . . . . . . . . 10 (𝑎 = 𝐴 → (𝑎(Hom ‘𝐶)𝐵) = (𝐴(Hom ‘𝐶)𝐵))
1110eleq2d 2817 . . . . . . . . 9 (𝑎 = 𝐴 → (𝑓 ∈ (𝑎(Hom ‘𝐶)𝐵) ↔ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1211eubidv 2581 . . . . . . . 8 (𝑎 = 𝐴 → (∃!𝑓 𝑓 ∈ (𝑎(Hom ‘𝐶)𝐵) ↔ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
1312rspcv 3568 . . . . . . 7 (𝐴 ∈ (Base‘𝐶) → (∀𝑎 ∈ (Base‘𝐶)∃!𝑓 𝑓 ∈ (𝑎(Hom ‘𝐶)𝐵) → ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
14 eqid 2731 . . . . . . . . . . . . . 14 (Iso‘𝐶) = (Iso‘𝐶)
154adantr 480 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
16 simprl 770 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → 𝐴 ∈ (Base‘𝐶))
17 simprr 772 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → 𝐵 ∈ (Base‘𝐶))
182, 3, 14, 15, 16, 17isohom 17683 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
1918adantr 480 . . . . . . . . . . . 12 (((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴))) → (𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵))
20 euex 2572 . . . . . . . . . . . . . . 15 (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵))
2120a1i 11 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → (∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)))
22 oveq1 7353 . . . . . . . . . . . . . . . . . . . 20 (𝑏 = 𝐵 → (𝑏(Hom ‘𝐶)𝐴) = (𝐵(Hom ‘𝐶)𝐴))
2322eleq2d 2817 . . . . . . . . . . . . . . . . . . 19 (𝑏 = 𝐵 → (𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴) ↔ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2423eubidv 2581 . . . . . . . . . . . . . . . . . 18 (𝑏 = 𝐵 → (∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴) ↔ ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2524rspcva 3570 . . . . . . . . . . . . . . . . 17 ((𝐵 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴)) → ∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
26 euex 2572 . . . . . . . . . . . . . . . . 17 (∃!𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2725, 26syl 17 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ (Base‘𝐶) ∧ ∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴)) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴))
2827ex 412 . . . . . . . . . . . . . . 15 (𝐵 ∈ (Base‘𝐶) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
2928ad2antll 729 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → (∀𝑏 ∈ (Base‘𝐶)∃!𝑔 𝑔 ∈ (𝑏(Hom ‘𝐶)𝐴) → ∃𝑔 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)))
30 eqid 2731 . . . . . . . . . . . . . . . . . . . . 21 (Inv‘𝐶) = (Inv‘𝐶)
3115ad2antrr 726 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐶 ∈ Cat)
3216ad2antrr 726 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐴 ∈ (Base‘𝐶))
3317ad2antrr 726 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝐵 ∈ (Base‘𝐶))
344, 7, 12termoinv 17924 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
3534ad4ant134 1175 . . . . . . . . . . . . . . . . . . . . 21 ((((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓(𝐴(Inv‘𝐶)𝐵)𝑔)
362, 30, 31, 32, 33, 14, 35inviso1 17673 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) ∧ 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
3736ex 412 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3837eximdv 1918 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴)) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵)))
3938expcom 413 . . . . . . . . . . . . . . . . 17 (𝑔 ∈ (𝐵(Hom ‘𝐶)𝐴) → ((𝜑 ∧ (𝐴 ∈ (Base‘𝐶) ∧ 𝐵 ∈ (Base‘𝐶))) → (∃𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵) → ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))))
4039exlimiv 1931 . . . . . . . . . . . . . . . 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 608 . . . . . . . . . . . . 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 4279 . . . . . . . . . . . 12 (((𝐴(Iso‘𝐶)𝐵) ⊆ (𝐴(Hom ‘𝐶)𝐵) ∧ ∃𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵) ∧ ∃!𝑓 𝑓 ∈ (𝐴(Hom ‘𝐶)𝐵)) → ∃!𝑓 𝑓 ∈ (𝐴(Iso‘𝐶)𝐵))
4719, 44, 45, 46syl3anc 1373 . . . . . . . . . . 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 1541  wex 1780  wcel 2111  ∃!weu 2563  wral 3047  wss 3897   class class class wbr 5089  cfv 6481  (class class class)co 7346  Basecbs 17120  Hom chom 17172  Catccat 17570  Invcinv 17652  Isociso 17653  TermOctermo 17889
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2113  ax-9 2121  ax-10 2144  ax-11 2160  ax-12 2180  ax-ext 2703  ax-rep 5215  ax-sep 5232  ax-nul 5242  ax-pow 5301  ax-pr 5368  ax-un 7668
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2535  df-eu 2564  df-clab 2710  df-cleq 2723  df-clel 2806  df-nfc 2881  df-ne 2929  df-ral 3048  df-rex 3057  df-rmo 3346  df-reu 3347  df-rab 3396  df-v 3438  df-sbc 3737  df-csb 3846  df-dif 3900  df-un 3902  df-in 3904  df-ss 3914  df-nul 4281  df-if 4473  df-pw 4549  df-sn 4574  df-pr 4576  df-op 4580  df-uni 4857  df-iun 4941  df-br 5090  df-opab 5152  df-mpt 5171  df-id 5509  df-xp 5620  df-rel 5621  df-cnv 5622  df-co 5623  df-dm 5624  df-rn 5625  df-res 5626  df-ima 5627  df-iota 6437  df-fun 6483  df-fn 6484  df-f 6485  df-f1 6486  df-fo 6487  df-f1o 6488  df-fv 6489  df-riota 7303  df-ov 7349  df-oprab 7350  df-mpo 7351  df-1st 7921  df-2nd 7922  df-cat 17574  df-cid 17575  df-sect 17654  df-inv 17655  df-iso 17656  df-termo 17892
This theorem is referenced by:  termoeu1w  17926  termcterm2  49554  termccisoeu  49557
  Copyright terms: Public domain W3C validator