This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: An associative property between group multiple and ring multiplication for semirings. (Contributed by AV, 23-Aug-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | srgmulgass.b | |- B = ( Base ` R ) |
|
| srgmulgass.m | |- .x. = ( .g ` R ) |
||
| srgmulgass.t | |- .X. = ( .r ` R ) |
||
| Assertion | srgmulgass | |- ( ( R e. SRing /\ ( N e. NN0 /\ X e. B /\ Y e. B ) ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | srgmulgass.b | |- B = ( Base ` R ) |
|
| 2 | srgmulgass.m | |- .x. = ( .g ` R ) |
|
| 3 | srgmulgass.t | |- .X. = ( .r ` R ) |
|
| 4 | oveq1 | |- ( x = 0 -> ( x .x. X ) = ( 0 .x. X ) ) |
|
| 5 | 4 | oveq1d | |- ( x = 0 -> ( ( x .x. X ) .X. Y ) = ( ( 0 .x. X ) .X. Y ) ) |
| 6 | oveq1 | |- ( x = 0 -> ( x .x. ( X .X. Y ) ) = ( 0 .x. ( X .X. Y ) ) ) |
|
| 7 | 5 6 | eqeq12d | |- ( x = 0 -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( 0 .x. X ) .X. Y ) = ( 0 .x. ( X .X. Y ) ) ) ) |
| 8 | 7 | imbi2d | |- ( x = 0 -> ( ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) ) <-> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( 0 .x. X ) .X. Y ) = ( 0 .x. ( X .X. Y ) ) ) ) ) |
| 9 | oveq1 | |- ( x = y -> ( x .x. X ) = ( y .x. X ) ) |
|
| 10 | 9 | oveq1d | |- ( x = y -> ( ( x .x. X ) .X. Y ) = ( ( y .x. X ) .X. Y ) ) |
| 11 | oveq1 | |- ( x = y -> ( x .x. ( X .X. Y ) ) = ( y .x. ( X .X. Y ) ) ) |
|
| 12 | 10 11 | eqeq12d | |- ( x = y -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) ) |
| 13 | 12 | imbi2d | |- ( x = y -> ( ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) ) <-> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) ) ) |
| 14 | oveq1 | |- ( x = ( y + 1 ) -> ( x .x. X ) = ( ( y + 1 ) .x. X ) ) |
|
| 15 | 14 | oveq1d | |- ( x = ( y + 1 ) -> ( ( x .x. X ) .X. Y ) = ( ( ( y + 1 ) .x. X ) .X. Y ) ) |
| 16 | oveq1 | |- ( x = ( y + 1 ) -> ( x .x. ( X .X. Y ) ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) |
|
| 17 | 15 16 | eqeq12d | |- ( x = ( y + 1 ) -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) ) |
| 18 | 17 | imbi2d | |- ( x = ( y + 1 ) -> ( ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) ) <-> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) ) ) |
| 19 | oveq1 | |- ( x = N -> ( x .x. X ) = ( N .x. X ) ) |
|
| 20 | 19 | oveq1d | |- ( x = N -> ( ( x .x. X ) .X. Y ) = ( ( N .x. X ) .X. Y ) ) |
| 21 | oveq1 | |- ( x = N -> ( x .x. ( X .X. Y ) ) = ( N .x. ( X .X. Y ) ) ) |
|
| 22 | 20 21 | eqeq12d | |- ( x = N -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) |
| 23 | 22 | imbi2d | |- ( x = N -> ( ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) ) <-> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) ) |
| 24 | simpr | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> R e. SRing ) |
|
| 25 | simpr | |- ( ( X e. B /\ Y e. B ) -> Y e. B ) |
|
| 26 | 25 | adantr | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> Y e. B ) |
| 27 | eqid | |- ( 0g ` R ) = ( 0g ` R ) |
|
| 28 | 1 3 27 | srglz | |- ( ( R e. SRing /\ Y e. B ) -> ( ( 0g ` R ) .X. Y ) = ( 0g ` R ) ) |
| 29 | 24 26 28 | syl2anc | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( 0g ` R ) .X. Y ) = ( 0g ` R ) ) |
| 30 | simpl | |- ( ( X e. B /\ Y e. B ) -> X e. B ) |
|
| 31 | 30 | adantr | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> X e. B ) |
| 32 | 1 27 2 | mulg0 | |- ( X e. B -> ( 0 .x. X ) = ( 0g ` R ) ) |
| 33 | 31 32 | syl | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( 0 .x. X ) = ( 0g ` R ) ) |
| 34 | 33 | oveq1d | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( 0 .x. X ) .X. Y ) = ( ( 0g ` R ) .X. Y ) ) |
| 35 | 1 3 | srgcl | |- ( ( R e. SRing /\ X e. B /\ Y e. B ) -> ( X .X. Y ) e. B ) |
| 36 | 24 31 26 35 | syl3anc | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( X .X. Y ) e. B ) |
| 37 | 1 27 2 | mulg0 | |- ( ( X .X. Y ) e. B -> ( 0 .x. ( X .X. Y ) ) = ( 0g ` R ) ) |
| 38 | 36 37 | syl | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( 0 .x. ( X .X. Y ) ) = ( 0g ` R ) ) |
| 39 | 29 34 38 | 3eqtr4d | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( 0 .x. X ) .X. Y ) = ( 0 .x. ( X .X. Y ) ) ) |
| 40 | srgmnd | |- ( R e. SRing -> R e. Mnd ) |
|
| 41 | 40 | adantl | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> R e. Mnd ) |
| 42 | 41 | adantl | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> R e. Mnd ) |
| 43 | simpl | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> y e. NN0 ) |
|
| 44 | 31 | adantl | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> X e. B ) |
| 45 | eqid | |- ( +g ` R ) = ( +g ` R ) |
|
| 46 | 1 2 45 | mulgnn0p1 | |- ( ( R e. Mnd /\ y e. NN0 /\ X e. B ) -> ( ( y + 1 ) .x. X ) = ( ( y .x. X ) ( +g ` R ) X ) ) |
| 47 | 42 43 44 46 | syl3anc | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( ( y + 1 ) .x. X ) = ( ( y .x. X ) ( +g ` R ) X ) ) |
| 48 | 47 | oveq1d | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( ( y .x. X ) ( +g ` R ) X ) .X. Y ) ) |
| 49 | 24 | adantl | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> R e. SRing ) |
| 50 | 1 2 42 43 44 | mulgnn0cld | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( y .x. X ) e. B ) |
| 51 | 26 | adantl | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> Y e. B ) |
| 52 | 1 45 3 | srgdir | |- ( ( R e. SRing /\ ( ( y .x. X ) e. B /\ X e. B /\ Y e. B ) ) -> ( ( ( y .x. X ) ( +g ` R ) X ) .X. Y ) = ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) ) |
| 53 | 49 50 44 51 52 | syl13anc | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( ( ( y .x. X ) ( +g ` R ) X ) .X. Y ) = ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) ) |
| 54 | 48 53 | eqtrd | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) ) |
| 55 | 54 | adantr | |- ( ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) /\ ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) ) |
| 56 | oveq1 | |- ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) = ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) ) |
|
| 57 | 35 | 3expb | |- ( ( R e. SRing /\ ( X e. B /\ Y e. B ) ) -> ( X .X. Y ) e. B ) |
| 58 | 57 | ancoms | |- ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( X .X. Y ) e. B ) |
| 59 | 58 | adantl | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( X .X. Y ) e. B ) |
| 60 | 1 2 45 | mulgnn0p1 | |- ( ( R e. Mnd /\ y e. NN0 /\ ( X .X. Y ) e. B ) -> ( ( y + 1 ) .x. ( X .X. Y ) ) = ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) ) |
| 61 | 42 43 59 60 | syl3anc | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( ( y + 1 ) .x. ( X .X. Y ) ) = ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) ) |
| 62 | 61 | eqcomd | |- ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) |
| 63 | 56 62 | sylan9eqr | |- ( ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) /\ ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) -> ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) |
| 64 | 55 63 | eqtrd | |- ( ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) /\ ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) |
| 65 | 64 | exp31 | |- ( y e. NN0 -> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) ) ) |
| 66 | 65 | a2d | |- ( y e. NN0 -> ( ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) -> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) ) ) |
| 67 | 8 13 18 23 39 66 | nn0ind | |- ( N e. NN0 -> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) |
| 68 | 67 | expd | |- ( N e. NN0 -> ( ( X e. B /\ Y e. B ) -> ( R e. SRing -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) ) |
| 69 | 68 | 3impib | |- ( ( N e. NN0 /\ X e. B /\ Y e. B ) -> ( R e. SRing -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) |
| 70 | 69 | impcom | |- ( ( R e. SRing /\ ( N e. NN0 /\ X e. B /\ Y e. B ) ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) |