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

Theorem cofull 15545
Description: The composition of two full functors is full. Proposition 3.30(d) in [Adamek] p. 35. (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 15473 . . 3  |-  Rel  ( C  Func  E )
2 fullfunc 15517 . . . . 5  |-  ( C Full 
D )  C_  ( C  Func  D )
3 cofull.f . . . . 5  |-  ( ph  ->  F  e.  ( C Full 
D ) )
42, 3sseldi 3439 . . . 4  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
5 fullfunc 15517 . . . . 5  |-  ( D Full 
E )  C_  ( D  Func  E )
6 cofull.g . . . . 5  |-  ( ph  ->  G  e.  ( D Full 
E ) )
75, 6sseldi 3439 . . . 4  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
84, 7cofucl 15499 . . 3  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
9 1st2nd 6829 . . 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 661 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
11 1st2ndbr 6832 . . . . 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 661 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
13 eqid 2402 . . . . . . . 8  |-  ( Base `  D )  =  (
Base `  D )
14 eqid 2402 . . . . . . . 8  |-  ( Hom  `  E )  =  ( Hom  `  E )
15 eqid 2402 . . . . . . . 8  |-  ( Hom  `  D )  =  ( Hom  `  D )
16 relfull 15519 . . . . . . . . 9  |-  Rel  ( D Full  E )
176adantr 463 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D Full  E ) )
18 1st2ndbr 6832 . . . . . . . . 9  |-  ( ( Rel  ( D Full  E
)  /\  G  e.  ( D Full  E )
)  ->  ( 1st `  G ) ( D Full 
E ) ( 2nd `  G ) )
1916, 17, 18sylancr 661 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D Full  E ) ( 2nd `  G ) )
20 eqid 2402 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
21 relfunc 15473 . . . . . . . . . . 11  |-  Rel  ( C  Func  D )
224adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
23 1st2ndbr 6832 . . . . . . . . . . 11  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2421, 22, 23sylancr 661 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2520, 13, 24funcf1 15477 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
26 simprl 756 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
2725, 26ffvelrnd 6009 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
28 simprr 758 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
2925, 28ffvelrnd 6009 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
3013, 14, 15, 19, 27, 29fullfo 15523 . . . . . . 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 2402 . . . . . . . 8  |-  ( Hom  `  C )  =  ( Hom  `  C )
32 relfull 15519 . . . . . . . . 9  |-  Rel  ( C Full  D )
333adantr 463 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C Full  D ) )
34 1st2ndbr 6832 . . . . . . . . 9  |-  ( ( Rel  ( C Full  D
)  /\  F  e.  ( C Full  D )
)  ->  ( 1st `  F ) ( C Full 
D ) ( 2nd `  F ) )
3532, 33, 34sylancr 661 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C Full  D ) ( 2nd `  F ) )
3620, 15, 31, 35, 26, 28fullfo 15523 . . . . . . 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 5787 . . . . . . 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 659 . . . . . 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 463 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
4020, 22, 39, 26, 28cofu2nd 15496 . . . . . . 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 2403 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( Hom  `  C
) y )  =  ( x ( Hom  `  C ) y ) )
4220, 22, 39, 26cofu1 15495 . . . . . . . 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 15495 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
4442, 43oveq12d 6295 . . . . . . 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 5794 . . . . . 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 232 . . . . 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 2824 . . . 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 15522 . . . 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 662 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C Full  E ) ( 2nd `  ( G  o.func 
F ) ) )
50 df-br 4395 . . 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 196 . 2  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  e.  ( C Full  E ) )
5210, 51eqeltrd 2490 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C Full  E ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 367    = wceq 1405    e. wcel 1842   A.wral 2753   <.cop 3977   class class class wbr 4394    o. ccom 4826   Rel wrel 4827   -onto->wfo 5566   ` cfv 5568  (class class class)co 6277   1stc1st 6781   2ndc2nd 6782   Basecbs 14839   Hom chom 14918    Func cfunc 15465    o.func ccofu 15467   Full cful 15513
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1639  ax-4 1652  ax-5 1725  ax-6 1771  ax-7 1814  ax-8 1844  ax-9 1846  ax-10 1861  ax-11 1866  ax-12 1878  ax-13 2026  ax-ext 2380  ax-rep 4506  ax-sep 4516  ax-nul 4524  ax-pow 4571  ax-pr 4629  ax-un 6573
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3an 976  df-tru 1408  df-ex 1634  df-nf 1638  df-sb 1764  df-eu 2242  df-mo 2243  df-clab 2388  df-cleq 2394  df-clel 2397  df-nfc 2552  df-ne 2600  df-ral 2758  df-rex 2759  df-reu 2760  df-rmo 2761  df-rab 2762  df-v 3060  df-sbc 3277  df-csb 3373  df-dif 3416  df-un 3418  df-in 3420  df-ss 3427  df-nul 3738  df-if 3885  df-pw 3956  df-sn 3972  df-pr 3974  df-op 3978  df-uni 4191  df-iun 4272  df-br 4395  df-opab 4453  df-mpt 4454  df-id 4737  df-xp 4828  df-rel 4829  df-cnv 4830  df-co 4831  df-dm 4832  df-rn 4833  df-res 4834  df-ima 4835  df-iota 5532  df-fun 5570  df-fn 5571  df-f 5572  df-f1 5573  df-fo 5574  df-f1o 5575  df-fv 5576  df-riota 6239  df-ov 6280  df-oprab 6281  df-mpt2 6282  df-1st 6783  df-2nd 6784  df-map 7458  df-ixp 7507  df-cat 15280  df-cid 15281  df-func 15469  df-cofu 15471  df-full 15515
This theorem is referenced by:  coffth  15547
  Copyright terms: Public domain W3C validator