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

Theorem funcoppc 14077
Description: A functor on categories yields a functor on the opposite categories (in the same direction). (Contributed by Mario Carneiro, 4-Jan-2017.)
Hypotheses
Ref Expression
funcoppc.o  |-  O  =  (oppCat `  C )
funcoppc.p  |-  P  =  (oppCat `  D )
funcoppc.f  |-  ( ph  ->  F ( C  Func  D ) G )
Assertion
Ref Expression
funcoppc  |-  ( ph  ->  F ( O  Func  P )tpos  G )

Proof of Theorem funcoppc
Dummy variables  f 
g  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 funcoppc.o . . 3  |-  O  =  (oppCat `  C )
2 eqid 2438 . . 3  |-  ( Base `  C )  =  (
Base `  C )
31, 2oppcbas 13949 . 2  |-  ( Base `  C )  =  (
Base `  O )
4 funcoppc.p . . 3  |-  P  =  (oppCat `  D )
5 eqid 2438 . . 3  |-  ( Base `  D )  =  (
Base `  D )
64, 5oppcbas 13949 . 2  |-  ( Base `  D )  =  (
Base `  P )
7 eqid 2438 . 2  |-  (  Hom  `  O )  =  (  Hom  `  O )
8 eqid 2438 . 2  |-  (  Hom  `  P )  =  (  Hom  `  P )
9 eqid 2438 . 2  |-  ( Id
`  O )  =  ( Id `  O
)
10 eqid 2438 . 2  |-  ( Id
`  P )  =  ( Id `  P
)
11 eqid 2438 . 2  |-  (comp `  O )  =  (comp `  O )
12 eqid 2438 . 2  |-  (comp `  P )  =  (comp `  P )
13 funcoppc.f . . . . . 6  |-  ( ph  ->  F ( C  Func  D ) G )
14 df-br 4216 . . . . . 6  |-  ( F ( C  Func  D
) G  <->  <. F ,  G >.  e.  ( C 
Func  D ) )
1513, 14sylib 190 . . . . 5  |-  ( ph  -> 
<. F ,  G >.  e.  ( C  Func  D
) )
16 funcrcl 14065 . . . . 5  |-  ( <. F ,  G >.  e.  ( C  Func  D
)  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
1715, 16syl 16 . . . 4  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
1817simpld 447 . . 3  |-  ( ph  ->  C  e.  Cat )
191oppccat 13953 . . 3  |-  ( C  e.  Cat  ->  O  e.  Cat )
2018, 19syl 16 . 2  |-  ( ph  ->  O  e.  Cat )
2117simprd 451 . . 3  |-  ( ph  ->  D  e.  Cat )
224oppccat 13953 . . 3  |-  ( D  e.  Cat  ->  P  e.  Cat )
2321, 22syl 16 . 2  |-  ( ph  ->  P  e.  Cat )
242, 5, 13funcf1 14068 . 2  |-  ( ph  ->  F : ( Base `  C ) --> ( Base `  D ) )
252, 13funcfn2 14071 . . 3  |-  ( ph  ->  G  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
26 tposfn 6511 . . 3  |-  ( G  Fn  ( ( Base `  C )  X.  ( Base `  C ) )  -> tpos  G  Fn  (
( Base `  C )  X.  ( Base `  C
) ) )
2725, 26syl 16 . 2  |-  ( ph  -> tpos  G  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
28 eqid 2438 . . . 4  |-  (  Hom  `  C )  =  (  Hom  `  C )
29 eqid 2438 . . . 4  |-  (  Hom  `  D )  =  (  Hom  `  D )
3013adantr 453 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F
( C  Func  D
) G )
31 simprr 735 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
32 simprl 734 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
332, 28, 29, 30, 31, 32funcf2 14070 . . 3  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
y G x ) : ( y (  Hom  `  C )
x ) --> ( ( F `  y ) (  Hom  `  D
) ( F `  x ) ) )
34 ovtpos 6497 . . . . 5  |-  ( xtpos 
G y )  =  ( y G x )
3534feq1i 5588 . . . 4  |-  ( ( xtpos  G y ) : ( x (  Hom  `  O )
y ) --> ( ( F `  x ) (  Hom  `  P
) ( F `  y ) )  <->  ( y G x ) : ( x (  Hom  `  O ) y ) --> ( ( F `  x ) (  Hom  `  P ) ( F `
 y ) ) )
