Metamath Proof Explorer


Theorem odmod

Description: Reduce the argument of a group multiple by modding out the order of the element. (Contributed by Mario Carneiro, 14-Jan-2015) (Revised by Mario Carneiro, 6-Sep-2015)

Ref Expression
Hypotheses odcl.1
|- X = ( Base ` G )
odcl.2
|- O = ( od ` G )
odid.3
|- .x. = ( .g ` G )
odid.4
|- .0. = ( 0g ` G )
Assertion odmod
|- ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N mod ( O ` A ) ) .x. A ) = ( N .x. A ) )

Proof

Step Hyp Ref Expression
1 odcl.1
 |-  X = ( Base ` G )
2 odcl.2
 |-  O = ( od ` G )
3 odid.3
 |-  .x. = ( .g ` G )
4 odid.4
 |-  .0. = ( 0g ` G )
5 simpl3
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> N e. ZZ )
6 5 zred
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> N e. RR )
7 simpr
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( O ` A ) e. NN )
8 7 nnrpd
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( O ` A ) e. RR+ )
9 modval
 |-  ( ( N e. RR /\ ( O ` A ) e. RR+ ) -> ( N mod ( O ` A ) ) = ( N - ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) ) )
10 6 8 9 syl2anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( N mod ( O ` A ) ) = ( N - ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) ) )
11 10 oveq1d
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N mod ( O ` A ) ) .x. A ) = ( ( N - ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) ) .x. A ) )
12 simpl1
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> G e. Grp )
13 7 nnzd
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( O ` A ) e. ZZ )
14 6 7 nndivred
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( N / ( O ` A ) ) e. RR )
15 14 flcld
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( |_ ` ( N / ( O ` A ) ) ) e. ZZ )
16 13 15 zmulcld
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) e. ZZ )
17 simpl2
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> A e. X )
18 eqid
 |-  ( -g ` G ) = ( -g ` G )
19 1 3 18 mulgsubdir
 |-  ( ( G e. Grp /\ ( N e. ZZ /\ ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) e. ZZ /\ A e. X ) ) -> ( ( N - ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) ) .x. A ) = ( ( N .x. A ) ( -g ` G ) ( ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) .x. A ) ) )
20 12 5 16 17 19 syl13anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N - ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) ) .x. A ) = ( ( N .x. A ) ( -g ` G ) ( ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) .x. A ) ) )
21 nncn
 |-  ( ( O ` A ) e. NN -> ( O ` A ) e. CC )
22 zcn
 |-  ( ( |_ ` ( N / ( O ` A ) ) ) e. ZZ -> ( |_ ` ( N / ( O ` A ) ) ) e. CC )
23 mulcom
 |-  ( ( ( O ` A ) e. CC /\ ( |_ ` ( N / ( O ` A ) ) ) e. CC ) -> ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) = ( ( |_ ` ( N / ( O ` A ) ) ) x. ( O ` A ) ) )
24 21 22 23 syl2an
 |-  ( ( ( O ` A ) e. NN /\ ( |_ ` ( N / ( O ` A ) ) ) e. ZZ ) -> ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) = ( ( |_ ` ( N / ( O ` A ) ) ) x. ( O ` A ) ) )
25 7 15 24 syl2anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) = ( ( |_ ` ( N / ( O ` A ) ) ) x. ( O ` A ) ) )
26 25 oveq1d
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) .x. A ) = ( ( ( |_ ` ( N / ( O ` A ) ) ) x. ( O ` A ) ) .x. A ) )
27 1 3 mulgass
 |-  ( ( G e. Grp /\ ( ( |_ ` ( N / ( O ` A ) ) ) e. ZZ /\ ( O ` A ) e. ZZ /\ A e. X ) ) -> ( ( ( |_ ` ( N / ( O ` A ) ) ) x. ( O ` A ) ) .x. A ) = ( ( |_ ` ( N / ( O ` A ) ) ) .x. ( ( O ` A ) .x. A ) ) )
28 12 15 13 17 27 syl13anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( ( |_ ` ( N / ( O ` A ) ) ) x. ( O ` A ) ) .x. A ) = ( ( |_ ` ( N / ( O ` A ) ) ) .x. ( ( O ` A ) .x. A ) ) )
29 1 2 3 4 odid
 |-  ( A e. X -> ( ( O ` A ) .x. A ) = .0. )
30 17 29 syl
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( O ` A ) .x. A ) = .0. )
31 30 oveq2d
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( |_ ` ( N / ( O ` A ) ) ) .x. ( ( O ` A ) .x. A ) ) = ( ( |_ ` ( N / ( O ` A ) ) ) .x. .0. ) )
32 1 3 4 mulgz
 |-  ( ( G e. Grp /\ ( |_ ` ( N / ( O ` A ) ) ) e. ZZ ) -> ( ( |_ ` ( N / ( O ` A ) ) ) .x. .0. ) = .0. )
33 12 15 32 syl2anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( |_ ` ( N / ( O ` A ) ) ) .x. .0. ) = .0. )
34 31 33 eqtrd
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( |_ ` ( N / ( O ` A ) ) ) .x. ( ( O ` A ) .x. A ) ) = .0. )
35 26 28 34 3eqtrd
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) .x. A ) = .0. )
36 35 oveq2d
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N .x. A ) ( -g ` G ) ( ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) .x. A ) ) = ( ( N .x. A ) ( -g ` G ) .0. ) )
37 1 3 mulgcl
 |-  ( ( G e. Grp /\ N e. ZZ /\ A e. X ) -> ( N .x. A ) e. X )
38 12 5 17 37 syl3anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( N .x. A ) e. X )
39 1 4 18 grpsubid1
 |-  ( ( G e. Grp /\ ( N .x. A ) e. X ) -> ( ( N .x. A ) ( -g ` G ) .0. ) = ( N .x. A ) )
40 12 38 39 syl2anc
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N .x. A ) ( -g ` G ) .0. ) = ( N .x. A ) )
41 36 40 eqtrd
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N .x. A ) ( -g ` G ) ( ( ( O ` A ) x. ( |_ ` ( N / ( O ` A ) ) ) ) .x. A ) ) = ( N .x. A ) )
42 11 20 41 3eqtrd
 |-  ( ( ( G e. Grp /\ A e. X /\ N e. ZZ ) /\ ( O ` A ) e. NN ) -> ( ( N mod ( O ` A ) ) .x. A ) = ( N .x. A ) )