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 · ˙ = 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 = Base G
2 mulgass.t · ˙ = G
3 oveq1 n = 1 n N = 1 N
4 3 oveq1d n = 1 n N · ˙ X = 1 N · ˙ X
5 oveq1 n = 1 n · ˙ N · ˙ X = 1 · ˙ N · ˙ X
6 4 5 eqeq12d n = 1 n N · ˙ X = n · ˙ N · ˙ X 1 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 = m n N = m N
9 8 oveq1d n = m n N · ˙ X = m N · ˙ X
10 oveq1 n = m n · ˙ N · ˙ X = m · ˙ N · ˙ X
11 9 10 eqeq12d n = m n N · ˙ X = n · ˙ N · ˙ X m 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 + 1 n N = m + 1 N
14 13 oveq1d n = m + 1 n N · ˙ X = m + 1 N · ˙ X
15 oveq1 n = m + 1 n · ˙ N · ˙ X = m + 1 · ˙ N · ˙ X
16 14 15 eqeq12d n = m + 1 n N · ˙ X = n · ˙ N · ˙ X m + 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 = M n N = M N
19 18 oveq1d n = M n N · ˙ X = M N · ˙ X
20 oveq1 n = M n · ˙ N · ˙ X = M · ˙ N · ˙ X
21 19 20 eqeq12d n = M n 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 N N
24 23 mulid2d N 1 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 G Mgm N X B N · ˙ X B
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 · ˙ X B 1 · ˙ 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 · ˙ X m N · ˙ X + G N · ˙ X = m · ˙ N · ˙ X + G N · ˙ X
35 nncn m m
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 m N m 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 m N · ˙ X B m + 1 · ˙ N · ˙ X = m · ˙ N · ˙ X + G N · ˙ 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 syl5ibr 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 |-