This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A functor on categories yields a functor on the opposite categories (in the same direction), see definition 3.41 of Adamek p. 39. (Contributed by Mario Carneiro, 4-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | funcoppc.o | |- O = ( oppCat ` C ) |
|
| funcoppc.p | |- P = ( oppCat ` D ) |
||
| funcoppc.f | |- ( ph -> F ( C Func D ) G ) |
||
| Assertion | funcoppc | |- ( ph -> F ( O Func P ) tpos G ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | funcoppc.o | |- O = ( oppCat ` C ) |
|
| 2 | funcoppc.p | |- P = ( oppCat ` D ) |
|
| 3 | funcoppc.f | |- ( ph -> F ( C Func D ) G ) |
|
| 4 | eqid | |- ( Base ` C ) = ( Base ` C ) |
|
| 5 | 1 4 | oppcbas | |- ( Base ` C ) = ( Base ` O ) |
| 6 | eqid | |- ( Base ` D ) = ( Base ` D ) |
|
| 7 | 2 6 | oppcbas | |- ( Base ` D ) = ( Base ` P ) |
| 8 | eqid | |- ( Hom ` O ) = ( Hom ` O ) |
|
| 9 | eqid | |- ( Hom ` P ) = ( Hom ` P ) |
|
| 10 | eqid | |- ( Id ` O ) = ( Id ` O ) |
|
| 11 | eqid | |- ( Id ` P ) = ( Id ` P ) |
|
| 12 | eqid | |- ( comp ` O ) = ( comp ` O ) |
|
| 13 | eqid | |- ( comp ` P ) = ( comp ` P ) |
|
| 14 | df-br | |- ( F ( C Func D ) G <-> <. F , G >. e. ( C Func D ) ) |
|
| 15 | 3 14 | sylib | |- ( ph -> <. F , G >. e. ( C Func D ) ) |
| 16 | funcrcl | |- ( <. F , G >. e. ( C Func D ) -> ( C e. Cat /\ D e. Cat ) ) |
|
| 17 | 15 16 | syl | |- ( ph -> ( C e. Cat /\ D e. Cat ) ) |
| 18 | 17 | simpld | |- ( ph -> C e. Cat ) |
| 19 | 1 | oppccat | |- ( C e. Cat -> O e. Cat ) |
| 20 | 18 19 | syl | |- ( ph -> O e. Cat ) |
| 21 | 2 | oppccat | |- ( D e. Cat -> P e. Cat ) |
| 22 | 17 21 | simpl2im | |- ( ph -> P e. Cat ) |
| 23 | 4 6 3 | funcf1 | |- ( ph -> F : ( Base ` C ) --> ( Base ` D ) ) |
| 24 | 4 3 | funcfn2 | |- ( ph -> G Fn ( ( Base ` C ) X. ( Base ` C ) ) ) |
| 25 | tposfn | |- ( G Fn ( ( Base ` C ) X. ( Base ` C ) ) -> tpos G Fn ( ( Base ` C ) X. ( Base ` C ) ) ) |
|
| 26 | 24 25 | syl | |- ( ph -> tpos G Fn ( ( Base ` C ) X. ( Base ` C ) ) ) |
| 27 | eqid | |- ( Hom ` C ) = ( Hom ` C ) |
|
| 28 | eqid | |- ( Hom ` D ) = ( Hom ` D ) |
|
| 29 | 3 | adantr | |- ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> F ( C Func D ) G ) |
| 30 | simprr | |- ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> y e. ( Base ` C ) ) |
|
| 31 | simprl | |- ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> x e. ( Base ` C ) ) |
|
| 32 | 4 27 28 29 30 31 | funcf2 | |- ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> ( y G x ) : ( y ( Hom ` C ) x ) --> ( ( F ` y ) ( Hom ` D ) ( F ` x ) ) ) |
| 33 | ovtpos | |- ( x tpos G y ) = ( y G x ) |
|
| 34 | 33 | feq1i | |- ( ( x tpos 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 ) ) ) |
| 35 | 27 1 | oppchom | |- ( x ( Hom ` O ) y ) = ( y ( Hom ` C ) x ) |
| 36 | 28 2 | oppchom | |- ( ( F ` x ) ( Hom ` P ) ( F ` y ) ) = ( ( F ` y ) ( Hom ` D ) ( F ` x ) ) |
| 37 | 35 36 | feq23i | |- ( ( 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 ) ) ) |
| 38 | 34 37 | bitri | |- ( ( x tpos 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 ) ) ) |
| 39 | 32 38 | sylibr | |- ( ( ph /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> ( x tpos G y ) : ( x ( Hom ` O ) y ) --> ( ( F ` x ) ( Hom ` P ) ( F ` y ) ) ) |
| 40 | eqid | |- ( Id ` C ) = ( Id ` C ) |
|
| 41 | eqid | |- ( Id ` D ) = ( Id ` D ) |
|
| 42 | 3 | adantr | |- ( ( ph /\ x e. ( Base ` C ) ) -> F ( C Func D ) G ) |
| 43 | simpr | |- ( ( ph /\ x e. ( Base ` C ) ) -> x e. ( Base ` C ) ) |
|
| 44 | 4 40 41 42 43 | funcid | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( x G x ) ` ( ( Id ` C ) ` x ) ) = ( ( Id ` D ) ` ( F ` x ) ) ) |
| 45 | ovtpos | |- ( x tpos G x ) = ( x G x ) |
|
| 46 | 45 | a1i | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( x tpos G x ) = ( x G x ) ) |
| 47 | 1 40 | oppcid | |- ( C e. Cat -> ( Id ` O ) = ( Id ` C ) ) |
| 48 | 18 47 | syl | |- ( ph -> ( Id ` O ) = ( Id ` C ) ) |
| 49 | 48 | adantr | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( Id ` O ) = ( Id ` C ) ) |
| 50 | 49 | fveq1d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( Id ` O ) ` x ) = ( ( Id ` C ) ` x ) ) |
| 51 | 46 50 | fveq12d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( x tpos G x ) ` ( ( Id ` O ) ` x ) ) = ( ( x G x ) ` ( ( Id ` C ) ` x ) ) ) |
| 52 | 2 41 | oppcid | |- ( D e. Cat -> ( Id ` P ) = ( Id ` D ) ) |
| 53 | 17 52 | simpl2im | |- ( ph -> ( Id ` P ) = ( Id ` D ) ) |
| 54 | 53 | adantr | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( Id ` P ) = ( Id ` D ) ) |
| 55 | 54 | fveq1d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( Id ` P ) ` ( F ` x ) ) = ( ( Id ` D ) ` ( F ` x ) ) ) |
| 56 | 44 51 55 | 3eqtr4d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( x tpos G x ) ` ( ( Id ` O ) ` x ) ) = ( ( Id ` P ) ` ( F ` x ) ) ) |
| 57 | eqid | |- ( comp ` C ) = ( comp ` C ) |
|
| 58 | eqid | |- ( comp ` D ) = ( comp ` D ) |
|
| 59 | 3 | 3ad2ant1 | |- ( ( 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 ) |
| 60 | simp23 | |- ( ( 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 ) ) |
|
| 61 | simp22 | |- ( ( 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 ) ) |
|
| 62 | simp21 | |- ( ( 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 ) ) |
|
| 63 | simp3r | |- ( ( 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 ) ) |
|
| 64 | 27 1 | oppchom | |- ( y ( Hom ` O ) z ) = ( z ( Hom ` C ) y ) |
| 65 | 63 64 | eleqtrdi | |- ( ( 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 ) ) |
| 66 | simp3l | |- ( ( 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 ) ) |
|
| 67 | 66 35 | eleqtrdi | |- ( ( 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 ) ) |
| 68 | 4 27 57 58 59 60 61 62 65 67 | funcco | |- ( ( 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 ) ) ) |
| 69 | 4 57 1 62 61 60 | oppcco | |- ( ( 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 ) ) |
| 70 | 69 | fveq2d | |- ( ( 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 ) ) ) |
| 71 | 23 | 3ad2ant1 | |- ( ( 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 ) ) |
| 72 | 71 62 | ffvelcdmd | |- ( ( 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 ) ) |
| 73 | 71 61 | ffvelcdmd | |- ( ( 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 ) ) |
| 74 | 71 60 | ffvelcdmd | |- ( ( 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 ) ) |
| 75 | 6 58 2 72 73 74 | oppcco | |- ( ( 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 ) ) ) |
| 76 | 68 70 75 | 3eqtr4d | |- ( ( 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 ) ) ) |
| 77 | ovtpos | |- ( x tpos G z ) = ( z G x ) |
|
| 78 | 77 | fveq1i | |- ( ( x tpos G z ) ` ( g ( <. x , y >. ( comp ` O ) z ) f ) ) = ( ( z G x ) ` ( g ( <. x , y >. ( comp ` O ) z ) f ) ) |
| 79 | ovtpos | |- ( y tpos G z ) = ( z G y ) |
|
| 80 | 79 | fveq1i | |- ( ( y tpos G z ) ` g ) = ( ( z G y ) ` g ) |
| 81 | 33 | fveq1i | |- ( ( x tpos G y ) ` f ) = ( ( y G x ) ` f ) |
| 82 | 80 81 | oveq12i | |- ( ( ( y tpos G z ) ` g ) ( <. ( F ` x ) , ( F ` y ) >. ( comp ` P ) ( F ` z ) ) ( ( x tpos G y ) ` f ) ) = ( ( ( z G y ) ` g ) ( <. ( F ` x ) , ( F ` y ) >. ( comp ` P ) ( F ` z ) ) ( ( y G x ) ` f ) ) |
| 83 | 76 78 82 | 3eqtr4g | |- ( ( 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 tpos G z ) ` ( g ( <. x , y >. ( comp ` O ) z ) f ) ) = ( ( ( y tpos G z ) ` g ) ( <. ( F ` x ) , ( F ` y ) >. ( comp ` P ) ( F ` z ) ) ( ( x tpos G y ) ` f ) ) ) |
| 84 | 5 7 8 9 10 11 12 13 20 22 23 26 39 56 83 | isfuncd | |- ( ph -> F ( O Func P ) tpos G ) |