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

Theorem fuciso 14177
Description: A natural transformation is an isomorphism of functors iff all its components are isomorphisms. (Contributed by Mario Carneiro, 28-Jan-2017.)
Hypotheses
Ref Expression
fuciso.q  |-  Q  =  ( C FuncCat  D )
fuciso.b  |-  B  =  ( Base `  C
)
fuciso.n  |-  N  =  ( C Nat  D )
fuciso.f  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
fuciso.g  |-  ( ph  ->  G  e.  ( C 
Func  D ) )
fuciso.i  |-  I  =  (  Iso  `  Q
)
fuciso.j  |-  J  =  (  Iso  `  D
)
Assertion
Ref Expression
fuciso  |-  ( ph  ->  ( A  e.  ( F I G )  <-> 
( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) ) )
Distinct variable groups:    x, A    x, B    x, C    x, D    x, I    x, F   
x, G    x, J    x, N    ph, x    x, Q

Proof of Theorem fuciso
Dummy variable  y is distinct from all other variables.
StepHypRef Expression
1 fuciso.q . . . . . 6  |-  Q  =  ( C FuncCat  D )
21fucbas 14162 . . . . 5  |-  ( C 
Func  D )  =  (
Base `  Q )
3 fuciso.n . . . . . 6  |-  N  =  ( C Nat  D )
41, 3fuchom 14163 . . . . 5  |-  N  =  (  Hom  `  Q
)
5 fuciso.i . . . . 5  |-  I  =  (  Iso  `  Q
)
6 fuciso.f . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
7 funcrcl 14065 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
86, 7syl 16 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
98simpld 447 . . . . . 6  |-  ( ph  ->  C  e.  Cat )
108simprd 451 . . . . . 6  |-  ( ph  ->  D  e.  Cat )
111, 9, 10fuccat 14172 . . . . 5  |-  ( ph  ->  Q  e.  Cat )
12 fuciso.g . . . . 5  |-  ( ph  ->  G  e.  ( C 
Func  D ) )
132, 4, 5, 11, 6, 12isohom 14002 . . . 4  |-  ( ph  ->  ( F I G )  C_  ( F N G ) )
1413sselda 3350 . . 3  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A  e.  ( F N G ) )
15 eqid 2438 . . . . 5  |-  ( Base `  D )  =  (
Base `  D )
16 eqid 2438 . . . . 5  |-  (Inv `  D )  =  (Inv
`  D )
1710ad2antrr 708 . . . . 5  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  D  e.  Cat )
18 fuciso.b . . . . . . . 8  |-  B  =  ( Base `  C
)
19 relfunc 14064 . . . . . . . . 9  |-  Rel  ( C  Func  D )
20 1st2ndbr 6399 . . . . . . . . 9  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2119, 6, 20sylancr 646 . . . . . . . 8  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
2218, 15, 21funcf1 14068 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) : B --> ( Base `  D ) )
2322adantr 453 . . . . . 6  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( 1st `  F ) : B --> ( Base `  D )
)
2423ffvelrnda 5873 . . . . 5  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
25 1st2ndbr 6399 . . . . . . . . 9  |-  ( ( Rel  ( C  Func  D )  /\  G  e.  ( C  Func  D
) )  ->  ( 1st `  G ) ( C  Func  D )
( 2nd `  G
) )
2619, 12, 25sylancr 646 . . . . . . . 8  |-  ( ph  ->  ( 1st `  G
) ( C  Func  D ) ( 2nd `  G
) )
2718, 15, 26funcf1 14068 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) : B --> ( Base `  D ) )
2827adantr 453 . . . . . 6  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( 1st `  G ) : B --> ( Base `  D )
)
2928ffvelrnda 5873 . . . . 5  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  (
( 1st `  G
) `  x )  e.  ( Base `  D
) )
30 fuciso.j . . . . 5  |-  J  =  (  Iso  `  D
)
31 eqid 2438 . . . . . . . . . . . 12  |-  (Inv `  Q )  =  (Inv
`  Q )
322, 31, 11, 6, 12, 5isoval 13995 . . . . . . . . . . 11  |-  ( ph  ->  ( F I G )  =  dom  ( F (Inv `  Q ) G ) )
3332eleq2d 2505 . . . . . . . . . 10  |-  ( ph  ->  ( A  e.  ( F I G )  <-> 
A  e.  dom  ( F (Inv `  Q ) G ) ) )
342, 31, 11, 6, 12invfun 13994 . . . . . . . . . . 11  |-  ( ph  ->  Fun  ( F (Inv
`  Q ) G ) )
35 funfvbrb 5846 . . . . . . . . . . 11  |-  ( Fun  ( F (Inv `  Q ) G )  ->  ( A  e. 
dom  ( F (Inv
`  Q ) G )  <->  A ( F (Inv
`  Q ) G ) ( ( F (Inv `  Q ) G ) `  A
) ) )
3634, 35syl 16 . . . . . . . . . 10  |-  ( ph  ->  ( A  e.  dom  ( F (Inv `  Q
) G )  <->  A ( F (Inv `  Q ) G ) ( ( F (Inv `  Q
) G ) `  A ) ) )
3733, 36bitrd 246 . . . . . . . . 9  |-  ( ph  ->  ( A  e.  ( F I G )  <-> 
A ( F (Inv
`  Q ) G ) ( ( F (Inv `  Q ) G ) `  A
) ) )
3837biimpa 472 . . . . . . . 8  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A ( F (Inv `  Q ) G ) ( ( F (Inv `  Q
) G ) `  A ) )
391, 18, 3, 6, 12, 31, 16fucinv 14175 . . . . . . . . 9  |-  ( ph  ->  ( A ( F (Inv `  Q ) G ) ( ( F (Inv `  Q
) G ) `  A )  <->  ( A  e.  ( F N G )  /\  ( ( F (Inv `  Q
) G ) `  A )  e.  ( G N F )  /\  A. x  e.  B  ( A `  x ) ( ( ( 1st `  F
) `  x )
(Inv `  D )
( ( 1st `  G
) `  x )
) ( ( ( F (Inv `  Q
) G ) `  A ) `  x
) ) ) )
4039adantr 453 . . . . . . . 8  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( A
( F (Inv `  Q ) G ) ( ( F (Inv
`  Q ) G ) `  A )  <-> 
( A  e.  ( F N G )  /\  ( ( F (Inv `  Q ) G ) `  A
)  e.  ( G N F )  /\  A. x  e.  B  ( A `  x ) ( ( ( 1st `  F ) `  x
) (Inv `  D
) ( ( 1st `  G ) `  x
) ) ( ( ( F (Inv `  Q ) G ) `
 A ) `  x ) ) ) )
4138, 40mpbid 203 . . . . . . 7  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( A  e.  ( F N G )  /\  ( ( F (Inv `  Q
) G ) `  A )  e.  ( G N F )  /\  A. x  e.  B  ( A `  x ) ( ( ( 1st `  F
) `  x )
(Inv `  D )
( ( 1st `  G
) `  x )
) ( ( ( F (Inv `  Q
) G ) `  A ) `  x
) ) )
4241simp3d 972 . . . . . 6  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A. x  e.  B  ( A `  x ) ( ( ( 1st `  F
) `  x )
(Inv `  D )
( ( 1st `  G
) `  x )
) ( ( ( F (Inv `  Q
) G ) `  A ) `  x
) )
4342r19.21bi 2806 . . . . 5  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  ( A `  x )
( ( ( 1st `  F ) `  x
) (Inv `  D
) ( ( 1st `  G ) `  x
) ) ( ( ( F (Inv `  Q ) G ) `
 A ) `  x ) )
4415, 16, 17, 24, 29, 30, 43inviso1 13996 . . . 4  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) )
4544ralrimiva 2791 . . 3  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) )
4614, 45jca 520 . 2  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )
4711adantr 453 . . 3  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  Q  e.  Cat )
486adantr 453 . . 3  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  F  e.  ( C  Func  D )
)
4912adantr 453 . . 3  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  G  e.  ( C  Func  D )
)
50 simprl 734 . . . 4  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  A  e.  ( F N G ) )
51 simprr 735 . . . . . . 7  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `
 x ) J ( ( 1st `  G
) `  x )
) )
52 fveq2 5731 . . . . . . . . 9  |-  ( x  =  y  ->  ( A `  x )  =  ( A `  y ) )
53 fveq2 5731 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( 1st `  F
) `  x )  =  ( ( 1st `  F ) `  y
) )
54 fveq2 5731 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( 1st `  G
) `  x )  =  ( ( 1st `  G ) `  y
) )
5553, 54oveq12d 6102 . . . . . . . . 9  |-  ( x  =  y  ->  (
( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) )  =  ( ( ( 1st `  F
) `  y ) J ( ( 1st `  G ) `  y
) ) )
5652, 55eleq12d 2506 . . . . . . . 8  |-  ( x  =  y  ->  (
( A `  x
)  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) )  <->  ( A `  y )  e.  ( ( ( 1st `  F
) `  y ) J ( ( 1st `  G ) `  y
) ) ) )
5756rspccva 3053 . . . . . . 7  |-  ( ( A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `
 x ) J ( ( 1st `  G
) `  x )
)  /\  y  e.  B )  ->  ( A `  y )  e.  ( ( ( 1st `  F ) `  y
) J ( ( 1st `  G ) `
 y ) ) )
5851, 57sylan 459 . . . . . 6  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  ( A `  y )  e.  ( ( ( 1st `  F ) `  y
) J ( ( 1st `  G ) `
 y ) ) )
5910ad2antrr 708 . . . . . . 7  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  D  e.  Cat )
6022adantr 453 . . . . . . . 8  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  ( 1st `  F
) : B --> ( Base `  D ) )
6160ffvelrnda 5873 . . . . . . 7  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
6227adantr 453 . . . . . . . 8  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  ( 1st `  G
) : B --> ( Base `  D ) )
6362ffvelrnda 5873 . . . . . . 7  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  (
( 1st `  G
) `  y )  e.  ( Base `  D
) )
6415, 16, 59, 61, 63, 30isoval 13995 . . . . . 6  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  (
( ( 1st `  F
) `  y ) J ( ( 1st `  G ) `  y
) )  =  dom  ( ( ( 1st `  F ) `  y
) (Inv `  D
) ( ( 1st `  G ) `  y
) ) )
6558, 64eleqtrd 2514 . . . . 5  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  ( A `  y )  e.  dom  ( ( ( 1st `  F ) `
 y ) (Inv
`  D ) ( ( 1st `  G
) `  y )
) )
6615, 16, 59, 61, 63invfun 13994 . . . . . 6  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  Fun  ( ( ( 1st `  F ) `  y
) (Inv `  D
) ( ( 1st `  G ) `  y
) ) )
67 funfvbrb 5846 . . . . . 6  |-  ( Fun  ( ( ( 1st `  F ) `  y
) (Inv `  D
) ( ( 1st `  G ) `  y
) )  ->  (
( A `  y
)  e.  dom  (
( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
)  <->  ( A `  y ) ( ( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
) ( ( ( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
) `  ( A `  y ) ) ) )
6866, 67syl 16 . . . . 5  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  (
( A `  y
)  e.  dom  (
( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
)  <->  ( A `  y ) ( ( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
) ( ( ( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
) `  ( A `  y ) ) ) )
6965, 68mpbid 203 . . . 4  |-  ( ( ( ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) ) )  /\  y  e.  B )  ->  ( A `  y )
( ( ( 1st `  F ) `  y
) (Inv `  D
) ( ( 1st `  G ) `  y
) ) ( ( ( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
) `  ( A `  y ) ) )
701, 18, 3, 48, 49, 31, 16, 50, 69invfuc 14176 . . 3  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  A ( F (Inv `  Q ) G ) ( y  e.  B  |->  ( ( ( ( 1st `  F
) `  y )
(Inv `  D )
( ( 1st `  G
) `  y )
) `  ( A `  y ) ) ) )
712, 31, 47, 48, 49, 5, 70inviso1 13996 . 2  |-  ( (
ph  /\  ( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) )  ->  A  e.  ( F I G ) )
7246, 71impbida 807 1  |-  ( ph  ->  ( A  e.  ( F I G )  <-> 
( A  e.  ( F N G )  /\  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 178    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   A.wral 2707   class class class wbr 4215    e. cmpt 4269   dom cdm 4881   Rel wrel 4886   Fun wfun 5451   -->wf 5453   ` cfv 5457  (class class class)co 6084   1stc1st 6350   2ndc2nd 6351   Basecbs 13474   Catccat 13894  Invcinv 13976    Iso ciso 13977    Func cfunc 14056   Nat cnat 14143   FuncCat cfuc 14144
This theorem is referenced by:  yonffthlem  14384
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-rep 4323  ax-sep 4333  ax-nul 4341  ax-pow 4380  ax-pr 4406  ax-un 4704  ax-cnex 9051  ax-resscn 9052  ax-1cn 9053  ax-icn 9054  ax-addcl 9055  ax-addrcl 9056  ax-mulcl 9057  ax-mulrcl 9058  ax-mulcom 9059  ax-addass 9060  ax-mulass 9061  ax-distr 9062  ax-i2m1 9063  ax-1ne0 9064  ax-1rid 9065  ax-rnegex 9066  ax-rrecex 9067  ax-cnre 9068  ax-pre-lttri 9069  ax-pre-lttrn 9070  ax-pre-ltadd 9071  ax-pre-mulgt0 9072
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-int 4053  df-iun 4097  df-br 4216  df-opab 4270  df-mpt 4271  df-tr 4306  df-eprel 4497  df-id 4501  df-po 4506  df-so 4507  df-fr 4544  df-we 4546  df-ord 4587  df-on 4588  df-lim 4589  df-suc 4590  df-om 4849  df-xp 4887  df-rel 4888  df-cnv 4889  df-co 4890  df-dm 4891  df-rn 4892  df-res 4893  df-ima 4894  df-iota 5421  df-fun 5459  df-fn 5460  df-f 5461  df-f1 5462  df-fo 5463  df-f1o 5464  df-fv 5465  df-ov 6087  df-oprab 6088  df-mpt2 6089  df-1st 6352  df-2nd 6353  df-riota 6552  df-recs 6636  df-rdg 6671  df-1o 6727  df-oadd 6731  df-er 6908  df-map 7023  df-ixp 7067  df-en 7113  df-dom 7114  df-sdom 7115  df-fin 7116  df-pnf 9127  df-mnf 9128  df-xr 9129  df-ltxr 9130  df-le 9131  df-sub 9298  df-neg 9299  df-nn 10006  df-2 10063  df-3 10064  df-4 10065  df-5 10066  df-6 10067  df-7 10068  df-8 10069  df-9 10070  df-10 10071  df-n0 10227  df-z 10288  df-dec 10388  df-uz 10494  df-fz 11049  df-struct 13476  df-ndx 13477  df-slot 13478  df-base 13479  df-hom 13558  df-cco 13559  df-cat 13898  df-cid 13899  df-sect 13978  df-inv 13979  df-iso 13980  df-func 14060  df-nat 14145  df-fuc 14146
  Copyright terms: Public domain W3C validator