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

Theorem cofull 14059
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 13987 . . 3  |-  Rel  ( C  Func  E )
2 fullfunc 14031 . . . . 5  |-  ( C Full 
D )  C_  ( C  Func  D )
3 cofull.f . . . . 5  |-  ( ph  ->  F  e.  ( C Full 
D ) )
42, 3sseldi 3290 . . . 4  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
5 fullfunc 14031 . . . . 5  |-  ( D Full 
E )  C_  ( D  Func  E )
6 cofull.g . . . . 5  |-  ( ph  ->  G  e.  ( D Full 
E ) )
75, 6sseldi 3290 . . . 4  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
84, 7cofucl 14013 . . 3  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
9 1st2nd 6333 . . 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 645 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
11 1st2ndbr 6336 . . . . 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 645 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
13 eqid 2388 . . . . . . . 8  |-  ( Base `  D )  =  (
Base `  D )
14 eqid 2388 . . . . . . . 8  |-  (  Hom  `  E )  =  (  Hom  `  E )
15 eqid 2388 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
16 relfull 14033 . . . . . . . . 9  |-  Rel  ( D Full  E )
176adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D Full  E ) )
18 1st2ndbr 6336 . . . . . . . . 9  |-  ( ( Rel  ( D Full  E
)  /\  G  e.  ( D Full  E )
)  ->  ( 1st `  G ) ( D Full 
E ) ( 2nd `  G ) )
1916, 17, 18sylancr 645 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D Full  E ) ( 2nd `  G ) )
20 eqid 2388 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
21 relfunc 13987 . . . . . . . . . . 11  |-  Rel  ( C  Func  D )
224adantr 452 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
23 1st2ndbr 6336 . . . . . . . . . . 11  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2421, 22, 23sylancr 645 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2520, 13, 24funcf1 13991 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
26 simprl 733 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
2725, 26ffvelrnd 5811 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
28 simprr 734 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
2925, 28ffvelrnd 5811 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
3013, 14, 15, 19, 27, 29fullfo 14037 . . . . . . 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 2388 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
32 relfull 14033 . . . . . . . . 9  |-  Rel  ( C Full  D )
333adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C Full  D ) )
34 1st2ndbr 6336 . . . . . . . . 9  |-  ( ( Rel  ( C Full  D
)  /\  F  e.  ( C Full  D )
)  ->  ( 1st `  F ) ( C Full 
D ) ( 2nd `  F ) )
3532, 33, 34sylancr 645 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C Full  D ) ( 2nd `  F ) )
3620, 15, 31, 35, 26, 28fullfo 14037 . . . . . . 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 5604 . . . . . . 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 643 . . . . . 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 452 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
4020, 22, 39, 26, 28cofu2nd 14010 . . . . . . 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 2389 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x (  Hom  `  C
) y )  =  ( x (  Hom  `  C ) y ) )
4220, 22, 39, 26cofu1 14009 . . . . . . . 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 14009 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
4442, 43oveq12d 6039 . . . . . . 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 5611 . . . . . 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 224 . . . . 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 2742 . . . 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 14036 . . . 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 646 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C Full  E ) ( 2nd `  ( G  o.func 
F ) ) )
50 df-br 4155 . . 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 189 . 2  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  e.  ( C Full  E ) )
5210, 51eqeltrd 2462 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C Full  E ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1649    e. wcel 1717   A.wral 2650   <.cop 3761   class class class wbr 4154    o. ccom 4823   Rel wrel 4824   -onto->wfo 5393   ` cfv 5395  (class class class)co 6021   1stc1st 6287   2ndc2nd 6288   Basecbs 13397    Hom chom 13468    Func cfunc 13979    o.func ccofu 13981   Full cful 14027
This theorem is referenced by:  coffth  14061
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1661  ax-8 1682  ax-13 1719  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2369  ax-rep 4262  ax-sep 4272  ax-nul 4280  ax-pow 4319  ax-pr 4345  ax-un 4642
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2243  df-mo 2244  df-clab 2375  df-cleq 2381  df-clel 2384  df-nfc 2513  df-ne 2553  df-ral 2655  df-rex 2656  df-reu 2657  df-rmo 2658  df-rab 2659  df-v 2902  df-sbc 3106  df-csb 3196  df-dif 3267  df-un 3269  df-in 3271  df-ss 3278  df-nul 3573  df-if 3684  df-pw 3745  df-sn 3764  df-pr 3765  df-op 3767  df-uni 3959  df-iun 4038  df-br 4155  df-opab 4209  df-mpt 4210  df-id 4440  df-xp 4825  df-rel 4826  df-cnv 4827  df-co 4828  df-dm 4829  df-rn 4830  df-res 4831  df-ima 4832  df-iota 5359  df-fun 5397  df-fn 5398  df-f 5399  df-f1 5400  df-fo 5401  df-f1o 5402  df-fv 5403  df-ov 6024  df-oprab 6025  df-mpt2 6026  df-1st 6289  df-2nd 6290  df-riota 6486  df-map 6957  df-ixp 7001  df-cat 13821  df-cid 13822  df-func 13983  df-cofu 13985  df-full 14029
  Copyright terms: Public domain W3C validator