Metamath Proof Explorer


Theorem mulgass2

Description: An associative property between group multiple and ring multiplication. (Contributed by Mario Carneiro, 14-Jun-2015)

Ref Expression
Hypotheses mulgass2.b
|- B = ( Base ` R )
mulgass2.m
|- .x. = ( .g ` R )
mulgass2.t
|- .X. = ( .r ` R )
Assertion mulgass2
|- ( ( R e. Ring /\ ( N e. ZZ /\ X e. B /\ Y e. B ) ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) )

Proof

Step Hyp Ref Expression
1 mulgass2.b
 |-  B = ( Base ` R )
2 mulgass2.m
 |-  .x. = ( .g ` R )
3 mulgass2.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 oveq1
 |-  ( x = y -> ( x .x. X ) = ( y .x. X ) )
9 8 oveq1d
 |-  ( x = y -> ( ( x .x. X ) .X. Y ) = ( ( y .x. X ) .X. Y ) )
10 oveq1
 |-  ( x = y -> ( x .x. ( X .X. Y ) ) = ( y .x. ( X .X. Y ) ) )
11 9 10 eqeq12d
 |-  ( x = y -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) ) )
12 oveq1
 |-  ( x = ( y + 1 ) -> ( x .x. X ) = ( ( y + 1 ) .x. X ) )
13 12 oveq1d
 |-  ( x = ( y + 1 ) -> ( ( x .x. X ) .X. Y ) = ( ( ( y + 1 ) .x. X ) .X. Y ) )
14 oveq1
 |-  ( x = ( y + 1 ) -> ( x .x. ( X .X. Y ) ) = ( ( y + 1 ) .x. ( X .X. Y ) ) )
15 13 14 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 ) ) ) )
16 oveq1
 |-  ( x = -u y -> ( x .x. X ) = ( -u y .x. X ) )
17 16 oveq1d
 |-  ( x = -u y -> ( ( x .x. X ) .X. Y ) = ( ( -u y .x. X ) .X. Y ) )
18 oveq1
 |-  ( x = -u y -> ( x .x. ( X .X. Y ) ) = ( -u y .x. ( X .X. Y ) ) )
19 17 18 eqeq12d
 |-  ( x = -u y -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( -u y .x. X ) .X. Y ) = ( -u y .x. ( X .X. Y ) ) ) )
20 oveq1
 |-  ( x = N -> ( x .x. X ) = ( N .x. X ) )
21 20 oveq1d
 |-  ( x = N -> ( ( x .x. X ) .X. Y ) = ( ( N .x. X ) .X. Y ) )
22 oveq1
 |-  ( x = N -> ( x .x. ( X .X. Y ) ) = ( N .x. ( X .X. Y ) ) )
23 21 22 eqeq12d
 |-  ( x = N -> ( ( ( x .x. X ) .X. Y ) = ( x .x. ( X .X. Y ) ) <-> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) )
24 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
25 1 3 24 ringlz
 |-  ( ( R e. Ring /\ Y e. B ) -> ( ( 0g ` R ) .X. Y ) = ( 0g ` R ) )
26 25 3adant3
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( ( 0g ` R ) .X. Y ) = ( 0g ` R ) )
27 simp3
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> X e. B )
28 1 24 2 mulg0
 |-  ( X e. B -> ( 0 .x. X ) = ( 0g ` R ) )
29 27 28 syl
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( 0 .x. X ) = ( 0g ` R ) )
30 29 oveq1d
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( ( 0 .x. X ) .X. Y ) = ( ( 0g ` R ) .X. Y ) )
31 1 3 ringcl
 |-  ( ( R e. Ring /\ X e. B /\ Y e. B ) -> ( X .X. Y ) e. B )
32 31 3com23
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( X .X. Y ) e. B )
33 1 24 2 mulg0
 |-  ( ( X .X. Y ) e. B -> ( 0 .x. ( X .X. Y ) ) = ( 0g ` R ) )
34 32 33 syl
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( 0 .x. ( X .X. Y ) ) = ( 0g ` R ) )
35 26 30 34 3eqtr4d
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( ( 0 .x. X ) .X. Y ) = ( 0 .x. ( X .X. Y ) ) )
36 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 ) ) )
37 simpl1
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> R e. Ring )
38 ringgrp
 |-  ( R e. Ring -> R e. Grp )
39 37 38 syl
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> R e. Grp )
40 nn0z
 |-  ( y e. NN0 -> y e. ZZ )
41 40 adantl
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> y e. ZZ )
42 27 adantr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> X e. B )
43 eqid
 |-  ( +g ` R ) = ( +g ` R )
