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

Theorem cofull 14123
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 14051 . . 3  |-  Rel  ( C  Func  E )
2 fullfunc 14095 . . . . 5  |-  ( C Full 
D )  C_  ( C  Func  D )
3 cofull.f . . . . 5  |-  ( ph  ->  F  e.  ( C Full 
D ) )
42, 3sseldi 3338 . . . 4  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
5 fullfunc 14095 . . . . 5  |-  ( D Full 
E )  C_  ( D  Func  E )
6 cofull.g . . . . 5  |-  ( ph  ->  G  e.  ( D Full 
E ) )
75, 6sseldi 3338 . . . 4  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
84, 7cofucl 14077 . . 3  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
9 1st2nd 6385 . . 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 6388 . . . . 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 2435 . . . . . . . 8  |-  ( Base `  D )  =  (
Base `  D )
14 eqid 2435 . . . . . . . 8  |-  (  Hom  `  E )  =  (  Hom  `  E )
15 eqid 2435 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
16 relfull 14097 . . . . . . . . 9  |-  Rel  ( D Full  E )
176adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D Full  E ) )
18 1st2ndbr 6388 . . . . . . . . 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 2435 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
21 relfunc 14051 . . . . . . . . . . 11  |-  Rel  ( C  Func  D )
224adantr 452 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
23 1st2ndbr 6388 . . . . . . . . . . 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 14055 . . . . . . . . 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 5863 . . . . . . . 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 5863 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
3013, 14, 15, 19, 27, 29fullfo 14101 . . . . . . 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 2435 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
32 relfull 14097 . . . . . . . . 9  |-  Rel  ( C Full  D )
333adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C Full  D ) )
34 1st2ndbr 6388 . . . . . . . . 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 14101 . . . . . . 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 5655 . . . . . . 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 14074 . . . . . . 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 2436 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x (  Hom  `  C
) y )  =  ( x (  Hom  `  C ) y ) )
4220, 22, 39, 26cofu1 14073 . . . . . . . 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 14073 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
4442, 43oveq12d 6091 . . . . . . 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 5662 . . . . . 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 2790 . . . 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 14100 . . . 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 4205 . . 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 2509 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C Full  E ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1652    e. wcel 1725   A.wral 2697   <.cop 3809   class class class wbr 4204    o. ccom 4874   Rel wrel 4875   -onto->wfo 5444   ` cfv 5446  (class class class)co 6073   1stc1st 6339   2ndc2nd 6340   Basecbs 13461    Hom chom 13532    Func cfunc 14043    o.func ccofu 14045   Full cful 14091
This theorem is referenced by:  coffth  14125
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2416  ax-rep 4312  ax-sep 4322  ax-nul 4330  ax-pow 4369  ax-pr 4395  ax-un 4693
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2284  df-mo 2285  df-clab 2422  df-cleq 2428  df-clel 2431  df-nfc 2560  df-ne 2600  df-ral 2702  df-rex 2703  df-reu 2704  df-rmo 2705  df-rab 2706  df-v 2950  df-sbc 3154  df-csb 3244  df-dif 3315  df-un 3317  df-in 3319  df-ss 3326  df-nul 3621  df-if 3732  df-pw 3793  df-sn 3812  df-pr 3813  df-op 3815  df-uni 4008  df-iun 4087  df-br 4205  df-opab 4259  df-mpt 4260  df-id 4490  df-xp 4876  df-rel 4877  df-cnv 4878  df-co 4879  df-dm 4880  df-rn 4881  df-res 4882  df-ima 4883  df-iota 5410  df-fun 5448  df-fn 5449  df-f 5450  df-f1 5451  df-fo 5452  df-f1o 5453  df-fv 5454  df-ov 6076  df-oprab 6077  df-mpt2 6078  df-1st 6341  df-2nd 6342  df-riota 6541  df-map 7012  df-ixp 7056  df-cat 13885  df-cid 13886  df-func 14047  df-cofu 14049  df-full 14093
  Copyright terms: Public domain W3C validator