Metamath Proof Explorer


Theorem mulgnnass

Description: Product of group multiples, for positive multiples in a semigroup. (Contributed by Mario Carneiro, 13-Dec-2014) (Revised by AV, 29-Aug-2021)

Ref Expression
Hypotheses mulgass.b
|- B = ( Base ` G )
mulgass.t
|- .x. = ( .g ` G )
Assertion mulgnnass
|- ( ( G e. Smgrp /\ ( M e. NN /\ N e. NN /\ X e. B ) ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) )

Proof

Step Hyp Ref Expression
1 mulgass.b
 |-  B = ( Base ` G )
2 mulgass.t
 |-  .x. = ( .g ` G )
3 oveq1
 |-  ( n = 1 -> ( n x. N ) = ( 1 x. N ) )
4 3 oveq1d
 |-  ( n = 1 -> ( ( n x. N ) .x. X ) = ( ( 1 x. N ) .x. X ) )
5 oveq1
 |-  ( n = 1 -> ( n .x. ( N .x. X ) ) = ( 1 .x. ( N .x. X ) ) )
6 4 5 eqeq12d
 |-  ( n = 1 -> ( ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) <-> ( ( 1 x. N ) .x. X ) = ( 1 .x. ( N .x. X ) ) ) )
7 6 imbi2d
 |-  ( n = 1 -> ( ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) ) <-> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( 1 .x. ( N .x. X ) ) ) ) )
8 oveq1
 |-  ( n = m -> ( n x. N ) = ( m x. N ) )
9 8 oveq1d
 |-  ( n = m -> ( ( n x. N ) .x. X ) = ( ( m x. N ) .x. X ) )
10 oveq1
 |-  ( n = m -> ( n .x. ( N .x. X ) ) = ( m .x. ( N .x. X ) ) )
11 9 10 eqeq12d
 |-  ( n = m -> ( ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) <-> ( ( m x. N ) .x. X ) = ( m .x. ( N .x. X ) ) ) )
12 11 imbi2d
 |-  ( n = m -> ( ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) ) <-> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( m x. N ) .x. X ) = ( m .x. ( N .x. X ) ) ) ) )
13 oveq1
 |-  ( n = ( m + 1 ) -> ( n x. N ) = ( ( m + 1 ) x. N ) )
14 13 oveq1d
 |-  ( n = ( m + 1 ) -> ( ( n x. N ) .x. X ) = ( ( ( m + 1 ) x. N ) .x. X ) )
15 oveq1
 |-  ( n = ( m + 1 ) -> ( n .x. ( N .x. X ) ) = ( ( m + 1 ) .x. ( N .x. X ) ) )
16 14 15 eqeq12d
 |-  ( n = ( m + 1 ) -> ( ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) <-> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( m + 1 ) .x. ( N .x. X ) ) ) )
17 16 imbi2d
 |-  ( n = ( m + 1 ) -> ( ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) ) <-> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( m + 1 ) .x. ( N .x. X ) ) ) ) )
18 oveq1
 |-  ( n = M -> ( n x. N ) = ( M x. N ) )
19 18 oveq1d
 |-  ( n = M -> ( ( n x. N ) .x. X ) = ( ( M x. N ) .x. X ) )
20 oveq1
 |-  ( n = M -> ( n .x. ( N .x. X ) ) = ( M .x. ( N .x. X ) ) )
21 19 20 eqeq12d
 |-  ( n = M -> ( ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) <-> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) )
22 21 imbi2d
 |-  ( n = M -> ( ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( n x. N ) .x. X ) = ( n .x. ( N .x. X ) ) ) <-> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) )
23 nncn
 |-  ( N e. NN -> N e. CC )
24 23 mulid2d
 |-  ( N e. NN -> ( 1 x. N ) = N )
25 24 3ad2ant1
 |-  ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( 1 x. N ) = N )
26 25 oveq1d
 |-  ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( N .x. X ) )
27 sgrpmgm
 |-  ( G e. Smgrp -> G e. Mgm )
28 1 2 mulgnncl
 |-  ( ( G e. Mgm /\ N e. NN /\ X e. B ) -> ( N .x. X ) e. B )
