Metamath Proof Explorer


Theorem termoeu1

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)

Ref Expression
Hypotheses termoeu1.c φ C Cat
termoeu1.a φ A TermO C
termoeu1.b φ B TermO C
Assertion termoeu1 φ ∃! f f A Iso C B

Proof

Step Hyp Ref Expression
1 termoeu1.c φ C Cat
2 termoeu1.a φ A TermO C
3 termoeu1.b φ B TermO C
4 eqid Base C = Base C
5 eqid Hom C = Hom C
6 4 5 1 istermoi φ B TermO C B Base C a Base C ∃! f f a Hom C B
7 3 6 mpdan φ B Base C a Base C ∃! f f a Hom C B
8 4 5 1 istermoi φ A TermO C A Base C b Base C ∃! g g b Hom C A
9 2 8 mpdan φ A Base C b Base C ∃! g g b Hom C A
10 oveq1 a = A a Hom C B = A Hom C B
11 10 eleq2d a = A f a Hom C B f A Hom C B
12 11 eubidv a = A ∃! f f a Hom C B ∃! f f A Hom C B
13 12 rspcv A Base C a Base C ∃! f f a Hom C B ∃! f f A Hom C B
14 eqid Iso C = Iso C
15 1 adantr φ A Base C B Base C C Cat
16 simprl φ A Base C B Base C A Base C
17 simprr φ A Base C B Base C B Base C
18 4 5 14 15 16 17 isohom φ A Base C B Base C A Iso C B A Hom C B
19 18 adantr φ A Base C B Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A A Iso C B A Hom C B
20 euex ∃! f f A Hom C B f f A Hom C B
21 20 a1i φ A Base C B Base C ∃! f f A Hom C B f f A Hom C B
22 oveq1 b = B b Hom C A = B Hom C A
23 22 eleq2d b = B g b Hom C A g B Hom C A
24 23 eubidv b = B ∃! g g b Hom C A ∃! g g B Hom C A
25 24 rspcva B Base C b Base C ∃! g g b Hom C A ∃! g g B Hom C A
26 euex ∃! g g B Hom C A g g B Hom C A
27 25 26 syl B Base C b Base C ∃! g g b Hom C A g g B Hom C A
28 27 ex B Base C b Base C ∃! g g b Hom C A g g B Hom C A
29 28 ad2antll φ A Base C B Base C b Base C ∃! g g b Hom C A g g B Hom C A
30 eqid Inv C = Inv C
31 15 ad2antrr φ A Base C B Base C g B Hom C A f A Hom C B C Cat
32 16 ad2antrr φ A Base C B Base C g B Hom C A f A Hom C B A Base C
33 17 ad2antrr φ A Base C B Base C g B Hom C A f A Hom C B B Base C
34 1 2 3 2termoinv φ g B Hom C A f A Hom C B f A Inv C B g
35 34 ad4ant134 φ A Base C B Base C g B Hom C A f A Hom C B f A Inv C B g
36 4 30 31 32 33 14 35 inviso1 φ A Base C B Base C g B Hom C A f A Hom C B f A Iso C B
37 36 ex φ A Base C B Base C g B Hom C A f A Hom C B f A Iso C B
38 37 eximdv φ A Base C B Base C g B Hom C A f f A Hom C B f f A Iso C B
39 38 expcom g B Hom C A φ A Base C B Base C f f A Hom C B f f A Iso C B
40 39 exlimiv g g B Hom C A φ A Base C B Base C f f A Hom C B f f A Iso C B
41 40 com3l φ A Base C B Base C f f A Hom C B g g B Hom C A f f A Iso C B
42 41 impd φ A Base C B Base C f f A Hom C B g g B Hom C A f f A Iso C B
43 21 29 42 syl2and φ A Base C B Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A f f A Iso C B
44 43 imp φ A Base C B Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A f f A Iso C B
45 simprl φ A Base C B Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A ∃! f f A Hom C B
46 euelss A Iso C B A Hom C B f f A Iso C B ∃! f f A Hom C B ∃! f f A Iso C B
47 19 44 45 46 syl3anc φ A Base C B Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A ∃! f f A Iso C B
48 47 exp42 φ A Base C B Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A ∃! f f A Iso C B
49 48 com24 φ ∃! f f A Hom C B b Base C ∃! g g b Hom C A B Base C A Base C ∃! f f A Iso C B
50 49 com14 A Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A B Base C φ ∃! f f A Iso C B
51 50 expd A Base C ∃! f f A Hom C B b Base C ∃! g g b Hom C A B Base C φ ∃! f f A Iso C B
52 13 51 syldc a Base C ∃! f f a Hom C B A Base C b Base C ∃! g g b Hom C A B Base C φ ∃! f f A Iso C B
53 52 com15 φ A Base C b Base C ∃! g g b Hom C A B Base C a Base C ∃! f f a Hom C B ∃! f f A Iso C B
54 53 impd φ A Base C b Base C ∃! g g b Hom C A B Base C a Base C ∃! f f a Hom C B ∃! f f A Iso C B
55 9 54 mpd φ B Base C a Base C ∃! f f a Hom C B ∃! f f A Iso C B
56 55 impd φ B Base C a Base C ∃! f f a Hom C B ∃! f f A Iso C B
57 7 56 mpd φ ∃! f f A Iso C B