This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Version of odcl2 for finite magmas: the multiples of an element A e. B are eventually periodic. (Contributed by SN, 3-Jul-2025)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | fimgmcyc.b | |- B = ( Base ` M ) |
|
| fimgmcyc.m | |- .x. = ( .g ` M ) |
||
| fimgmcyc.s | |- ( ph -> M e. Mgm ) |
||
| fimgmcyc.f | |- ( ph -> B e. Fin ) |
||
| fimgmcyc.a | |- ( ph -> A e. B ) |
||
| Assertion | fimgmcyc | |- ( ph -> E. o e. NN E. p e. NN ( o .x. A ) = ( ( o + p ) .x. A ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fimgmcyc.b | |- B = ( Base ` M ) |
|
| 2 | fimgmcyc.m | |- .x. = ( .g ` M ) |
|
| 3 | fimgmcyc.s | |- ( ph -> M e. Mgm ) |
|
| 4 | fimgmcyc.f | |- ( ph -> B e. Fin ) |
|
| 5 | fimgmcyc.a | |- ( ph -> A e. B ) |
|
| 6 | domnsym | |- ( NN ~<_ B -> -. B ~< NN ) |
|
| 7 | fisdomnn | |- ( B e. Fin -> B ~< NN ) |
|
| 8 | 4 7 | syl | |- ( ph -> B ~< NN ) |
| 9 | 6 8 | nsyl3 | |- ( ph -> -. NN ~<_ B ) |
| 10 | 1 | fvexi | |- B e. _V |
| 11 | 10 | f1dom | |- ( ( n e. NN |-> ( n .x. A ) ) : NN -1-1-> B -> NN ~<_ B ) |
| 12 | 9 11 | nsyl | |- ( ph -> -. ( n e. NN |-> ( n .x. A ) ) : NN -1-1-> B ) |
| 13 | 3 | adantr | |- ( ( ph /\ n e. NN ) -> M e. Mgm ) |
| 14 | simpr | |- ( ( ph /\ n e. NN ) -> n e. NN ) |
|
| 15 | 5 | adantr | |- ( ( ph /\ n e. NN ) -> A e. B ) |
| 16 | 1 2 | mulgnncl | |- ( ( M e. Mgm /\ n e. NN /\ A e. B ) -> ( n .x. A ) e. B ) |
| 17 | 13 14 15 16 | syl3anc | |- ( ( ph /\ n e. NN ) -> ( n .x. A ) e. B ) |
| 18 | 17 | fmpttd | |- ( ph -> ( n e. NN |-> ( n .x. A ) ) : NN --> B ) |
| 19 | dff13 | |- ( ( n e. NN |-> ( n .x. A ) ) : NN -1-1-> B <-> ( ( n e. NN |-> ( n .x. A ) ) : NN --> B /\ A. o e. NN A. q e. NN ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) ) ) |
|
| 20 | 19 | baib | |- ( ( n e. NN |-> ( n .x. A ) ) : NN --> B -> ( ( n e. NN |-> ( n .x. A ) ) : NN -1-1-> B <-> A. o e. NN A. q e. NN ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) ) ) |
| 21 | 18 20 | syl | |- ( ph -> ( ( n e. NN |-> ( n .x. A ) ) : NN -1-1-> B <-> A. o e. NN A. q e. NN ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) ) ) |
| 22 | 12 21 | mtbid | |- ( ph -> -. A. o e. NN A. q e. NN ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) ) |
| 23 | oveq1 | |- ( n = o -> ( n .x. A ) = ( o .x. A ) ) |
|
| 24 | eqid | |- ( n e. NN |-> ( n .x. A ) ) = ( n e. NN |-> ( n .x. A ) ) |
|
| 25 | ovex | |- ( o .x. A ) e. _V |
|
| 26 | 23 24 25 | fvmpt | |- ( o e. NN -> ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( o .x. A ) ) |
| 27 | oveq1 | |- ( n = q -> ( n .x. A ) = ( q .x. A ) ) |
|
| 28 | ovex | |- ( q .x. A ) e. _V |
|
| 29 | 27 24 28 | fvmpt | |- ( q e. NN -> ( ( n e. NN |-> ( n .x. A ) ) ` q ) = ( q .x. A ) ) |
| 30 | 26 29 | eqeqan12d | |- ( ( o e. NN /\ q e. NN ) -> ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) <-> ( o .x. A ) = ( q .x. A ) ) ) |
| 31 | 30 | imbi1d | |- ( ( o e. NN /\ q e. NN ) -> ( ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) <-> ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) ) |
| 32 | 31 | ralbidva | |- ( o e. NN -> ( A. q e. NN ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) <-> A. q e. NN ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) ) |
| 33 | 32 | ralbiia | |- ( A. o e. NN A. q e. NN ( ( ( n e. NN |-> ( n .x. A ) ) ` o ) = ( ( n e. NN |-> ( n .x. A ) ) ` q ) -> o = q ) <-> A. o e. NN A. q e. NN ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
| 34 | 22 33 | sylnib | |- ( ph -> -. A. o e. NN A. q e. NN ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
| 35 | df-ne | |- ( o =/= q <-> -. o = q ) |
|
| 36 | 35 | anbi1i | |- ( ( o =/= q /\ ( o .x. A ) = ( q .x. A ) ) <-> ( -. o = q /\ ( o .x. A ) = ( q .x. A ) ) ) |
| 37 | ancom | |- ( ( -. o = q /\ ( o .x. A ) = ( q .x. A ) ) <-> ( ( o .x. A ) = ( q .x. A ) /\ -. o = q ) ) |
|
| 38 | annim | |- ( ( ( o .x. A ) = ( q .x. A ) /\ -. o = q ) <-> -. ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
|
| 39 | 36 37 38 | 3bitri | |- ( ( o =/= q /\ ( o .x. A ) = ( q .x. A ) ) <-> -. ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
| 40 | 39 | 2rexbii | |- ( E. o e. NN E. q e. NN ( o =/= q /\ ( o .x. A ) = ( q .x. A ) ) <-> E. o e. NN E. q e. NN -. ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
| 41 | rexnal2 | |- ( E. o e. NN E. q e. NN -. ( ( o .x. A ) = ( q .x. A ) -> o = q ) <-> -. A. o e. NN A. q e. NN ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
|
| 42 | 40 41 | bitri | |- ( E. o e. NN E. q e. NN ( o =/= q /\ ( o .x. A ) = ( q .x. A ) ) <-> -. A. o e. NN A. q e. NN ( ( o .x. A ) = ( q .x. A ) -> o = q ) ) |
| 43 | 34 42 | sylibr | |- ( ph -> E. o e. NN E. q e. NN ( o =/= q /\ ( o .x. A ) = ( q .x. A ) ) ) |
| 44 | 43 | fimgmcyclem | |- ( ph -> E. o e. NN E. q e. NN ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) |
| 45 | nnz | |- ( o e. NN -> o e. ZZ ) |
|
| 46 | eluzp1 | |- ( o e. ZZ -> ( q e. ( ZZ>= ` ( o + 1 ) ) <-> ( q e. ZZ /\ o < q ) ) ) |
|
| 47 | 45 46 | syl | |- ( o e. NN -> ( q e. ( ZZ>= ` ( o + 1 ) ) <-> ( q e. ZZ /\ o < q ) ) ) |
| 48 | idd | |- ( ( o e. NN /\ o < q ) -> ( q e. ZZ -> q e. ZZ ) ) |
|
| 49 | nnz | |- ( q e. NN -> q e. ZZ ) |
|
| 50 | 49 | a1i | |- ( ( o e. NN /\ o < q ) -> ( q e. NN -> q e. ZZ ) ) |
| 51 | 0red | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> 0 e. RR ) |
|
| 52 | nnre | |- ( o e. NN -> o e. RR ) |
|
| 53 | 52 | ad2antrr | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> o e. RR ) |
| 54 | zre | |- ( q e. ZZ -> q e. RR ) |
|
| 55 | 54 | adantl | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> q e. RR ) |
| 56 | nngt0 | |- ( o e. NN -> 0 < o ) |
|
| 57 | 56 | ad2antrr | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> 0 < o ) |
| 58 | simplr | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> o < q ) |
|
| 59 | 51 53 55 57 58 | lttrd | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> 0 < q ) |
| 60 | elnnz | |- ( q e. NN <-> ( q e. ZZ /\ 0 < q ) ) |
|
| 61 | 60 | rbaibr | |- ( 0 < q -> ( q e. ZZ <-> q e. NN ) ) |
| 62 | 59 61 | syl | |- ( ( ( o e. NN /\ o < q ) /\ q e. ZZ ) -> ( q e. ZZ <-> q e. NN ) ) |
| 63 | 62 | ex | |- ( ( o e. NN /\ o < q ) -> ( q e. ZZ -> ( q e. ZZ <-> q e. NN ) ) ) |
| 64 | 48 50 63 | pm5.21ndd | |- ( ( o e. NN /\ o < q ) -> ( q e. ZZ <-> q e. NN ) ) |
| 65 | 64 | ex | |- ( o e. NN -> ( o < q -> ( q e. ZZ <-> q e. NN ) ) ) |
| 66 | 65 | pm5.32rd | |- ( o e. NN -> ( ( q e. ZZ /\ o < q ) <-> ( q e. NN /\ o < q ) ) ) |
| 67 | 47 66 | bitrd | |- ( o e. NN -> ( q e. ( ZZ>= ` ( o + 1 ) ) <-> ( q e. NN /\ o < q ) ) ) |
| 68 | 67 | anbi1d | |- ( o e. NN -> ( ( q e. ( ZZ>= ` ( o + 1 ) ) /\ ( o .x. A ) = ( q .x. A ) ) <-> ( ( q e. NN /\ o < q ) /\ ( o .x. A ) = ( q .x. A ) ) ) ) |
| 69 | anass | |- ( ( ( q e. NN /\ o < q ) /\ ( o .x. A ) = ( q .x. A ) ) <-> ( q e. NN /\ ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) ) |
|
| 70 | 68 69 | bitrdi | |- ( o e. NN -> ( ( q e. ( ZZ>= ` ( o + 1 ) ) /\ ( o .x. A ) = ( q .x. A ) ) <-> ( q e. NN /\ ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) ) ) |
| 71 | 70 | exbidv | |- ( o e. NN -> ( E. q ( q e. ( ZZ>= ` ( o + 1 ) ) /\ ( o .x. A ) = ( q .x. A ) ) <-> E. q ( q e. NN /\ ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) ) ) |
| 72 | df-rex | |- ( E. q e. ( ZZ>= ` ( o + 1 ) ) ( o .x. A ) = ( q .x. A ) <-> E. q ( q e. ( ZZ>= ` ( o + 1 ) ) /\ ( o .x. A ) = ( q .x. A ) ) ) |
|
| 73 | df-rex | |- ( E. q e. NN ( o < q /\ ( o .x. A ) = ( q .x. A ) ) <-> E. q ( q e. NN /\ ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) ) |
|
| 74 | 71 72 73 | 3bitr4g | |- ( o e. NN -> ( E. q e. ( ZZ>= ` ( o + 1 ) ) ( o .x. A ) = ( q .x. A ) <-> E. q e. NN ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) ) |
| 75 | 74 | rexbiia | |- ( E. o e. NN E. q e. ( ZZ>= ` ( o + 1 ) ) ( o .x. A ) = ( q .x. A ) <-> E. o e. NN E. q e. NN ( o < q /\ ( o .x. A ) = ( q .x. A ) ) ) |
| 76 | 44 75 | sylibr | |- ( ph -> E. o e. NN E. q e. ( ZZ>= ` ( o + 1 ) ) ( o .x. A ) = ( q .x. A ) ) |
| 77 | simplr | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> o e. NN ) |
|
| 78 | 77 | peano2nnd | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> ( o + 1 ) e. NN ) |
| 79 | 78 | nnzd | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> ( o + 1 ) e. ZZ ) |
| 80 | simpr | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> p e. NN ) |
|
| 81 | 77 80 | nnaddcld | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> ( o + p ) e. NN ) |
| 82 | 81 | nnzd | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> ( o + p ) e. ZZ ) |
| 83 | 1red | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> 1 e. RR ) |
|
| 84 | 80 | nnred | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> p e. RR ) |
| 85 | 77 | nnred | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> o e. RR ) |
| 86 | 80 | nnge1d | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> 1 <_ p ) |
| 87 | 83 84 85 86 | leadd2dd | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> ( o + 1 ) <_ ( o + p ) ) |
| 88 | eluz2 | |- ( ( o + p ) e. ( ZZ>= ` ( o + 1 ) ) <-> ( ( o + 1 ) e. ZZ /\ ( o + p ) e. ZZ /\ ( o + 1 ) <_ ( o + p ) ) ) |
|
| 89 | 79 82 87 88 | syl3anbrc | |- ( ( ( ph /\ o e. NN ) /\ p e. NN ) -> ( o + p ) e. ( ZZ>= ` ( o + 1 ) ) ) |
| 90 | simpr | |- ( ( ph /\ o e. NN ) -> o e. NN ) |
|
| 91 | 90 | nnzd | |- ( ( ph /\ o e. NN ) -> o e. ZZ ) |
| 92 | eluzp1l | |- ( ( o e. ZZ /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> o < q ) |
|
| 93 | 91 92 | sylan | |- ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> o < q ) |
| 94 | simplr | |- ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> o e. NN ) |
|
| 95 | peano2nn | |- ( o e. NN -> ( o + 1 ) e. NN ) |
|
| 96 | 95 | adantl | |- ( ( ph /\ o e. NN ) -> ( o + 1 ) e. NN ) |
| 97 | eluznn | |- ( ( ( o + 1 ) e. NN /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> q e. NN ) |
|
| 98 | 96 97 | sylan | |- ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> q e. NN ) |
| 99 | nnsub | |- ( ( o e. NN /\ q e. NN ) -> ( o < q <-> ( q - o ) e. NN ) ) |
|
| 100 | 94 98 99 | syl2anc | |- ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> ( o < q <-> ( q - o ) e. NN ) ) |
| 101 | 93 100 | mpbid | |- ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> ( q - o ) e. NN ) |
| 102 | eluzelcn | |- ( q e. ( ZZ>= ` ( o + 1 ) ) -> q e. CC ) |
|
| 103 | 102 | ad2antlr | |- ( ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) /\ p = ( q - o ) ) -> q e. CC ) |
| 104 | nncn | |- ( o e. NN -> o e. CC ) |
|
| 105 | 104 | adantl | |- ( ( ph /\ o e. NN ) -> o e. CC ) |
| 106 | 105 | ad2antrr | |- ( ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) /\ p = ( q - o ) ) -> o e. CC ) |
| 107 | simpr | |- ( ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) /\ p = ( q - o ) ) -> p = ( q - o ) ) |
|
| 108 | 103 106 107 | rsubrotld | |- ( ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) /\ p = ( q - o ) ) -> q = ( o + p ) ) |
| 109 | 101 108 | rspcedeq2vd | |- ( ( ( ph /\ o e. NN ) /\ q e. ( ZZ>= ` ( o + 1 ) ) ) -> E. p e. NN q = ( o + p ) ) |
| 110 | oveq1 | |- ( q = ( o + p ) -> ( q .x. A ) = ( ( o + p ) .x. A ) ) |
|
| 111 | 110 | eqeq2d | |- ( q = ( o + p ) -> ( ( o .x. A ) = ( q .x. A ) <-> ( o .x. A ) = ( ( o + p ) .x. A ) ) ) |
| 112 | 111 | adantl | |- ( ( ( ph /\ o e. NN ) /\ q = ( o + p ) ) -> ( ( o .x. A ) = ( q .x. A ) <-> ( o .x. A ) = ( ( o + p ) .x. A ) ) ) |
| 113 | 89 109 112 | rexxfrd | |- ( ( ph /\ o e. NN ) -> ( E. q e. ( ZZ>= ` ( o + 1 ) ) ( o .x. A ) = ( q .x. A ) <-> E. p e. NN ( o .x. A ) = ( ( o + p ) .x. A ) ) ) |
| 114 | 113 | rexbidva | |- ( ph -> ( E. o e. NN E. q e. ( ZZ>= ` ( o + 1 ) ) ( o .x. A ) = ( q .x. A ) <-> E. o e. NN E. p e. NN ( o .x. A ) = ( ( o + p ) .x. A ) ) ) |
| 115 | 76 114 | mpbid | |- ( ph -> E. o e. NN E. p e. NN ( o .x. A ) = ( ( o + p ) .x. A ) ) |