3628, 1oppchom 13946 . . . . 5  |-  ( x (  Hom  `  O
) y )  =  ( y (  Hom  `  C ) x )
3729, 4oppchom 13946 . . . . 5  |-  ( ( F `  x ) (  Hom  `  P
) ( F `  y ) )  =  ( ( F `  y ) (  Hom  `  D ) ( F `
 x ) )
3836, 37feq23i 5590 . . . 4  |-  ( ( y G x ) : ( x (  Hom  `  O )
y ) --> ( ( F `  x ) (  Hom  `  P
) ( F `  y ) )  <->  ( y G x ) : ( y (  Hom  `  C ) x ) --> ( ( F `  y ) (  Hom  `  D ) ( F `
 x ) ) )
3935, 38bitri 242 . . 3  |-  ( ( xtpos  G y ) : ( x (  Hom  `  O )
y ) --> ( ( F `  x ) (  Hom  `  P
) ( F `  y ) )  <->  ( y G x ) : ( y (  Hom  `  C ) x ) --> ( ( F `  y ) (  Hom  `  D ) ( F `
 x ) ) )
4033, 39sylibr 205 . 2  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
xtpos  G y ) : ( x (  Hom  `  O )
y ) --> ( ( F `  x ) (  Hom  `  P
) ( F `  y ) ) )
41 eqid 2438 . . . 4  |-  ( Id
`  C )  =  ( Id `  C
)
42 eqid 2438 . . . 4  |-  ( Id
`  D )  =  ( Id `  D
)
4313adantr 453 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  F ( C  Func  D ) G )
44 simpr 449 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  x  e.  ( Base `  C )
)
452, 41, 42, 43, 44funcid 14072 . . 3  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x G x ) `
 ( ( Id
`  C ) `  x ) )  =  ( ( Id `  D ) `  ( F `  x )
) )
46 ovtpos 6497 . . . . 5  |-  ( xtpos 
G x )  =  ( x G x )
4746a1i 11 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( xtpos  G x )  =  ( x G x ) )
481, 41oppcid 13952 . . . . . . 7  |-  ( C  e.  Cat  ->  ( Id `  O )  =  ( Id `  C
) )
4918, 48syl 16 . . . . . 6  |-  ( ph  ->  ( Id `  O
)  =  ( Id
`  C ) )
5049adantr 453 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( Id `  O )  =  ( Id `  C ) )
5150fveq1d 5733 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  O ) `  x )  =  ( ( Id `  C
) `  x )
)
5247, 51fveq12d 5737 . . 3  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
xtpos  G x ) `
 ( ( Id
`  O ) `  x ) )  =  ( ( x G x ) `  (
( Id `  C
) `  x )
) )
534, 42oppcid 13952 . . . . . 6  |-  ( D  e.  Cat  ->  ( Id `  P )  =  ( Id `  D
) )
5421, 53syl 16 . . . . 5  |-  ( ph  ->  ( Id `  P
)  =  ( Id
`  D ) )
5554adantr 453 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( Id `  P )  =  ( Id `  D ) )
5655fveq1d 5733 . . 3  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  P ) `  ( F `  x ) )  =  ( ( Id `  D ) `
 ( F `  x ) ) )
5745, 52, 563eqtr4d 2480 . 2  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
xtpos  G x ) `
 ( ( Id
`  O ) `  x ) )  =  ( ( Id `  P ) `  ( F `  x )
) )
58 eqid 2438 . . . . 5  |-  (comp `  C )  =  (comp `  C )
59 eqid 2438 . . . . 5  |-  (comp `  D )  =  (comp `  D )
60133ad2ant1 979 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  F ( C  Func  D ) G )
61 simp23 993 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  z  e.  ( Base `  C )
)
62 simp22 992 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  y  e.  ( Base `  C )
)
63 simp21 991 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  x  e.  ( Base `  C )
)
64 simp3r 987 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  g  e.  ( y (  Hom  `  O ) z ) )
6528, 1oppchom 13946 . . . . . 6  |-  ( y (  Hom  `  O
) z )  =  ( z (  Hom  `  C ) y )
6664, 65syl6eleq 2528 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  g  e.  ( z (  Hom  `  C ) y ) )
67 simp3l 986 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  f  e.  ( x (  Hom  `  O ) y ) )
6867, 36syl6eleq 2528 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  f  e.  ( y (  Hom  `  C ) x ) )
692, 28, 58, 59, 60, 61, 62, 63, 66, 68funcco 14073 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( (
z G x ) `
 ( f (
<. z ,  y >.
(comp `  C )
x ) g ) )  =  ( ( ( y G x ) `  f ) ( <. ( F `  z ) ,  ( F `  y )
>. (comp `  D )
( F `  x
) ) ( ( z G y ) `
 g ) ) )
