This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The "natural forgetful functor" from the category of non-unital rings into the category of sets which sends each non-unital ring to its underlying set (base set) and the morphisms (non-unital ring homomorphisms) to mappings of the corresponding base sets. An alternate proof is provided in funcrngcsetcALT , using cofuval2 to construct the "natural forgetful functor" from the category of non-unital rings into the category of sets by composing the "inclusion functor" from the category of non-unital rings into the category of extensible structures, see rngcifuestrc , and the "natural forgetful functor" from the category of extensible structures into the category of sets, see funcestrcsetc . (Contributed by AV, 26-Mar-2020)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | funcrngcsetc.r | |- R = ( RngCat ` U ) |
|
| funcrngcsetc.s | |- S = ( SetCat ` U ) |
||
| funcrngcsetc.b | |- B = ( Base ` R ) |
||
| funcrngcsetc.u | |- ( ph -> U e. WUni ) |
||
| funcrngcsetc.f | |- ( ph -> F = ( x e. B |-> ( Base ` x ) ) ) |
||
| funcrngcsetc.g | |- ( ph -> G = ( x e. B , y e. B |-> ( _I |` ( x RngHom y ) ) ) ) |
||
| Assertion | funcrngcsetc | |- ( ph -> F ( R Func S ) G ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | funcrngcsetc.r | |- R = ( RngCat ` U ) |
|
| 2 | funcrngcsetc.s | |- S = ( SetCat ` U ) |
|
| 3 | funcrngcsetc.b | |- B = ( Base ` R ) |
|
| 4 | funcrngcsetc.u | |- ( ph -> U e. WUni ) |
|
| 5 | funcrngcsetc.f | |- ( ph -> F = ( x e. B |-> ( Base ` x ) ) ) |
|
| 6 | funcrngcsetc.g | |- ( ph -> G = ( x e. B , y e. B |-> ( _I |` ( x RngHom y ) ) ) ) |
|
| 7 | eqid | |- ( ExtStrCat ` U ) = ( ExtStrCat ` U ) |
|
| 8 | eqid | |- ( Base ` ( ExtStrCat ` U ) ) = ( Base ` ( ExtStrCat ` U ) ) |
|
| 9 | eqid | |- ( Base ` S ) = ( Base ` S ) |
|
| 10 | 7 4 | estrcbas | |- ( ph -> U = ( Base ` ( ExtStrCat ` U ) ) ) |
| 11 | 10 | mpteq1d | |- ( ph -> ( x e. U |-> ( Base ` x ) ) = ( x e. ( Base ` ( ExtStrCat ` U ) ) |-> ( Base ` x ) ) ) |
| 12 | mpoeq12 | |- ( ( U = ( Base ` ( ExtStrCat ` U ) ) /\ U = ( Base ` ( ExtStrCat ` U ) ) ) -> ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) = ( x e. ( Base ` ( ExtStrCat ` U ) ) , y e. ( Base ` ( ExtStrCat ` U ) ) |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) ) |
|
| 13 | 10 10 12 | syl2anc | |- ( ph -> ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) = ( x e. ( Base ` ( ExtStrCat ` U ) ) , y e. ( Base ` ( ExtStrCat ` U ) ) |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) ) |
| 14 | 7 2 8 9 4 11 13 | funcestrcsetc | |- ( ph -> ( x e. U |-> ( Base ` x ) ) ( ( ExtStrCat ` U ) Func S ) ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) ) |
| 15 | df-br | |- ( ( x e. U |-> ( Base ` x ) ) ( ( ExtStrCat ` U ) Func S ) ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) <-> <. ( x e. U |-> ( Base ` x ) ) , ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) >. e. ( ( ExtStrCat ` U ) Func S ) ) |
|
| 16 | 14 15 | sylib | |- ( ph -> <. ( x e. U |-> ( Base ` x ) ) , ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) >. e. ( ( ExtStrCat ` U ) Func S ) ) |
| 17 | eqid | |- ( Base ` R ) = ( Base ` R ) |
|
| 18 | 1 17 4 | rngcbas | |- ( ph -> ( Base ` R ) = ( U i^i Rng ) ) |
| 19 | incom | |- ( U i^i Rng ) = ( Rng i^i U ) |
|
| 20 | 18 19 | eqtrdi | |- ( ph -> ( Base ` R ) = ( Rng i^i U ) ) |
| 21 | eqid | |- ( Hom ` R ) = ( Hom ` R ) |
|
| 22 | 1 17 4 21 | rngchomfval | |- ( ph -> ( Hom ` R ) = ( RngHom |` ( ( Base ` R ) X. ( Base ` R ) ) ) ) |
| 23 | 7 4 20 22 | rnghmsubcsetc | |- ( ph -> ( Hom ` R ) e. ( Subcat ` ( ExtStrCat ` U ) ) ) |
| 24 | 16 23 | funcres | |- ( ph -> ( <. ( x e. U |-> ( Base ` x ) ) , ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) >. |`f ( Hom ` R ) ) e. ( ( ( ExtStrCat ` U ) |`cat ( Hom ` R ) ) Func S ) ) |
| 25 | mptexg | |- ( U e. WUni -> ( x e. U |-> ( Base ` x ) ) e. _V ) |
|
| 26 | 4 25 | syl | |- ( ph -> ( x e. U |-> ( Base ` x ) ) e. _V ) |
| 27 | fvex | |- ( Hom ` R ) e. _V |
|
| 28 | 27 | a1i | |- ( ph -> ( Hom ` R ) e. _V ) |
| 29 | mpoexga | |- ( ( U e. WUni /\ U e. WUni ) -> ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) e. _V ) |
|
| 30 | 4 4 29 | syl2anc | |- ( ph -> ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) e. _V ) |
| 31 | 18 22 | rnghmresfn | |- ( ph -> ( Hom ` R ) Fn ( ( Base ` R ) X. ( Base ` R ) ) ) |
| 32 | 26 28 30 31 | resfval2 | |- ( ph -> ( <. ( x e. U |-> ( Base ` x ) ) , ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) >. |`f ( Hom ` R ) ) = <. ( ( x e. U |-> ( Base ` x ) ) |` ( Base ` R ) ) , ( a e. ( Base ` R ) , b e. ( Base ` R ) |-> ( ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) |` ( a ( Hom ` R ) b ) ) ) >. ) |
| 33 | inss1 | |- ( U i^i Rng ) C_ U |
|
| 34 | 18 33 | eqsstrdi | |- ( ph -> ( Base ` R ) C_ U ) |
| 35 | 34 | resmptd | |- ( ph -> ( ( x e. U |-> ( Base ` x ) ) |` ( Base ` R ) ) = ( x e. ( Base ` R ) |-> ( Base ` x ) ) ) |
| 36 | 3 | a1i | |- ( ph -> B = ( Base ` R ) ) |
| 37 | 36 | mpteq1d | |- ( ph -> ( x e. B |-> ( Base ` x ) ) = ( x e. ( Base ` R ) |-> ( Base ` x ) ) ) |
| 38 | 5 37 | eqtr2d | |- ( ph -> ( x e. ( Base ` R ) |-> ( Base ` x ) ) = F ) |
| 39 | 35 38 | eqtrd | |- ( ph -> ( ( x e. U |-> ( Base ` x ) ) |` ( Base ` R ) ) = F ) |
| 40 | oveq1 | |- ( x = a -> ( x RngHom y ) = ( a RngHom y ) ) |
|
| 41 | 40 | reseq2d | |- ( x = a -> ( _I |` ( x RngHom y ) ) = ( _I |` ( a RngHom y ) ) ) |
| 42 | oveq2 | |- ( y = b -> ( a RngHom y ) = ( a RngHom b ) ) |
|
| 43 | 42 | reseq2d | |- ( y = b -> ( _I |` ( a RngHom y ) ) = ( _I |` ( a RngHom b ) ) ) |
| 44 | 41 43 | cbvmpov | |- ( x e. B , y e. B |-> ( _I |` ( x RngHom y ) ) ) = ( a e. B , b e. B |-> ( _I |` ( a RngHom b ) ) ) |
| 45 | 44 | a1i | |- ( ph -> ( x e. B , y e. B |-> ( _I |` ( x RngHom y ) ) ) = ( a e. B , b e. B |-> ( _I |` ( a RngHom b ) ) ) ) |
| 46 | 3 | a1i | |- ( ( ph /\ a e. B ) -> B = ( Base ` R ) ) |
| 47 | eqidd | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) = ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) ) |
|
| 48 | fveq2 | |- ( y = b -> ( Base ` y ) = ( Base ` b ) ) |
|
| 49 | fveq2 | |- ( x = a -> ( Base ` x ) = ( Base ` a ) ) |
|
| 50 | 48 49 | oveqan12rd | |- ( ( x = a /\ y = b ) -> ( ( Base ` y ) ^m ( Base ` x ) ) = ( ( Base ` b ) ^m ( Base ` a ) ) ) |
| 51 | 50 | reseq2d | |- ( ( x = a /\ y = b ) -> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) = ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) ) |
| 52 | 51 | adantl | |- ( ( ( ph /\ ( a e. B /\ b e. B ) ) /\ ( x = a /\ y = b ) ) -> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) = ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) ) |
| 53 | 3 34 | eqsstrid | |- ( ph -> B C_ U ) |
| 54 | 53 | sseld | |- ( ph -> ( a e. B -> a e. U ) ) |
| 55 | 54 | com12 | |- ( a e. B -> ( ph -> a e. U ) ) |
| 56 | 55 | adantr | |- ( ( a e. B /\ b e. B ) -> ( ph -> a e. U ) ) |
| 57 | 56 | impcom | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> a e. U ) |
| 58 | 53 | sseld | |- ( ph -> ( b e. B -> b e. U ) ) |
| 59 | 58 | adantld | |- ( ph -> ( ( a e. B /\ b e. B ) -> b e. U ) ) |
| 60 | 59 | imp | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> b e. U ) |
| 61 | ovexd | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( ( Base ` b ) ^m ( Base ` a ) ) e. _V ) |
|
| 62 | 61 | resiexd | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) e. _V ) |
| 63 | 47 52 57 60 62 | ovmpod | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) = ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) ) |
| 64 | 63 | reseq1d | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) |` ( a ( Hom ` R ) b ) ) = ( ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) |` ( a ( Hom ` R ) b ) ) ) |
| 65 | 4 | adantr | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> U e. WUni ) |
| 66 | simprl | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> a e. B ) |
|
| 67 | simprr | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> b e. B ) |
|
| 68 | 1 3 65 21 66 67 | rngchom | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( a ( Hom ` R ) b ) = ( a RngHom b ) ) |
| 69 | 68 | reseq2d | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) |` ( a ( Hom ` R ) b ) ) = ( ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) |` ( a RngHom b ) ) ) |
| 70 | eqid | |- ( Base ` a ) = ( Base ` a ) |
|
| 71 | eqid | |- ( Base ` b ) = ( Base ` b ) |
|
| 72 | 70 71 | rnghmf | |- ( f e. ( a RngHom b ) -> f : ( Base ` a ) --> ( Base ` b ) ) |
| 73 | fvex | |- ( Base ` b ) e. _V |
|
| 74 | fvex | |- ( Base ` a ) e. _V |
|
| 75 | 73 74 | pm3.2i | |- ( ( Base ` b ) e. _V /\ ( Base ` a ) e. _V ) |
| 76 | 75 | a1i | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( ( Base ` b ) e. _V /\ ( Base ` a ) e. _V ) ) |
| 77 | elmapg | |- ( ( ( Base ` b ) e. _V /\ ( Base ` a ) e. _V ) -> ( f e. ( ( Base ` b ) ^m ( Base ` a ) ) <-> f : ( Base ` a ) --> ( Base ` b ) ) ) |
|
| 78 | 76 77 | syl | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( f e. ( ( Base ` b ) ^m ( Base ` a ) ) <-> f : ( Base ` a ) --> ( Base ` b ) ) ) |
| 79 | 72 78 | imbitrrid | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( f e. ( a RngHom b ) -> f e. ( ( Base ` b ) ^m ( Base ` a ) ) ) ) |
| 80 | 79 | ssrdv | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( a RngHom b ) C_ ( ( Base ` b ) ^m ( Base ` a ) ) ) |
| 81 | 80 | resabs1d | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( ( _I |` ( ( Base ` b ) ^m ( Base ` a ) ) ) |` ( a RngHom b ) ) = ( _I |` ( a RngHom b ) ) ) |
| 82 | 64 69 81 | 3eqtrrd | |- ( ( ph /\ ( a e. B /\ b e. B ) ) -> ( _I |` ( a RngHom b ) ) = ( ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) |` ( a ( Hom ` R ) b ) ) ) |
| 83 | 36 46 82 | mpoeq123dva | |- ( ph -> ( a e. B , b e. B |-> ( _I |` ( a RngHom b ) ) ) = ( a e. ( Base ` R ) , b e. ( Base ` R ) |-> ( ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) |` ( a ( Hom ` R ) b ) ) ) ) |
| 84 | 6 45 83 | 3eqtrrd | |- ( ph -> ( a e. ( Base ` R ) , b e. ( Base ` R ) |-> ( ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) |` ( a ( Hom ` R ) b ) ) ) = G ) |
| 85 | 39 84 | opeq12d | |- ( ph -> <. ( ( x e. U |-> ( Base ` x ) ) |` ( Base ` R ) ) , ( a e. ( Base ` R ) , b e. ( Base ` R ) |-> ( ( a ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) b ) |` ( a ( Hom ` R ) b ) ) ) >. = <. F , G >. ) |
| 86 | 32 85 | eqtr2d | |- ( ph -> <. F , G >. = ( <. ( x e. U |-> ( Base ` x ) ) , ( x e. U , y e. U |-> ( _I |` ( ( Base ` y ) ^m ( Base ` x ) ) ) ) >. |`f ( Hom ` R ) ) ) |
| 87 | 1 4 18 22 | rngcval | |- ( ph -> R = ( ( ExtStrCat ` U ) |`cat ( Hom ` R ) ) ) |
| 88 | 87 | oveq1d | |- ( ph -> ( R Func S ) = ( ( ( ExtStrCat ` U ) |`cat ( Hom ` R ) ) Func S ) ) |
| 89 | 24 86 88 | 3eltr4d | |- ( ph -> <. F , G >. e. ( R Func S ) ) |
| 90 | df-br | |- ( F ( R Func S ) G <-> <. F , G >. e. ( R Func S ) ) |
|
| 91 | 89 90 | sylibr | |- ( ph -> F ( R Func S ) G ) |