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

Theorem fuciso 15191
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 15176 . . . . 5  |-  ( C 
Func  D )  =  (
Base `  Q )
3 fuciso.n . . . . . 6  |-  N  =  ( C Nat  D )
41, 3fuchom 15177 . . . . 5  |-  N  =  ( Hom  `  Q
)
5 fuciso.i . . . . 5  |-  I  =  (  Iso  `  Q
)
6 fuciso.f . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
7 funcrcl 15079 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
86, 7syl 16 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
98simpld 459 . . . . . 6  |-  ( ph  ->  C  e.  Cat )
108simprd 463 . . . . . 6  |-  ( ph  ->  D  e.  Cat )
111, 9, 10fuccat 15186 . . . . 5  |-  ( ph  ->  Q  e.  Cat )
12 fuciso.g . . . . 5  |-  ( ph  ->  G  e.  ( C 
Func  D ) )
132, 4, 5, 11, 6, 12isohom 15016 . . . 4  |-  ( ph  ->  ( F I G )  C_  ( F N G ) )
1413sselda 3497 . . 3  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A  e.  ( F N G ) )
15 eqid 2460 . . . . 5  |-  ( Base `  D )  =  (
Base `  D )
16 eqid 2460 . . . . 5  |-  (Inv `  D )  =  (Inv
`  D )
1710ad2antrr 725 . . . . 5  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  D  e.  Cat )
18 fuciso.b . . . . . . . 8  |-  B  =  ( Base `  C
)
19 relfunc 15078 . . . . . . . . 9  |-  Rel  ( C  Func  D )
20 1st2ndbr 6823 . . . . . . . . 9  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2119, 6, 20sylancr 663 . . . . . . . 8  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
2218, 15, 21funcf1 15082 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) : B --> ( Base `  D ) )
2322adantr 465 . . . . . 6  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( 1st `  F ) : B --> ( Base `  D )
)
2423ffvelrnda 6012 . . . . 5  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
25 1st2ndbr 6823 . . . . . . . . 9  |-  ( ( Rel  ( C  Func  D )  /\  G  e.  ( C  Func  D
) )  ->  ( 1st `  G ) ( C  Func  D )
( 2nd `  G
) )
2619, 12, 25sylancr 663 . . . . . . . 8  |-  ( ph  ->  ( 1st `  G
) ( C  Func  D ) ( 2nd `  G
) )
2718, 15, 26funcf1 15082 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) : B --> ( Base `  D ) )
2827adantr 465 . . . . . 6  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  ( 1st `  G ) : B --> ( Base `  D )
)
2928ffvelrnda 6012 . . . . 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 2460 . . . . . . . . . . . 12  |-  (Inv `  Q )  =  (Inv
`  Q )
322, 31, 11, 6, 12, 5isoval 15009 . . . . . . . . . . 11  |-  ( ph  ->  ( F I G )  =  dom  ( F (Inv `  Q ) G ) )
3332eleq2d 2530 . . . . . . . . . 10  |-  ( ph  ->  ( A  e.  ( F I G )  <-> 
A  e.  dom  ( F (Inv `  Q ) G ) ) )
342, 31, 11, 6, 12invfun 15008 . . . . . . . . . . 11  |-  ( ph  ->  Fun  ( F (Inv
`  Q ) G ) )
35 funfvbrb 5985 . . . . . . . . . . 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 253 . . . . . . . . 9  |-  ( ph  ->  ( A  e.  ( F I G )  <-> 
A ( F (Inv
`  Q ) G ) ( ( F (Inv `  Q ) G ) `  A
) ) )
3837biimpa 484 . . . . . . . 8  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A ( F (Inv `  Q ) G ) ( ( F (Inv `  Q
) G ) `  A ) )
391, 18, 3, 6, 12, 31, 16fucinv 15189 . . . . . . . . 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 465 . . . . . . . 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 210 . . . . . . 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 1005 . . . . . 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 2826 . . . . 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 15010 . . . 4  |-  ( ( ( ph  /\  A  e.  ( F I G ) )  /\  x  e.  B )  ->  ( A `  x )  e.  ( ( ( 1st `  F ) `  x
) J ( ( 1st `  G ) `
 x ) ) )
4544ralrimiva 2871 . . 3  |-  ( (
ph  /\  A  e.  ( F I G ) )  ->  A. x  e.  B  ( A `  x )  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) ) )
4614, 45jca 532 . 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 465 . . 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 465 . . 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 465 . . 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 755 . . . 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 756 . . . . . . 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 5857 . . . . . . . . 9  |-  ( x  =  y  ->  ( A `  x )  =  ( A `  y ) )
53 fveq2 5857 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( 1st `  F
) `  x )  =  ( ( 1st `  F ) `  y
) )
54 fveq2 5857 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( 1st `  G
) `  x )  =  ( ( 1st `  G ) `  y
) )
5553, 54oveq12d 6293 . . . . . . . . 9  |-  ( x  =  y  ->  (
( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) )  =  ( ( ( 1st `  F
) `  y ) J ( ( 1st `  G ) `  y
) ) )
5652, 55eleq12d 2542 . . . . . . . 8  |-  ( x  =  y  ->  (
( A `  x
)  e.  ( ( ( 1st `  F
) `  x ) J ( ( 1st `  G ) `  x
) )  <->  ( A `  y )  e.  ( ( ( 1st `  F
) `  y ) J ( ( 1st `  G ) `  y
) ) ) )
5756rspccva 3206 . . . . . . 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 471 . . . . . 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 725 . . . . . . 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 465 . . . . . . . 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 6012 . . . . . . 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 465 . . . . . . . 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 6012 . . . . . . 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 15009 . . . . . 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 2550 . . . . 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 15008 . . . . . 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 5985 . . . . . 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 210 . . . 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 15190 . . 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 15010 . 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 829 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 setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 968    = wceq 1374    e. wcel 1762   A.wral 2807   class class class wbr 4440    |-> cmpt 4498   dom cdm 4992   Rel wrel 4997   Fun wfun 5573   -->wf 5575   ` cfv 5579  (class class class)co 6275   1stc1st 6772   2ndc2nd 6773   Basecbs 14479   Catccat 14908  Invcinv 14990    Iso ciso 14991    Func cfunc 15070   Nat cnat 15157   FuncCat cfuc 15158
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1714  ax-7 1734  ax-8 1764  ax-9 1766  ax-10 1781  ax-11 1786  ax-12 1798  ax-13 1961  ax-ext 2438  ax-rep 4551  ax-sep 4561  ax-nul 4569  ax-pow 4618  ax-pr 4679  ax-un 6567  ax-cnex 9537  ax-resscn 9538  ax-1cn 9539  ax-icn 9540  ax-addcl 9541  ax-addrcl 9542  ax-mulcl 9543  ax-mulrcl 9544  ax-mulcom 9545  ax-addass 9546  ax-mulass 9547  ax-distr 9548  ax-i2m1 9549  ax-1ne0 9550  ax-1rid 9551  ax-rnegex 9552  ax-rrecex 9553  ax-cnre 9554  ax-pre-lttri 9555  ax-pre-lttrn 9556  ax-pre-ltadd 9557  ax-pre-mulgt0 9558
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 969  df-3an 970  df-tru 1377  df-fal 1380  df-ex 1592  df-nf 1595  df-sb 1707  df-eu 2272  df-mo 2273  df-clab 2446  df-cleq 2452  df-clel 2455  df-nfc 2610  df-ne 2657  df-nel 2658  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3108  df-sbc 3325  df-csb 3429  df-dif 3472  df-un 3474  df-in 3476  df-ss 3483  df-pss 3485  df-nul 3779  df-if 3933  df-pw 4005  df-sn 4021  df-pr 4023  df-tp 4025  df-op 4027  df-uni 4239  df-int 4276  df-iun 4320  df-br 4441  df-opab 4499  df-mpt 4500  df-tr 4534  df-eprel 4784  df-id 4788  df-po 4793  df-so 4794  df-fr 4831  df-we 4833  df-ord 4874  df-on 4875  df-lim 4876  df-suc 4877  df-xp 4998  df-rel 4999  df-cnv 5000  df-co 5001  df-dm 5002  df-rn 5003  df-res 5004  df-ima 5005  df-iota 5542  df-fun 5581  df-fn 5582  df-f 5583  df-f1 5584  df-fo 5585  df-f1o 5586  df-fv 5587  df-riota 6236  df-ov 6278  df-oprab 6279  df-mpt2 6280  df-om 6672  df-1st 6774  df-2nd 6775  df-recs 7032  df-rdg 7066  df-1o 7120  df-oadd 7124  df-er 7301  df-map 7412  df-ixp 7460  df-en 7507  df-dom 7508  df-sdom 7509  df-fin 7510  df-pnf 9619  df-mnf 9620  df-xr 9621  df-ltxr 9622  df-le 9623  df-sub 9796  df-neg 9797  df-nn 10526  df-2 10583  df-3 10584  df-4 10585  df-5 10586  df-6 10587  df-7 10588  df-8 10589  df-9 10590  df-10 10591  df-n0 10785  df-z 10854  df-dec 10966  df-uz 11072  df-fz 11662  df-struct 14481  df-ndx 14482  df-slot 14483  df-base 14484  df-hom 14568  df-cco 14569  df-cat 14912  df-cid 14913  df-sect 14992  df-inv 14993  df-iso 14994  df-func 15074  df-nat 15159  df-fuc 15160
This theorem is referenced by:  yonffthlem  15398
  Copyright terms: Public domain W3C validator