This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: If two multipliers are congruent relative to the base point's order, the corresponding multiples are the same. (Contributed by Mario Carneiro, 23-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 | mndodcong | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( O ` A ) || ( M - N ) <-> ( M .x. A ) = ( N .x. A ) ) ) |
| 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 | oveq1 | |- ( ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) -> ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) |
|
| 6 | simp2l | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> M e. NN0 ) |
|
| 7 | 6 | nn0zd | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> M e. ZZ ) |
| 8 | simp3 | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( O ` A ) e. NN ) |
|
| 9 | 7 8 | zmodcld | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( M mod ( O ` A ) ) e. NN0 ) |
| 10 | 9 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( M mod ( O ` A ) ) e. NN0 ) |
| 11 | 10 | nn0red | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( M mod ( O ` A ) ) e. RR ) |
| 12 | simp2r | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> N e. NN0 ) |
|
| 13 | 12 | nn0zd | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> N e. ZZ ) |
| 14 | 13 8 | zmodcld | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( N mod ( O ` A ) ) e. NN0 ) |
| 15 | 14 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( N mod ( O ` A ) ) e. NN0 ) |
| 16 | 15 | nn0red | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( N mod ( O ` A ) ) e. RR ) |
| 17 | simp1l | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> G e. Mnd ) |
|
| 18 | 17 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> G e. Mnd ) |
| 19 | simp1r | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> A e. X ) |
|
| 20 | 19 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> A e. X ) |
| 21 | 8 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( O ` A ) e. NN ) |
| 22 | 6 | nn0red | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> M e. RR ) |
| 23 | 8 | nnrpd | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( O ` A ) e. RR+ ) |
| 24 | modlt | |- ( ( M e. RR /\ ( O ` A ) e. RR+ ) -> ( M mod ( O ` A ) ) < ( O ` A ) ) |
|
| 25 | 22 23 24 | syl2anc | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( M mod ( O ` A ) ) < ( O ` A ) ) |
| 26 | 25 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( M mod ( O ` A ) ) < ( O ` A ) ) |
| 27 | 12 | nn0red | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> N e. RR ) |
| 28 | modlt | |- ( ( N e. RR /\ ( O ` A ) e. RR+ ) -> ( N mod ( O ` A ) ) < ( O ` A ) ) |
|
| 29 | 27 23 28 | syl2anc | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( N mod ( O ` A ) ) < ( O ` A ) ) |
| 30 | 29 | adantr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( N mod ( O ` A ) ) < ( O ` A ) ) |
| 31 | simpr | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) |
|
| 32 | 1 2 3 4 18 20 21 10 15 26 30 31 | mndodconglem | |- ( ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) /\ ( M mod ( O ` A ) ) <_ ( N mod ( O ` A ) ) ) -> ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) ) |
| 33 | 31 | eqcomd | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( ( N mod ( O ` A ) ) .x. A ) = ( ( M mod ( O ` A ) ) .x. A ) ) |
| 34 | 1 2 3 4 18 20 21 15 10 30 26 33 | mndodconglem | |- ( ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) /\ ( N mod ( O ` A ) ) <_ ( M mod ( O ` A ) ) ) -> ( N mod ( O ` A ) ) = ( M mod ( O ` A ) ) ) |
| 35 | 34 | eqcomd | |- ( ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) /\ ( N mod ( O ` A ) ) <_ ( M mod ( O ` A ) ) ) -> ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) ) |
| 36 | 11 16 32 35 | lecasei | |- ( ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) /\ ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) -> ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) ) |
| 37 | 36 | ex | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) -> ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) ) ) |
| 38 | 5 37 | impbid2 | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) <-> ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) ) ) |
| 39 | moddvds | |- ( ( ( O ` A ) e. NN /\ M e. ZZ /\ N e. ZZ ) -> ( ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) <-> ( O ` A ) || ( M - N ) ) ) |
|
| 40 | 8 7 13 39 | syl3anc | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( M mod ( O ` A ) ) = ( N mod ( O ` A ) ) <-> ( O ` A ) || ( M - N ) ) ) |
| 41 | 1 2 3 4 | odmodnn0 | |- ( ( ( G e. Mnd /\ A e. X /\ M e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( M mod ( O ` A ) ) .x. A ) = ( M .x. A ) ) |
| 42 | 17 19 6 8 41 | syl31anc | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( M mod ( O ` A ) ) .x. A ) = ( M .x. A ) ) |
| 43 | 1 2 3 4 | odmodnn0 | |- ( ( ( G e. Mnd /\ A e. X /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( N mod ( O ` A ) ) .x. A ) = ( N .x. A ) ) |
| 44 | 17 19 12 8 43 | syl31anc | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( N mod ( O ` A ) ) .x. A ) = ( N .x. A ) ) |
| 45 | 42 44 | eqeq12d | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( ( M mod ( O ` A ) ) .x. A ) = ( ( N mod ( O ` A ) ) .x. A ) <-> ( M .x. A ) = ( N .x. A ) ) ) |
| 46 | 38 40 45 | 3bitr3d | |- ( ( ( G e. Mnd /\ A e. X ) /\ ( M e. NN0 /\ N e. NN0 ) /\ ( O ` A ) e. NN ) -> ( ( O ` A ) || ( M - N ) <-> ( M .x. A ) = ( N .x. A ) ) ) |