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

Theorem termoeu1 15891
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  |-  ( ph  ->  C  e.  Cat )
termoeu1.a  |-  ( ph  ->  A  e.  (TermO `  C ) )
termoeu1.b  |-  ( ph  ->  B  e.  (TermO `  C ) )
Assertion
Ref Expression
termoeu1  |-  ( ph  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) )
Distinct variable groups:    A, f    B, f    C, f    ph, f

Proof of Theorem termoeu1
Dummy variables  a 
g  b are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 termoeu1.b . . 3  |-  ( ph  ->  B  e.  (TermO `  C ) )
2 eqid 2420 . . . 4  |-  ( Base `  C )  =  (
Base `  C )
3 eqid 2420 . . . 4  |-  ( Hom  `  C )  =  ( Hom  `  C )
4 termoeu1.c . . . 4  |-  ( ph  ->  C  e.  Cat )
52, 3, 4istermoi 15877 . . 3  |-  ( (
ph  /\  B  e.  (TermO `  C ) )  ->  ( B  e.  ( Base `  C
)  /\  A. a  e.  ( Base `  C
) E! f  f  e.  ( a ( Hom  `  C ) B ) ) )
61, 5mpdan 672 . 2  |-  ( ph  ->  ( B  e.  (
Base `  C )  /\  A. a  e.  (
Base `  C ) E! f  f  e.  ( a ( Hom  `  C ) B ) ) )
7 termoeu1.a . . . . 5  |-  ( ph  ->  A  e.  (TermO `  C ) )
82, 3, 4istermoi 15877 . . . . 5  |-  ( (
ph  /\  A  e.  (TermO `  C ) )  ->  ( A  e.  ( Base `  C
)  /\  A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A ) ) )
97, 8mpdan 672 . . . 4  |-  ( ph  ->  ( A  e.  (
Base `  C )  /\  A. b  e.  (
Base `  C ) E! g  g  e.  ( b ( Hom  `  C ) A ) ) )
10 oveq1 6304 . . . . . . . . . . 11  |-  ( a  =  A  ->  (
a ( Hom  `  C
) B )  =  ( A ( Hom  `  C ) B ) )
1110eleq2d 2490 . . . . . . . . . 10  |-  ( a  =  A  ->  (
f  e.  ( a ( Hom  `  C
) B )  <->  f  e.  ( A ( Hom  `  C
) B ) ) )
1211eubidv 2284 . . . . . . . . 9  |-  ( a  =  A  ->  ( E! f  f  e.  ( a ( Hom  `  C ) B )  <-> 
E! f  f  e.  ( A ( Hom  `  C ) B ) ) )
1312rspcv 3175 . . . . . . . 8  |-  ( A  e.  ( Base `  C
)  ->  ( A. a  e.  ( Base `  C ) E! f  f  e.  ( a ( Hom  `  C
) B )  ->  E! f  f  e.  ( A ( Hom  `  C
) B ) ) )
14 eqid 2420 . . . . . . . . . . . . . . 15  |-  (  Iso  `  C )  =  (  Iso  `  C )
154adantr 466 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  C  e.  Cat )
16 simprl 762 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  A  e.  ( Base `  C
) )
17 simprr 764 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  B  e.  ( Base `  C
) )
182, 3, 14, 15, 16, 17isohom 15659 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  ( A (  Iso  `  C
) B )  C_  ( A ( Hom  `  C
) B ) )
1918adantr 466 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  /\  ( E! f  f  e.  ( A ( Hom  `  C ) B )  /\  A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A ) ) )  ->  ( A (  Iso  `  C ) B )  C_  ( A ( Hom  `  C
) B ) )
20 euex 2288 . . . . . . . . . . . . . . . 16  |-  ( E! f  f  e.  ( A ( Hom  `  C
) B )  ->  E. f  f  e.  ( A ( Hom  `  C
) B ) )
2120a1i 11 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  ( E! f  f  e.  ( A ( Hom  `  C
) B )  ->  E. f  f  e.  ( A ( Hom  `  C
) B ) ) )
22 oveq1 6304 . . . . . . . . . . . . . . . . . . . . 21  |-  ( b  =  B  ->  (
b ( Hom  `  C
) A )  =  ( B ( Hom  `  C ) A ) )
2322eleq2d 2490 . . . . . . . . . . . . . . . . . . . 20  |-  ( b  =  B  ->  (
g  e.  ( b ( Hom  `  C
) A )  <->  g  e.  ( B ( Hom  `  C
) A ) ) )
2423eubidv 2284 . . . . . . . . . . . . . . . . . . 19  |-  ( b  =  B  ->  ( E! g  g  e.  ( b ( Hom  `  C ) A )  <-> 
E! g  g  e.  ( B ( Hom  `  C ) A ) ) )
2524rspcva 3177 . . . . . . . . . . . . . . . . . 18  |-  ( ( B  e.  ( Base `  C )  /\  A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A ) )  ->  E! g  g  e.  ( B ( Hom  `  C ) A ) )
26 euex 2288 . . . . . . . . . . . . . . . . . 18  |-  ( E! g  g  e.  ( B ( Hom  `  C
) A )  ->  E. g  g  e.  ( B ( Hom  `  C
) A ) )
2725, 26syl 17 . . . . . . . . . . . . . . . . 17  |-  ( ( B  e.  ( Base `  C )  /\  A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A ) )  ->  E. g  g  e.  ( B ( Hom  `  C ) A ) )
2827ex 435 . . . . . . . . . . . . . . . 16  |-  ( B  e.  ( Base `  C
)  ->  ( A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A )  ->  E. g  g  e.  ( B ( Hom  `  C
) A ) ) )
2928ad2antll 733 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  ( A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A )  ->  E. g  g  e.  ( B ( Hom  `  C
) A ) ) )
30 eqid 2420 . . . . . . . . . . . . . . . . . . . . . 22  |-  (Inv `  C )  =  (Inv
`  C )
3115ad2antrr 730 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C ) ) )  /\  g  e.  ( B ( Hom  `  C
) A ) )  /\  f  e.  ( A ( Hom  `  C
) B ) )  ->  C  e.  Cat )
3216ad2antrr 730 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C ) ) )  /\  g  e.  ( B ( Hom  `  C
) A ) )  /\  f  e.  ( A ( Hom  `  C
) B ) )  ->  A  e.  (
Base `  C )
)
3317ad2antrr 730 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C ) ) )  /\  g  e.  ( B ( Hom  `  C
) A ) )  /\  f  e.  ( A ( Hom  `  C
) B ) )  ->  B  e.  (
Base `  C )
)
344, 7, 12termoinv 15890 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  g  e.  ( B ( Hom  `  C
) A )  /\  f  e.  ( A
( Hom  `  C ) B ) )  -> 
f ( A (Inv
`  C ) B ) g )
35343exp 1204 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( g  e.  ( B ( Hom  `  C
) A )  -> 
( f  e.  ( A ( Hom  `  C
) B )  -> 
f ( A (Inv
`  C ) B ) g ) ) )
3635adantr 466 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  (
g  e.  ( B ( Hom  `  C
) A )  -> 
( f  e.  ( A ( Hom  `  C
) B )  -> 
f ( A (Inv
`  C ) B ) g ) ) )
3736imp31 433 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C ) ) )  /\  g  e.  ( B ( Hom  `  C
) A ) )  /\  f  e.  ( A ( Hom  `  C
) B ) )  ->  f ( A (Inv `  C ) B ) g )
382, 30, 31, 32, 33, 14, 37inviso1 15649 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C ) ) )  /\  g  e.  ( B ( Hom  `  C
) A ) )  /\  f  e.  ( A ( Hom  `  C
) B ) )  ->  f  e.  ( A (  Iso  `  C
) B ) )
3938ex 435 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  /\  g  e.  ( B
( Hom  `  C ) A ) )  -> 
( f  e.  ( A ( Hom  `  C
) B )  -> 
f  e.  ( A (  Iso  `  C
) B ) ) )
4039eximdv 1754 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  /\  g  e.  ( B
( Hom  `  C ) A ) )  -> 
( E. f  f  e.  ( A ( Hom  `  C ) B )  ->  E. f 
f  e.  ( A (  Iso  `  C
) B ) ) )
4140expcom 436 . . . . . . . . . . . . . . . . . 18  |-  ( g  e.  ( B ( Hom  `  C ) A )  ->  (
( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  -> 
( E. f  f  e.  ( A ( Hom  `  C ) B )  ->  E. f 
f  e.  ( A (  Iso  `  C
) B ) ) ) )
4241exlimiv 1766 . . . . . . . . . . . . . . . . 17  |-  ( E. g  g  e.  ( B ( Hom  `  C
) A )  -> 
( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C ) ) )  ->  ( E. f 
f  e.  ( A ( Hom  `  C
) B )  ->  E. f  f  e.  ( A (  Iso  `  C
) B ) ) ) )
4342com3l 84 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  ( E. f  f  e.  ( A ( Hom  `  C
) B )  -> 
( E. g  g  e.  ( B ( Hom  `  C ) A )  ->  E. f 
f  e.  ( A (  Iso  `  C
) B ) ) ) )
4443impd 432 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  (
( E. f  f  e.  ( A ( Hom  `  C ) B )  /\  E. g  g  e.  ( B ( Hom  `  C
) A ) )  ->  E. f  f  e.  ( A (  Iso  `  C ) B ) ) )
4521, 29, 44syl2and 485 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( A  e.  ( Base `  C
)  /\  B  e.  ( Base `  C )
) )  ->  (
( E! f  f  e.  ( A ( Hom  `  C ) B )  /\  A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A ) )  ->  E. f  f  e.  ( A (  Iso  `  C ) B ) ) )
4645imp 430 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  /\  ( E! f  f  e.  ( A ( Hom  `  C ) B )  /\  A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A ) ) )  ->  E. f  f  e.  ( A (  Iso  `  C ) B ) )
47 simprl 762 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  /\  ( E! f  f  e.  ( A ( Hom  `  C ) B )  /\  A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A ) ) )  ->  E! f  f  e.  ( A ( Hom  `  C ) B ) )
48 euelss 3757 . . . . . . . . . . . . 13  |-  ( ( ( A (  Iso  `  C ) B ) 
C_  ( A ( Hom  `  C ) B )  /\  E. f  f  e.  ( A (  Iso  `  C
) B )  /\  E! f  f  e.  ( A ( Hom  `  C
) B ) )  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) )
4919, 46, 47, 48syl3anc 1264 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  ( A  e.  ( Base `  C )  /\  B  e.  ( Base `  C
) ) )  /\  ( E! f  f  e.  ( A ( Hom  `  C ) B )  /\  A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A ) ) )  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) )
5049exp42 614 . . . . . . . . . . 11  |-  ( ph  ->  ( A  e.  (
Base `  C )  ->  ( B  e.  (
Base `  C )  ->  ( ( E! f  f  e.  ( A ( Hom  `  C
) B )  /\  A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A ) )  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) ) ) ) )
5150com24 90 . . . . . . . . . 10  |-  ( ph  ->  ( ( E! f  f  e.  ( A ( Hom  `  C
) B )  /\  A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A ) )  ->  ( B  e.  ( Base `  C
)  ->  ( A  e.  ( Base `  C
)  ->  E! f 
f  e.  ( A (  Iso  `  C
) B ) ) ) ) )
5251com14 91 . . . . . . . . 9  |-  ( A  e.  ( Base `  C
)  ->  ( ( E! f  f  e.  ( A ( Hom  `  C
) B )  /\  A. b  e.  ( Base `  C ) E! g  g  e.  ( b ( Hom  `  C
) A ) )  ->  ( B  e.  ( Base `  C
)  ->  ( ph  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) ) ) ) )
5352expd 437 . . . . . . . 8  |-  ( A  e.  ( Base `  C
)  ->  ( E! f  f  e.  ( A ( Hom  `  C
) B )  -> 
( A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A )  ->  ( B  e.  ( Base `  C )  ->  ( ph  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) ) ) ) ) )
5413, 53syld 45 . . . . . . 7  |-  ( A  e.  ( Base `  C
)  ->  ( A. a  e.  ( Base `  C ) E! f  f  e.  ( a ( Hom  `  C
) B )  -> 
( A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A )  ->  ( B  e.  ( Base `  C )  ->  ( ph  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) ) ) ) ) )
5554com12 32 . . . . . 6  |-  ( A. a  e.  ( Base `  C ) E! f  f  e.  ( a ( Hom  `  C
) B )  -> 
( A  e.  (
Base `  C )  ->  ( A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A )  ->  ( B  e.  ( Base `  C )  ->  ( ph  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) ) ) ) ) )
5655com15 96 . . . . 5  |-  ( ph  ->  ( A  e.  (
Base `  C )  ->  ( A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A )  ->  ( B  e.  ( Base `  C )  ->  ( A. a  e.  ( Base `  C ) E! f  f  e.  ( a ( Hom  `  C
) B )  ->  E! f  f  e.  ( A (  Iso  `  C
) B ) ) ) ) ) )
5756impd 432 . . . 4  |-  ( ph  ->  ( ( A  e.  ( Base `  C
)  /\  A. b  e.  ( Base `  C
) E! g  g  e.  ( b ( Hom  `  C ) A ) )  -> 
( B  e.  (
Base `  C )  ->  ( A. a  e.  ( Base `  C
) E! f  f  e.  ( a ( Hom  `  C ) B )  ->  E! f  f  e.  ( A (  Iso  `  C
) B ) ) ) ) )
589, 57mpd 15 . . 3  |-  ( ph  ->  ( B  e.  (
Base `  C )  ->  ( A. a  e.  ( Base `  C
) E! f  f  e.  ( a ( Hom  `  C ) B )  ->  E! f  f  e.  ( A (  Iso  `  C
) B ) ) ) )
5958impd 432 . 2  |-  ( ph  ->  ( ( B  e.  ( Base `  C
)  /\  A. a  e.  ( Base `  C
) E! f  f  e.  ( a ( Hom  `  C ) B ) )  ->  E! f  f  e.  ( A (  Iso  `  C
) B ) ) )
606, 59mpd 15 1  |-  ( ph  ->  E! f  f  e.  ( A (  Iso  `  C ) B ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 370    = wceq 1437   E.wex 1659    e. wcel 1867   E!weu 2263   A.wral 2773    C_ wss 3433   class class class wbr 4417   ` cfv 5593  (class class class)co 6297   Basecbs 15099   Hom chom 15179   Catccat 15548  Invcinv 15628    Iso ciso 15629  TermOctermo 15862
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1838  ax-8 1869  ax-9 1871  ax-10 1886  ax-11 1891  ax-12 1904  ax-13 2052  ax-ext 2398  ax-rep 4530  ax-sep 4540  ax-nul 4548  ax-pow 4595  ax-pr 4653  ax-un 6589
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2267  df-mo 2268  df-clab 2406  df-cleq 2412  df-clel 2415  df-nfc 2570  df-ne 2618  df-ral 2778  df-rex 2779  df-reu 2780  df-rmo 2781  df-rab 2782  df-v 3080  df-sbc 3297  df-csb 3393  df-dif 3436  df-un 3438  df-in 3440  df-ss 3447  df-nul 3759  df-if 3907  df-pw 3978  df-sn 3994  df-pr 3996  df-op 4000  df-uni 4214  df-iun 4295  df-br 4418  df-opab 4477  df-mpt 4478  df-id 4761  df-xp 4852  df-rel 4853  df-cnv 4854  df-co 4855  df-dm 4856  df-rn 4857  df-res 4858  df-ima 4859  df-iota 5557  df-fun 5595  df-fn 5596  df-f 5597  df-f1 5598  df-fo 5599  df-f1o 5600  df-fv 5601  df-riota 6259  df-ov 6300  df-oprab 6301  df-mpt2 6302  df-1st 6799  df-2nd 6800  df-cat 15552  df-cid 15553  df-sect 15630  df-inv 15631  df-iso 15632  df-termo 15865
This theorem is referenced by:  termoeu1w  15892
  Copyright terms: Public domain W3C validator