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

Theorem cofull 13824
Description: The composition of two full functors is full. (Contributed by Mario Carneiro, 28-Jan-2017.)
Hypotheses
Ref Expression
cofull.f  |-  ( ph  ->  F  e.  ( C Full 
D ) )
cofull.g  |-  ( ph  ->  G  e.  ( D Full 
E ) )
Assertion
Ref Expression
cofull  |-  ( ph  ->  ( G  o.func  F )  e.  ( C Full  E ) )

Proof of Theorem cofull
Dummy variables  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 relfunc 13752 . . 3  |-  Rel  ( C  Func  E )
2 fullfunc 13796 . . . . 5  |-  ( C Full 
D )  C_  ( C  Func  D )
3 cofull.f . . . . 5  |-  ( ph  ->  F  e.  ( C Full 
D ) )
42, 3sseldi 3191 . . . 4  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
5 fullfunc 13796 . . . . 5  |-  ( D Full 
E )  C_  ( D  Func  E )
6 cofull.g . . . . 5  |-  ( ph  ->  G  e.  ( D Full 
E ) )
75, 6sseldi 3191 . . . 4  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
84, 7cofucl 13778 . . 3  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
9 1st2nd 6182 . . 3  |-  ( ( Rel  ( C  Func  E )  /\  ( G  o.func 
F )  e.  ( C  Func  E )
)  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func  F ) ) ,  ( 2nd `  ( G  o.func  F )
) >. )
101, 8, 9sylancr 644 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
11 1st2ndbr 6185 . . . . 5  |-  ( ( Rel  ( C  Func  E )  /\  ( G  o.func 
F )  e.  ( C  Func  E )
)  ->  ( 1st `  ( G  o.func  F )
) ( C  Func  E ) ( 2nd `  ( G  o.func 
F ) ) )
121, 8, 11sylancr 644 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
13 eqid 2296 . . . . . . . 8  |-  ( Base `  D )  =  (
Base `  D )
14 eqid 2296 . . . . . . . 8  |-  (  Hom  `  E )  =  (  Hom  `  E )
15 eqid 2296 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
16 relfull 13798 . . . . . . . . 9  |-  Rel  ( D Full  E )
176adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D Full  E ) )
18 1st2ndbr 6185 . . . . . . . . 9  |-  ( ( Rel  ( D Full  E
)  /\  G  e.  ( D Full  E )
)  ->  ( 1st `  G ) ( D Full 
E ) ( 2nd `  G ) )
1916, 17, 18sylancr 644 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D Full  E ) ( 2nd `  G ) )
20 eqid 2296 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
21 relfunc 13752 . . . . . . . . . . 11  |-  Rel  ( C  Func  D )
224adantr 451 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
23 1st2ndbr 6185 . . . . . . . . . . 11  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2421, 22, 23sylancr 644 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2520, 13, 24funcf1 13756 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
26 simprl 732 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
2725, 26ffvelrnd 5682 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
28 simprr 733 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
2925, 28ffvelrnd 5682 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
3013, 14, 15, 19, 27, 29fullfo 13802 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) ) : ( ( ( 1st `  F
) `  x )
(  Hom  `  D ) ( ( 1st `  F
) `  y )
) -onto-> ( ( ( 1st `  G ) `
 ( ( 1st `  F ) `  x
) ) (  Hom  `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) ) )
31 eqid 2296 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
32 relfull 13798 . . . . . . . . 9  |-  Rel  ( C Full  D )
333adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C Full  D ) )
34 1st2ndbr 6185 . . . . . . . . 9  |-  ( ( Rel  ( C Full  D
)  /\  F  e.  ( C Full  D )
)  ->  ( 1st `  F ) ( C Full 
D ) ( 2nd `  F ) )
3532, 33, 34sylancr 644 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C Full  D ) ( 2nd `  F ) )
3620, 15, 31, 35, 26, 28fullfo 13802 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  F
) y ) : ( x (  Hom  `  C ) y )
-onto-> ( ( ( 1st `  F ) `  x
) (  Hom  `  D
) ( ( 1st `  F ) `  y
) ) )
37 foco 5477 . . . . . . 7  |-  ( ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) ) : ( ( ( 1st `  F
) `  x )
(  Hom  `  D ) ( ( 1st `  F
) `  y )
) -onto-> ( ( ( 1st `  G ) `
 ( ( 1st `  F ) `  x
) ) (  Hom  `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) )  /\  ( x ( 2nd `  F ) y ) : ( x (  Hom  `  C )
y ) -onto-> ( ( ( 1st `  F
) `  x )
(  Hom  `  D ) ( ( 1st `  F
) `  y )
) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) : ( x (  Hom  `  C )
y ) -onto-> ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) (  Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) ) )
3830, 36, 37syl2anc 642 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) : ( x (  Hom  `  C )
y ) -onto-> ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) (  Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) ) )
397adantr 451 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
4020, 22, 39, 26, 28cofu2nd 13775 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  ( G  o.func 
F ) ) y )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )
41 eqidd 2297 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x (  Hom  `  C
) y )  =  ( x (  Hom  `  C ) y ) )
4220, 22, 39, 26cofu1 13774 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  x )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) )
4320, 22, 39, 28cofu1 13774 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
4442, 43oveq12d 5892 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( 1st `  ( G  o.func 
F ) ) `  x ) (  Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  =  ( ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) (  Hom  `  E
) ( ( 1st `  G ) `  (
( 1st `  F
) `  y )
) ) )
4540, 41, 44foeq123d 5484 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( x ( 2nd `  ( G  o.func  F )
) y ) : ( x (  Hom  `  C ) y )
-onto-> ( ( ( 1st `  ( G  o.func  F )
) `  x )
(  Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  <->  ( (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) : ( x (  Hom  `  C )
y ) -onto-> ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) (  Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) ) ) )
4638, 45mpbird 223 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  ( G  o.func 
F ) ) y ) : ( x (  Hom  `  C
) y ) -onto-> ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) (  Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) ) )
4746ralrimivva 2648 . . . 4  |-  ( ph  ->  A. x  e.  (
Base `  C ) A. y  e.  ( Base `  C ) ( x ( 2nd `  ( G  o.func 
F ) ) y ) : ( x (  Hom  `  C
) y ) -onto-> ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) (  Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) ) )
4820, 14, 31isfull2 13801 . . . 4  |-  ( ( 1st `  ( G  o.func 
F ) ) ( C Full  E ) ( 2nd `  ( G  o.func 
F ) )  <->  ( ( 1st `  ( G  o.func  F ) ) ( C  Func  E ) ( 2nd `  ( G  o.func 
F ) )  /\  A. x  e.  ( Base `  C ) A. y  e.  ( Base `  C
) ( x ( 2nd `  ( G  o.func 
F ) ) y ) : ( x (  Hom  `  C
) y ) -onto-> ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) (  Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) ) ) )
4912, 47, 48sylanbrc 645 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C Full  E ) ( 2nd `  ( G  o.func 
F ) ) )
50 df-br 4040 . . 3  |-  ( ( 1st `  ( G  o.func 
F ) ) ( C Full  E ) ( 2nd `  ( G  o.func 
F ) )  <->  <. ( 1st `  ( G  o.func  F )
) ,  ( 2nd `  ( G  o.func  F )
) >.  e.  ( C Full 
E ) )
5149, 50sylib 188 . 2  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  e.  ( C Full  E ) )
5210, 51eqeltrd 2370 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C Full  E ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    = wceq 1632    e. wcel 1696   A.wral 2556   <.cop 3656   class class class wbr 4039    o. ccom 4709   Rel wrel 4710   -onto->wfo 5269   ` cfv 5271  (class class class)co 5874   1stc1st 6136   2ndc2nd 6137   Basecbs 13164    Hom chom 13235    Func cfunc 13744    o.func ccofu 13746   Full cful 13792
This theorem is referenced by:  coffth  13826
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-13 1698  ax-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-rep 4147  ax-sep 4157  ax-nul 4165  ax-pow 4204  ax-pr 4230  ax-un 4528
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-ral 2561  df-rex 2562  df-reu 2563  df-rmo 2564  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-nul 3469  df-if 3579  df-pw 3640  df-sn 3659  df-pr 3660  df-op 3662  df-uni 3844  df-iun 3923  df-br 4040  df-opab 4094  df-mpt 4095  df-id 4325  df-xp 4711  df-rel 4712  df-cnv 4713  df-co 4714  df-dm 4715  df-rn 4716  df-res 4717  df-ima 4718  df-iota 5235  df-fun 5273  df-fn 5274  df-f 5275  df-f1 5276  df-fo 5277  df-f1o 5278  df-fv 5279  df-ov 5877  df-oprab 5878  df-mpt2 5879  df-1st 6138  df-2nd 6139  df-riota 6320  df-map 6790  df-ixp 6834  df-cat 13586  df-cid 13587  df-func 13748  df-cofu 13750  df-full 13794
  Copyright terms: Public domain W3C validator