702, 58, 1, 63, 62, 61oppcco 13948 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( g
( <. x ,  y
>. (comp `  O )
z ) f )  =  ( f (
<. z ,  y >.
(comp `  C )
x ) g ) )
7170fveq2d 5735 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( (
z G x ) `
 ( g (
<. x ,  y >.
(comp `  O )
z ) f ) )  =  ( ( z G x ) `
 ( f (
<. z ,  y >.
(comp `  C )
x ) g ) ) )
72243ad2ant1 979 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  F :
( Base `  C ) --> ( Base `  D )
)
7372, 63ffvelrnd 5874 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( F `  x )  e.  (
Base `  D )
)
7472, 62ffvelrnd 5874 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( F `  y )  e.  (
Base `  D )
)
7572, 61ffvelrnd 5874 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( F `  z )  e.  (
Base `  D )
)
765, 59, 4, 73, 74, 75oppcco 13948 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( (
( z G y ) `  g ) ( <. ( F `  x ) ,  ( F `  y )
>. (comp `  P )
( F `  z
) ) ( ( y G x ) `
 f ) )  =  ( ( ( y G x ) `
 f ) (
<. ( F `  z
) ,  ( F `
 y ) >.
(comp `  D )
( F `  x
) ) ( ( z G y ) `
 g ) ) )
7769, 71, 763eqtr4d 2480 . . 3  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( (
z G x ) `
 ( g (
<. x ,  y >.
(comp `  O )
z ) f ) )  =  ( ( ( z G y ) `  g ) ( <. ( F `  x ) ,  ( F `  y )
>. (comp `  P )
( F `  z
) ) ( ( y G x ) `
 f ) ) )
78 ovtpos 6497 . . . 4  |-  ( xtpos 
G z )  =  ( z G x )
7978fveq1i 5732 . . 3  |-  ( ( xtpos  G z ) `
 ( g (
<. x ,  y >.
(comp `  O )
z ) f ) )  =  ( ( z G x ) `
 ( g (
<. x ,  y >.
(comp `  O )
z ) f ) )
80 ovtpos 6497 . . . . 5  |-  ( ytpos 
G z )  =  ( z G y )
8180fveq1i 5732 . . . 4  |-  ( ( ytpos  G z ) `
 g )  =  ( ( z G y ) `  g
)
8234fveq1i 5732 . . . 4  |-  ( ( xtpos  G y ) `
 f )  =  ( ( y G x ) `  f
)
8381, 82oveq12i 6096 . . 3  |-  ( ( ( ytpos  G z ) `  g ) ( <. ( F `  x ) ,  ( F `  y )
>. (comp `  P )
( F `  z
) ) ( ( xtpos  G y ) `
 f ) )  =  ( ( ( z G y ) `
 g ) (
<. ( F `  x
) ,  ( F `
 y ) >.
(comp `  P )
( F `  z
) ) ( ( y G x ) `
 f ) )