29 27 28 syl3an1
 |-  ( ( G e. Smgrp /\ N e. NN /\ X e. B ) -> ( N .x. X ) e. B )
30 29 3coml
 |-  ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( N .x. X ) e. B )
31 1 2 mulg1
 |-  ( ( N .x. X ) e. B -> ( 1 .x. ( N .x. X ) ) = ( N .x. X ) )
32 30 31 syl
 |-  ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( 1 .x. ( N .x. X ) ) = ( N .x. X ) )
33 26 32 eqtr4d
 |-  ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( 1 .x. ( N .x. X ) ) )
34 oveq1
 |-  ( ( ( m x. N ) .x. X ) = ( m .x. ( N .x. X ) ) -> ( ( ( m x. N ) .x. X ) ( +g ` G ) ( N .x. X ) ) = ( ( m .x. ( N .x. X ) ) ( +g ` G ) ( N .x. X ) ) )
35 nncn
 |-  ( m e. NN -> m e. CC )
36 35 adantr
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> m e. CC )
37 simpr1
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> N e. NN )
38 37 nncnd
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> N e. CC )
39 36 38 adddirp1d
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( m + 1 ) x. N ) = ( ( m x. N ) + N ) )
40 39 oveq1d
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( ( m x. N ) + N ) .x. X ) )
41 simpr3
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> G e. Smgrp )
42 nnmulcl
 |-  ( ( m e. NN /\ N e. NN ) -> ( m x. N ) e. NN )
43 42 3ad2antr1
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( m x. N ) e. NN )
44 simpr2
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> X e. B )
45 eqid
 |-  ( +g ` G ) = ( +g ` G )
46 1 2 45 mulgnndir
 |-  ( ( G e. Smgrp /\ ( ( m x. N ) e. NN /\ N e. NN /\ X e. B ) ) -> ( ( ( m x. N ) + N ) .x. X ) = ( ( ( m x. N ) .x. X ) ( +g ` G ) ( N .x. X ) ) )
47 41 43 37 44 46 syl13anc
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( m x. N ) + N ) .x. X ) = ( ( ( m x. N ) .x. X ) ( +g ` G ) ( N .x. X ) ) )
48 40 47 eqtrd
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( ( m x. N ) .x. X ) ( +g ` G ) ( N .x. X ) ) )
49 1 2 45 mulgnnp1
 |-  ( ( m e. NN /\ ( N .x. X ) e. B ) -> ( ( m + 1 ) .x. ( N .x. X ) ) = ( ( m .x. ( N .x. X ) ) ( +g ` G ) ( N .x. X ) ) )
50 30 49 sylan2
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( m + 1 ) .x. ( N .x. X ) ) = ( ( m .x. ( N .x. X ) ) ( +g ` G ) ( N .x. X ) ) )
51 48 50 eqeq12d
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( ( m + 1 ) x. N ) .x. X ) = ( ( m + 1 ) .x. ( N .x. X ) ) <-> ( ( ( m x. N ) .x. X ) ( +g ` G ) ( N .x. X ) ) = ( ( m .x. ( N .x. X ) ) ( +g ` G ) ( N .x. X ) ) ) )
52 34 51 syl5ibr
 |-  ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( m x. N ) .x. X ) = ( m .x. ( N .x. X ) ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( m + 1 ) .x. ( N .x. X ) ) ) )
53 52 ex
 |-  ( m e. NN -> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( ( m x. N ) .x. X ) = ( m .x. ( N .x. X ) ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( m + 1 ) .x. ( N .x. X ) ) ) ) )
54 53 a2d
 |-  ( m e. NN -> ( ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( m x. N ) .x. X ) = ( m .x. ( N .x. X ) ) ) -> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( m + 1 ) .x. ( N .x. X ) ) ) ) )
55 7 12 17 22 33 54 nnind
 |-  ( M e. NN -> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) )
56 55 3expd
 |-  ( M e. NN -> ( N e. NN -> ( X e. B -> ( G e. Smgrp -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) ) )
57 56 com4r
 |-  ( G e. Smgrp -> ( M e. NN -> ( N e. NN -> ( X e. B -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) ) )
58 57 3imp2
 |-  ( ( G e. Smgrp /\ ( M e. NN /\ N e. NN /\ X e. B ) ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) )