Metamath Proof Explorer


Theorem srgmulgass

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 ) ) )

Proof

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 mulgnn0cl
 |-  ( ( R e. Mnd /\ y e. NN0 /\ X e. B ) -> ( y .x. X ) e. B )
51 42 43 44 50 syl3anc
 |-  ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( y .x. X ) e. B )
52 26 adantl
 |-  ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> Y e. B )
53 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 ) ) )
54 49 51 44 52 53 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 ) ) )
55 48 54 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 ) ) )
56 55 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 ) ) )
57 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 ) ) )
58 35 3expb
 |-  ( ( R e. SRing /\ ( X e. B /\ Y e. B ) ) -> ( X .X. Y ) e. B )
59 58 ancoms
 |-  ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( X .X. Y ) e. B )
60 59 adantl
 |-  ( ( y e. NN0 /\ ( ( X e. B /\ Y e. B ) /\ R e. SRing ) ) -> ( X .X. Y ) e. B )
61 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 ) ) )
62 42 43 60 61 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 ) ) )
63 62 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 ) ) )
64 57 63 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 ) ) )
65 56 64 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 ) ) )
66 65 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 ) ) ) ) )
67 66 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 ) ) ) ) )
68 8 13 18 23 39 67 nn0ind
 |-  ( N e. NN0 -> ( ( ( X e. B /\ Y e. B ) /\ R e. SRing ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) )
69 68 expd
 |-  ( N e. NN0 -> ( ( X e. B /\ Y e. B ) -> ( R e. SRing -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) )
70 69 3impib
 |-  ( ( N e. NN0 /\ X e. B /\ Y e. B ) -> ( R e. SRing -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) )
71 70 impcom
 |-  ( ( R e. SRing /\ ( N e. NN0 /\ X e. B /\ Y e. B ) ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) )