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

Theorem cofull 15827
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 15755 . . 3  |-  Rel  ( C  Func  E )
2 fullfunc 15799 . . . . 5  |-  ( C Full 
D )  C_  ( C  Func  D )
3 cofull.f . . . . 5  |-  ( ph  ->  F  e.  ( C Full 
D ) )
42, 3sseldi 3462 . . . 4  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
5 fullfunc 15799 . . . . 5  |-  ( D Full 
E )  C_  ( D  Func  E )
6 cofull.g . . . . 5  |-  ( ph  ->  G  e.  ( D Full 
E ) )
75, 6sseldi 3462 . . . 4  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
84, 7cofucl 15781 . . 3  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
9 1st2nd 6850 . . 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 667 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
11 1st2ndbr 6853 . . . . 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 667 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
13 eqid 2422 . . . . . . . 8  |-  ( Base `  D )  =  (
Base `  D )
14 eqid 2422 . . . . . . . 8  |-  ( Hom  `  E )  =  ( Hom  `  E )
15 eqid 2422 . . . . . . . 8  |-  ( Hom  `  D )  =  ( Hom  `  D )
16 relfull 15801 . . . . . . . . 9  |-  Rel  ( D Full  E )
176adantr 466 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D Full  E ) )
18 1st2ndbr 6853 . . . . . . . . 9  |-  ( ( Rel  ( D Full  E
)  /\  G  e.  ( D Full  E )
)  ->  ( 1st `  G ) ( D Full 
E ) ( 2nd `  G ) )
1916, 17, 18sylancr 667 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D Full  E ) ( 2nd `  G ) )
20 eqid 2422 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
21 relfunc 15755 . . . . . . . . . . 11  |-  Rel  ( C  Func  D )
224adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
23 1st2ndbr 6853 . . . . . . . . . . 11  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2421, 22, 23sylancr 667 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2520, 13, 24funcf1 15759 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
26 simprl 762 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
2725, 26ffvelrnd 6035 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
28 simprr 764 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
2925, 28ffvelrnd 6035 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
3013, 14, 15, 19, 27, 29fullfo 15805 . . . . . . 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 2422 . . . . . . . 8  |-  ( Hom  `  C )  =  ( Hom  `  C )
32 relfull 15801 . . . . . . . . 9  |-  Rel  ( C Full  D )
333adantr 466 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C Full  D ) )
34 1st2ndbr 6853 . . . . . . . . 9  |-  ( ( Rel  ( C Full  D
)  /\  F  e.  ( C Full  D )
)  ->  ( 1st `  F ) ( C Full 
D ) ( 2nd `  F ) )
3532, 33, 34sylancr 667 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C Full  D ) ( 2nd `  F ) )
3620, 15, 31, 35, 26, 28fullfo 15805 . . . . . . 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 5817 . . . . . . 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 665 . . . . . 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 466 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
4020, 22, 39, 26, 28cofu2nd 15778 . . . . . . 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 2423 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( Hom  `  C
) y )  =  ( x ( Hom  `  C ) y ) )
4220, 22, 39, 26cofu1 15777 . . . . . . . 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 15777 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
4442, 43oveq12d 6320 . . . . . . 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 5824 . . . . . 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 235 . . . . 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 2846 . . . 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 15804 . . . 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 668 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C Full  E ) ( 2nd `  ( G  o.func 
F ) ) )
50 df-br 4421 . . 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 199 . 2  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  e.  ( C Full  E ) )
5210, 51eqeltrd 2510 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C Full  E ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 370    = wceq 1437    e. wcel 1868   A.wral 2775   <.cop 4002   class class class wbr 4420    o. ccom 4854   Rel wrel 4855   -onto->wfo 5596   ` cfv 5598  (class class class)co 6302   1stc1st 6802   2ndc2nd 6803   Basecbs 15109   Hom chom 15189    Func cfunc 15747    o.func ccofu 15749   Full cful 15795
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1839  ax-8 1870  ax-9 1872  ax-10 1887  ax-11 1892  ax-12 1905  ax-13 2053  ax-ext 2400  ax-rep 4533  ax-sep 4543  ax-nul 4552  ax-pow 4599  ax-pr 4657  ax-un 6594
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2269  df-mo 2270  df-clab 2408  df-cleq 2414  df-clel 2417  df-nfc 2572  df-ne 2620  df-ral 2780  df-rex 2781  df-reu 2782  df-rmo 2783  df-rab 2784  df-v 3083  df-sbc 3300  df-csb 3396  df-dif 3439  df-un 3441  df-in 3443  df-ss 3450  df-nul 3762  df-if 3910  df-pw 3981  df-sn 3997  df-pr 3999  df-op 4003  df-uni 4217  df-iun 4298  df-br 4421  df-opab 4480  df-mpt 4481  df-id 4765  df-xp 4856  df-rel 4857  df-cnv 4858  df-co 4859  df-dm 4860  df-rn 4861  df-res 4862  df-ima 4863  df-iota 5562  df-fun 5600  df-fn 5601  df-f 5602  df-f1 5603  df-fo 5604  df-f1o 5605  df-fv 5606  df-riota 6264  df-ov 6305  df-oprab 6306  df-mpt2 6307  df-1st 6804  df-2nd 6805  df-map 7479  df-ixp 7528  df-cat 15562  df-cid 15563  df-func 15751  df-cofu 15753  df-full 15797
This theorem is referenced by:  coffth  15829
  Copyright terms: Public domain W3C validator