8477, 79, 833eqtr4g 2495 . 2  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x (  Hom  `  O ) y )  /\  g  e.  ( y (  Hom  `  O
) z ) ) )  ->  ( (
xtpos  G z ) `
 ( g (
<. x ,  y >.
(comp `  O )
z ) f ) )  =  ( ( ( ytpos  G z ) `  g ) ( <. ( F `  x ) ,  ( F `  y )
>. (comp `  P )
( F `  z
) ) ( ( xtpos  G y ) `
 f ) ) )
853, 6, 7, 8, 9, 10, 11, 12, 20, 23, 24, 27, 40, 57, 84isfuncd 14067 1  |-  ( ph  ->  F ( O  Func  P )tpos  G )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   <.cop 3819   class class class wbr 4215    X. cxp 4879    Fn wfn 5452   -->wf 5453   ` cfv 5457  (class class class)co 6084  tpos ctpos 6481   Basecbs 13474    Hom chom 13545  compcco 13546   Catccat 13894   Idccid 13895  oppCatcoppc 13942    Func cfunc 14056
This theorem is referenced by:  fulloppc  14124  fthoppc  14125  yonedalem1  14374  yonedalem21  14375  yonedalem22  14380
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-rep 4323  ax-sep 4333  ax-nul 4341  ax-pow 4380  ax-pr 4406  ax-un 4704  ax-cnex 9051  ax-resscn 9052  ax-1cn 9053  ax-icn 9054  ax-addcl 9055  ax-addrcl 9056  ax-mulcl 9057  ax-mulrcl 9058  ax-mulcom 9059  ax-addass 9060  ax-mulass 9061  ax-distr 9062  ax-i2m1 9063  ax-1ne0 9064  ax-1rid 9065  ax-rnegex 9066  ax-rrecex 9067  ax-cnre 9068  ax-pre-lttri 9069  ax-pre-lttrn 9070  ax-pre-ltadd 9071  ax-pre-mulgt0 9072
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-iun 4097  df-br 4216  df-opab 4270  df-mpt 4271  df-tr 4306  df-eprel 4497  df-id 4501  df-po 4506  df-so 4507  df-fr 4544  df-we 4546  df-ord 4587  df-on 4588  df-lim 4589  df-suc 4590  df-om 4849  df-xp 4887  df-rel 4888  df-cnv 4889  df-co 4890  df-dm 4891  df-rn 4892  df-res 4893  df-ima 4894  df-iota 5421  df-fun 5459  df-fn 5460  df-f 5461  df-f1 5462  df-fo 5463  df-f1o 5464  df-fv 5465  df-ov 6087  df-oprab 6088  df-mpt2 6089  df-1st 6352  df-2nd 6353  df-tpos 6482  df-riota 6552  df-recs 6636  df-rdg 6671  df-er 6908  df-map 7023  df-ixp 7067  df-en 7113  df-dom 7114  df-sdom 7115  df-pnf 9127  df-mnf 9128  df-xr 9129  df-ltxr 9130  df-le 9131  df-sub 9298  df-neg 9299  df-nn 10006  df-2 10063  df-3 10064  df-4 10065  df-5 10066  df-6 10067  df-7 10068  df-8 10069  df-9 10070  df-10 10071  df-n0 10227  df-z 10288  df-dec 10388  df-ndx 13477  df-slot 13478  df-base 13479  df-sets 13480  df-hom 13558  df-cco 13559  df-cat 13898  df-cid 13899  df-oppc 13943  df-func 14060
  Copyright terms: Public domain W3C validator