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=BaseG
mulgass.t ·˙=G
Assertion mulgnnass Could not format assertion : No typesetting found for |- ( ( G e. Smgrp /\ ( M e. NN /\ N e. NN /\ X e. B ) ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 mulgass.b B=BaseG
2 mulgass.t ·˙=G
3 oveq1 n=1n N=1 N
4 3 oveq1d n=1n N·˙X=1 N·˙X
5 oveq1 n=1n·˙N·˙X=1·˙N·˙X
6 4 5 eqeq12d n=1n N·˙X=n·˙N·˙X1 N·˙X=1·˙N·˙X
7 6 imbi2d Could not format ( 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 ) ) ) ) ) : No typesetting found for |- ( 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 ) ) ) ) ) with typecode |-
8 oveq1 n=mn N=m N
9 8 oveq1d n=mn N·˙X=m N·˙X
10 oveq1 n=mn·˙N·˙X=m·˙N·˙X
11 9 10 eqeq12d n=mn N·˙X=n·˙N·˙Xm N·˙X=m·˙N·˙X
12 11 imbi2d Could not format ( 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 ) ) ) ) ) : No typesetting found for |- ( 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 ) ) ) ) ) with typecode |-
13 oveq1 n=m+1n N=m+1 N
14 13 oveq1d n=m+1n N·˙X=m+1 N·˙X
15 oveq1 n=m+1n·˙N·˙X=m+1·˙N·˙X
16 14 15 eqeq12d n=m+1n N·˙X=n·˙N·˙Xm+1 N·˙X=m+1·˙N·˙X
17 16 imbi2d Could not format ( 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 ) ) ) ) ) : No typesetting found for |- ( 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 ) ) ) ) ) with typecode |-
18 oveq1 n=Mn N= M N
19 18 oveq1d n=Mn N·˙X= M N·˙X
20 oveq1 n=Mn·˙N·˙X=M·˙N·˙X
21 19 20 eqeq12d n=Mn N·˙X=n·˙N·˙X M N·˙X=M·˙N·˙X
22 21 imbi2d Could not format ( 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 ) ) ) ) ) : No typesetting found for |- ( 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 ) ) ) ) ) with typecode |-
23 nncn NN
24 23 mullidd N1 N=N
25 24 3ad2ant1 Could not format ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( 1 x. N ) = N ) : No typesetting found for |- ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( 1 x. N ) = N ) with typecode |-
26 25 oveq1d Could not format ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( N .x. X ) ) : No typesetting found for |- ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( N .x. X ) ) with typecode |-
27 sgrpmgm Could not format ( G e. Smgrp -> G e. Mgm ) : No typesetting found for |- ( G e. Smgrp -> G e. Mgm ) with typecode |-
28 1 2 mulgnncl GMgmNXBN·˙XB
29 27 28 syl3an1 Could not format ( ( G e. Smgrp /\ N e. NN /\ X e. B ) -> ( N .x. X ) e. B ) : No typesetting found for |- ( ( G e. Smgrp /\ N e. NN /\ X e. B ) -> ( N .x. X ) e. B ) with typecode |-
30 29 3coml Could not format ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( N .x. X ) e. B ) : No typesetting found for |- ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( N .x. X ) e. B ) with typecode |-
31 1 2 mulg1 N·˙XB1·˙N·˙X=N·˙X
32 30 31 syl Could not format ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( 1 .x. ( N .x. X ) ) = ( N .x. X ) ) : No typesetting found for |- ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( 1 .x. ( N .x. X ) ) = ( N .x. X ) ) with typecode |-
33 26 32 eqtr4d Could not format ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( 1 .x. ( N .x. X ) ) ) : No typesetting found for |- ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( 1 x. N ) .x. X ) = ( 1 .x. ( N .x. X ) ) ) with typecode |-
34 oveq1 m N·˙X=m·˙N·˙Xm N·˙X+GN·˙X=m·˙N·˙X+GN·˙X
35 nncn mm
36 35 adantr Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> m e. CC ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> m e. CC ) with typecode |-
37 simpr1 Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> N e. NN ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> N e. NN ) with typecode |-
38 37 nncnd Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> N e. CC ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> N e. CC ) with typecode |-
39 36 38 adddirp1d Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( m + 1 ) x. N ) = ( ( m x. N ) + N ) ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( m + 1 ) x. N ) = ( ( m x. N ) + N ) ) with typecode |-
40 39 oveq1d Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( ( m x. N ) + N ) .x. X ) ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( ( ( m + 1 ) x. N ) .x. X ) = ( ( ( m x. N ) + N ) .x. X ) ) with typecode |-
41 simpr3 Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> G e. Smgrp ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> G e. Smgrp ) with typecode |-
42 nnmulcl mNm N
43 42 3ad2antr1 Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( m x. N ) e. NN ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> ( m x. N ) e. NN ) with typecode |-
44 simpr2 Could not format ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> X e. B ) : No typesetting found for |- ( ( m e. NN /\ ( N e. NN /\ X e. B /\ G e. Smgrp ) ) -> X e. B ) with typecode |-
45 eqid +G=+G
46 1 2 45 mulgnndir Could not format ( ( 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 ) ) ) : No typesetting found for |- ( ( 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 ) ) ) with typecode |-
47 41 43 37 44 46 syl13anc Could not format ( ( 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 ) ) ) : No typesetting found for |- ( ( 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 ) ) ) with typecode |-
48 40 47 eqtrd Could not format ( ( 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 ) ) ) : No typesetting found for |- ( ( 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 ) ) ) with typecode |-
49 1 2 45 mulgnnp1 mN·˙XBm+1·˙N·˙X=m·˙N·˙X+GN·˙X
50 30 49 sylan2 Could not format ( ( 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 ) ) ) : No typesetting found for |- ( ( 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 ) ) ) with typecode |-
51 48 50 eqeq12d Could not format ( ( 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 ) ) ) ) : No typesetting found for |- ( ( 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 ) ) ) ) with typecode |-
52 34 51 imbitrrid Could not format ( ( 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 ) ) ) ) : No typesetting found for |- ( ( 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 ) ) ) ) with typecode |-
53 52 ex Could not format ( 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 ) ) ) ) ) : No typesetting found for |- ( 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 ) ) ) ) ) with typecode |-
54 53 a2d Could not format ( 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 ) ) ) ) ) : No typesetting found for |- ( 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 ) ) ) ) ) with typecode |-
55 7 12 17 22 33 54 nnind Could not format ( M e. NN -> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) : No typesetting found for |- ( M e. NN -> ( ( N e. NN /\ X e. B /\ G e. Smgrp ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) with typecode |-
56 55 3expd Could not format ( M e. NN -> ( N e. NN -> ( X e. B -> ( G e. Smgrp -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) ) ) : No typesetting found for |- ( M e. NN -> ( N e. NN -> ( X e. B -> ( G e. Smgrp -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) ) ) with typecode |-
57 56 com4r Could not format ( G e. Smgrp -> ( M e. NN -> ( N e. NN -> ( X e. B -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) ) ) : No typesetting found for |- ( G e. Smgrp -> ( M e. NN -> ( N e. NN -> ( X e. B -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) ) ) ) with typecode |-
58 57 3imp2 Could not format ( ( G e. Smgrp /\ ( M e. NN /\ N e. NN /\ X e. B ) ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) : No typesetting found for |- ( ( G e. Smgrp /\ ( M e. NN /\ N e. NN /\ X e. B ) ) -> ( ( M x. N ) .x. X ) = ( M .x. ( N .x. X ) ) ) with typecode |-