44 1 2 43 mulgp1
 |-  ( ( R e. Grp /\ y e. ZZ /\ X e. B ) -> ( ( y + 1 ) .x. X ) = ( ( y .x. X ) ( +g ` R ) X ) )
45 39 41 42 44 syl3anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( y + 1 ) .x. X ) = ( ( y .x. X ) ( +g ` R ) X ) )
46 45 oveq1d
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( ( y .x. X ) ( +g ` R ) X ) .X. Y ) )
47 38 3ad2ant1
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> R e. Grp )
48 47 adantr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> R e. Grp )
49 1 2 mulgcl
 |-  ( ( R e. Grp /\ y e. ZZ /\ X e. B ) -> ( y .x. X ) e. B )
50 48 41 42 49 syl3anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( y .x. X ) e. B )
51 simpl2
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> Y e. B )
52 1 43 3 ringdir
 |-  ( ( R e. Ring /\ ( ( 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 37 50 42 51 52 syl13anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( ( y .x. X ) ( +g ` R ) X ) .X. Y ) = ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) )
54 46 53 eqtrd
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) )
55 32 adantr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( X .X. Y ) e. B )
56 1 2 43 mulgp1
 |-  ( ( R e. Grp /\ y e. ZZ /\ ( X .X. Y ) e. B ) -> ( ( y + 1 ) .x. ( X .X. Y ) ) = ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) )
57 39 41 55 56 syl3anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( y + 1 ) .x. ( X .X. Y ) ) = ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) )
58 54 57 eqeq12d
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) <-> ( ( ( y .x. X ) .X. Y ) ( +g ` R ) ( X .X. Y ) ) = ( ( y .x. ( X .X. Y ) ) ( +g ` R ) ( X .X. Y ) ) ) )
59 36 58 syl5ibr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN0 ) -> ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) )
60 59 ex
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( y e. NN0 -> ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( ( y + 1 ) .x. X ) .X. Y ) = ( ( y + 1 ) .x. ( X .X. Y ) ) ) ) )
61 fveq2
 |-  ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( invg ` R ) ` ( ( y .x. X ) .X. Y ) ) = ( ( invg ` R ) ` ( y .x. ( X .X. Y ) ) ) )
62 47 adantr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> R e. Grp )
63 nnz
 |-  ( y e. NN -> y e. ZZ )
64 63 adantl
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> y e. ZZ )
65 27 adantr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> X e. B )
66 eqid
 |-  ( invg ` R ) = ( invg ` R )
67 1 2 66 mulgneg
 |-  ( ( R e. Grp /\ y e. ZZ /\ X e. B ) -> ( -u y .x. X ) = ( ( invg ` R ) ` ( y .x. X ) ) )
68 62 64 65 67 syl3anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( -u y .x. X ) = ( ( invg ` R ) ` ( y .x. X ) ) )
69 68 oveq1d
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( ( -u y .x. X ) .X. Y ) = ( ( ( invg ` R ) ` ( y .x. X ) ) .X. Y ) )
70 simpl1
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> R e. Ring )
71 62 64 65 49 syl3anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( y .x. X ) e. B )
72 simpl2
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> Y e. B )
73 1 3 66 70 71 72 ringmneg1
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( ( ( invg ` R ) ` ( y .x. X ) ) .X. Y ) = ( ( invg ` R ) ` ( ( y .x. X ) .X. Y ) ) )
74 69 73 eqtrd
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( ( -u y .x. X ) .X. Y ) = ( ( invg ` R ) ` ( ( y .x. X ) .X. Y ) ) )
75 32 adantr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( X .X. Y ) e. B )
76 1 2 66 mulgneg
 |-  ( ( R e. Grp /\ y e. ZZ /\ ( X .X. Y ) e. B ) -> ( -u y .x. ( X .X. Y ) ) = ( ( invg ` R ) ` ( y .x. ( X .X. Y ) ) ) )
77 62 64 75 76 syl3anc
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( -u y .x. ( X .X. Y ) ) = ( ( invg ` R ) ` ( y .x. ( X .X. Y ) ) ) )
78 74 77 eqeq12d
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( ( ( -u y .x. X ) .X. Y ) = ( -u y .x. ( X .X. Y ) ) <-> ( ( invg ` R ) ` ( ( y .x. X ) .X. Y ) ) = ( ( invg ` R ) ` ( y .x. ( X .X. Y ) ) ) ) )
79 61 78 syl5ibr
 |-  ( ( ( R e. Ring /\ Y e. B /\ X e. B ) /\ y e. NN ) -> ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( -u y .x. X ) .X. Y ) = ( -u y .x. ( X .X. Y ) ) ) )
80 79 ex
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( y e. NN -> ( ( ( y .x. X ) .X. Y ) = ( y .x. ( X .X. Y ) ) -> ( ( -u y .x. X ) .X. Y ) = ( -u y .x. ( X .X. Y ) ) ) ) )
81 7 11 15 19 23 35 60 80 zindd
 |-  ( ( R e. Ring /\ Y e. B /\ X e. B ) -> ( N e. ZZ -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) )
82 81 3exp
 |-  ( R e. Ring -> ( Y e. B -> ( X e. B -> ( N e. ZZ -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) ) )
83 82 com24
 |-  ( R e. Ring -> ( N e. ZZ -> ( X e. B -> ( Y e. B -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) ) ) ) )
84 83 3imp2
 |-  ( ( R e. Ring /\ ( N e. ZZ /\ X e. B /\ Y e. B ) ) -> ( ( N .x. X ) .X. Y ) = ( N .x. ( X .X. Y ) ) )