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

Theorem setcinv 14970
Description: An inverse in the category of sets is the converse operation. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
setcmon.c  |-  C  =  ( SetCat `  U )
setcmon.u  |-  ( ph  ->  U  e.  V )
setcmon.x  |-  ( ph  ->  X  e.  U )
setcmon.y  |-  ( ph  ->  Y  e.  U )
setcinv.n  |-  N  =  (Inv `  C )
Assertion
Ref Expression
setcinv  |-  ( ph  ->  ( F ( X N Y ) G  <-> 
( F : X -1-1-onto-> Y  /\  G  =  `' F ) ) )

Proof of Theorem setcinv
StepHypRef Expression
1 eqid 2443 . . 3  |-  ( Base `  C )  =  (
Base `  C )
2 setcinv.n . . 3  |-  N  =  (Inv `  C )
3 setcmon.u . . . 4  |-  ( ph  ->  U  e.  V )
4 setcmon.c . . . . 5  |-  C  =  ( SetCat `  U )
54setccat 14965 . . . 4  |-  ( U  e.  V  ->  C  e.  Cat )
63, 5syl 16 . . 3  |-  ( ph  ->  C  e.  Cat )
7 setcmon.x . . . 4  |-  ( ph  ->  X  e.  U )
84, 3setcbas 14958 . . . 4  |-  ( ph  ->  U  =  ( Base `  C ) )
97, 8eleqtrd 2519 . . 3  |-  ( ph  ->  X  e.  ( Base `  C ) )
10 setcmon.y . . . 4  |-  ( ph  ->  Y  e.  U )
1110, 8eleqtrd 2519 . . 3  |-  ( ph  ->  Y  e.  ( Base `  C ) )
12 eqid 2443 . . 3  |-  (Sect `  C )  =  (Sect `  C )
131, 2, 6, 9, 11, 12isinv 14710 . 2  |-  ( ph  ->  ( F ( X N Y ) G  <-> 
( F ( X (Sect `  C ) Y ) G  /\  G ( Y (Sect `  C ) X ) F ) ) )
144, 3, 7, 10, 12setcsect 14969 . . . . 5  |-  ( ph  ->  ( F ( X (Sect `  C ) Y ) G  <->  ( F : X --> Y  /\  G : Y --> X  /\  ( G  o.  F )  =  (  _I  |`  X ) ) ) )
15 df-3an 967 . . . . 5  |-  ( ( F : X --> Y  /\  G : Y --> X  /\  ( G  o.  F
)  =  (  _I  |`  X ) )  <->  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( G  o.  F )  =  (  _I  |`  X )
) )
1614, 15syl6bb 261 . . . 4  |-  ( ph  ->  ( F ( X (Sect `  C ) Y ) G  <->  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( G  o.  F )  =  (  _I  |`  X )
) ) )
174, 3, 10, 7, 12setcsect 14969 . . . . 5  |-  ( ph  ->  ( G ( Y (Sect `  C ) X ) F  <->  ( G : Y --> X  /\  F : X --> Y  /\  ( F  o.  G )  =  (  _I  |`  Y ) ) ) )
18 3ancoma 972 . . . . . 6  |-  ( ( G : Y --> X  /\  F : X --> Y  /\  ( F  o.  G
)  =  (  _I  |`  Y ) )  <->  ( F : X --> Y  /\  G : Y --> X  /\  ( F  o.  G )  =  (  _I  |`  Y ) ) )
19 df-3an 967 . . . . . 6  |-  ( ( F : X --> Y  /\  G : Y --> X  /\  ( F  o.  G
)  =  (  _I  |`  Y ) )  <->  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) )
2018, 19bitri 249 . . . . 5  |-  ( ( G : Y --> X  /\  F : X --> Y  /\  ( F  o.  G
)  =  (  _I  |`  Y ) )  <->  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) )
2117, 20syl6bb 261 . . . 4  |-  ( ph  ->  ( G ( Y (Sect `  C ) X ) F  <->  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) ) )
2216, 21anbi12d 710 . . 3  |-  ( ph  ->  ( ( F ( X (Sect `  C
) Y ) G  /\  G ( Y (Sect `  C ) X ) F )  <-> 
( ( ( F : X --> Y  /\  G : Y --> X )  /\  ( G  o.  F )  =  (  _I  |`  X )
)  /\  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) ) ) )
23 anandi 824 . . 3  |-  ( ( ( F : X --> Y  /\  G : Y --> X )  /\  (
( G  o.  F
)  =  (  _I  |`  X )  /\  ( F  o.  G )  =  (  _I  |`  Y ) ) )  <->  ( (
( F : X --> Y  /\  G : Y --> X )  /\  ( G  o.  F )  =  (  _I  |`  X ) )  /\  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) ) )
2422, 23syl6bbr 263 . 2  |-  ( ph  ->  ( ( F ( X (Sect `  C
) Y ) G  /\  G ( Y (Sect `  C ) X ) F )  <-> 
( ( F : X
--> Y  /\  G : Y
--> X )  /\  (
( G  o.  F
)  =  (  _I  |`  X )  /\  ( F  o.  G )  =  (  _I  |`  Y ) ) ) ) )
25 fcof1o 6009 . . . . . 6  |-  ( ( ( F : X --> Y  /\  G : Y --> X )  /\  (
( F  o.  G
)  =  (  _I  |`  Y )  /\  ( G  o.  F )  =  (  _I  |`  X ) ) )  ->  ( F : X -1-1-onto-> Y  /\  `' F  =  G ) )
26 eqcom 2445 . . . . . . 7  |-  ( `' F  =  G  <->  G  =  `' F )
2726anbi2i 694 . . . . . 6  |-  ( ( F : X -1-1-onto-> Y  /\  `' F  =  G
)  <->  ( F : X
-1-1-onto-> Y  /\  G  =  `' F ) )
2825, 27sylib 196 . . . . 5  |-  ( ( ( F : X --> Y  /\  G : Y --> X )  /\  (
( F  o.  G
)  =  (  _I  |`  Y )  /\  ( G  o.  F )  =  (  _I  |`  X ) ) )  ->  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )
2928ancom2s 800 . . . 4  |-  ( ( ( F : X --> Y  /\  G : Y --> X )  /\  (
( G  o.  F
)  =  (  _I  |`  X )  /\  ( F  o.  G )  =  (  _I  |`  Y ) ) )  ->  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )
3029adantl 466 . . 3  |-  ( (
ph  /\  ( ( F : X --> Y  /\  G : Y --> X )  /\  ( ( G  o.  F )  =  (  _I  |`  X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) ) )  -> 
( F : X -1-1-onto-> Y  /\  G  =  `' F ) )
31 f1of 5653 . . . . 5  |-  ( F : X -1-1-onto-> Y  ->  F : X
--> Y )
3231ad2antrl 727 . . . 4  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  ->  F : X --> Y )
33 f1ocnv 5665 . . . . . . 7  |-  ( F : X -1-1-onto-> Y  ->  `' F : Y -1-1-onto-> X )
3433ad2antrl 727 . . . . . 6  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  ->  `' F : Y -1-1-onto-> X )
35 f1oeq1 5644 . . . . . . 7  |-  ( G  =  `' F  -> 
( G : Y -1-1-onto-> X  <->  `' F : Y -1-1-onto-> X ) )
3635ad2antll 728 . . . . . 6  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( G : Y -1-1-onto-> X  <->  `' F : Y -1-1-onto-> X ) )
3734, 36mpbird 232 . . . . 5  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  ->  G : Y -1-1-onto-> X )
38 f1of 5653 . . . . 5  |-  ( G : Y -1-1-onto-> X  ->  G : Y
--> X )
3937, 38syl 16 . . . 4  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  ->  G : Y --> X )
40 simprr 756 . . . . . . 7  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  ->  G  =  `' F
)
4140coeq1d 5013 . . . . . 6  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( G  o.  F
)  =  ( `' F  o.  F ) )
42 f1ococnv1 5681 . . . . . . 7  |-  ( F : X -1-1-onto-> Y  ->  ( `' F  o.  F )  =  (  _I  |`  X ) )
4342ad2antrl 727 . . . . . 6  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( `' F  o.  F )  =  (  _I  |`  X )
)
4441, 43eqtrd 2475 . . . . 5  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( G  o.  F
)  =  (  _I  |`  X ) )
4540coeq2d 5014 . . . . . 6  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( F  o.  G
)  =  ( F  o.  `' F ) )
46 f1ococnv2 5679 . . . . . . 7  |-  ( F : X -1-1-onto-> Y  ->  ( F  o.  `' F )  =  (  _I  |`  Y )
)
4746ad2antrl 727 . . . . . 6  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( F  o.  `' F )  =  (  _I  |`  Y )
)
4845, 47eqtrd 2475 . . . . 5  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( F  o.  G
)  =  (  _I  |`  Y ) )
4944, 48jca 532 . . . 4  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( ( G  o.  F )  =  (  _I  |`  X )  /\  ( F  o.  G
)  =  (  _I  |`  Y ) ) )
5032, 39, 49jca31 534 . . 3  |-  ( (
ph  /\  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) )  -> 
( ( F : X
--> Y  /\  G : Y
--> X )  /\  (
( G  o.  F
)  =  (  _I  |`  X )  /\  ( F  o.  G )  =  (  _I  |`  Y ) ) ) )
5130, 50impbida 828 . 2  |-  ( ph  ->  ( ( ( F : X --> Y  /\  G : Y --> X )  /\  ( ( G  o.  F )  =  (  _I  |`  X )  /\  ( F  o.  G )  =  (  _I  |`  Y )
) )  <->  ( F : X -1-1-onto-> Y  /\  G  =  `' F ) ) )
5213, 24, 513bitrd 279 1  |-  ( ph  ->  ( F ( X N Y ) G  <-> 
( F : X -1-1-onto-> Y  /\  G  =  `' F ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 965    = wceq 1369    e. wcel 1756   class class class wbr 4304    _I cid 4643   `'ccnv 4851    |` cres 4854    o. ccom 4856   -->wf 5426   -1-1-onto->wf1o 5429   ` cfv 5430  (class class class)co 6103   Basecbs 14186   Catccat 14614  Sectcsect 14695  Invcinv 14696   SetCatcsetc 14955
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-rep 4415  ax-sep 4425  ax-nul 4433  ax-pow 4482  ax-pr 4543  ax-un 6384  ax-cnex 9350  ax-resscn 9351  ax-1cn 9352  ax-icn 9353  ax-addcl 9354  ax-addrcl 9355  ax-mulcl 9356  ax-mulrcl 9357  ax-mulcom 9358  ax-addass 9359  ax-mulass 9360  ax-distr 9361  ax-i2m1 9362  ax-1ne0 9363  ax-1rid 9364  ax-rnegex 9365  ax-rrecex 9366  ax-cnre 9367  ax-pre-lttri 9368  ax-pre-lttrn 9369  ax-pre-ltadd 9370  ax-pre-mulgt0 9371
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2577  df-ne 2620  df-nel 2621  df-ral 2732  df-rex 2733  df-reu 2734  df-rmo 2735  df-rab 2736  df-v 2986  df-sbc 3199  df-csb 3301  df-dif 3343  df-un 3345  df-in 3347  df-ss 3354  df-pss 3356  df-nul 3650  df-if 3804  df-pw 3874  df-sn 3890  df-pr 3892  df-tp 3894  df-op 3896  df-uni 4104  df-int 4141  df-iun 4185  df-br 4305  df-opab 4363  df-mpt 4364  df-tr 4398  df-eprel 4644  df-id 4648  df-po 4653  df-so 4654  df-fr 4691  df-we 4693  df-ord 4734  df-on 4735  df-lim 4736  df-suc 4737  df-xp 4858  df-rel 4859  df-cnv 4860  df-co 4861  df-dm 4862  df-rn 4863  df-res 4864  df-ima 4865  df-iota 5393  df-fun 5432  df-fn 5433  df-f 5434  df-f1 5435  df-fo 5436  df-f1o 5437  df-fv 5438  df-riota 6064  df-ov 6106  df-oprab 6107  df-mpt2 6108  df-om 6489  df-1st 6589  df-2nd 6590  df-recs 6844  df-rdg 6878  df-1o 6932  df-oadd 6936  df-er 7113  df-map 7228  df-en 7323  df-dom 7324  df-sdom 7325  df-fin 7326  df-pnf 9432  df-mnf 9433  df-xr 9434  df-ltxr 9435  df-le 9436  df-sub 9609  df-neg 9610  df-nn 10335  df-2 10392  df-3 10393  df-4 10394  df-5 10395  df-6 10396  df-7 10397  df-8 10398  df-9 10399  df-10 10400  df-n0 10592  df-z 10659  df-dec 10768  df-uz 10874  df-fz 11450  df-struct 14188  df-ndx 14189  df-slot 14190  df-base 14191  df-hom 14274  df-cco 14275  df-cat 14618  df-cid 14619  df-sect 14698  df-inv 14699  df-setc 14956
This theorem is referenced by:  setciso  14971  yonedainv  15103
  Copyright terms: Public domain W3C validator