Metamath Proof Explorer


Theorem cshw1

Description: If cyclically shifting a word by 1 position results in the word itself, the word is build of identical symbols. Remark: also "valid" for an empty word! (Contributed by AV, 13-May-2018) (Revised by AV, 7-Jun-2018) (Proof shortened by AV, 1-Nov-2018)

Ref Expression
Assertion cshw1 WWordVWcyclShift1=Wi0..^WWi=W0

Proof

Step Hyp Ref Expression
1 ral0 iWi=W0
2 oveq2 W=00..^W=0..^0
3 fzo0 0..^0=
4 2 3 eqtrdi W=00..^W=
5 4 raleqdv W=0i0..^WWi=W0iWi=W0
6 1 5 mpbiri W=0i0..^WWi=W0
7 6 a1d W=0WWordVWcyclShift1=Wi0..^WWi=W0
8 simprl ¬W=0¬W=1WWordVWcyclShift1=WWWordV
9 lencl WWordVW0
10 1nn0 10
11 10 a1i W0¬W=0¬W=110
12 df-ne W0¬W=0
13 elnnne0 WW0W0
14 13 simplbi2com W0W0W
15 12 14 sylbir ¬W=0W0W
16 15 adantr ¬W=0¬W=1W0W
17 16 impcom W0¬W=0¬W=1W
18 neqne ¬W=1W1
19 18 ad2antll W0¬W=0¬W=1W1
20 nngt1ne1 W1<WW1
21 17 20 syl W0¬W=0¬W=11<WW1
22 19 21 mpbird W0¬W=0¬W=11<W
23 elfzo0 10..^W10W1<W
24 11 17 22 23 syl3anbrc W0¬W=0¬W=110..^W
25 24 ex W0¬W=0¬W=110..^W
26 9 25 syl WWordV¬W=0¬W=110..^W
27 26 adantr WWordVWcyclShift1=W¬W=0¬W=110..^W
28 27 impcom ¬W=0¬W=1WWordVWcyclShift1=W10..^W
29 simprr ¬W=0¬W=1WWordVWcyclShift1=WWcyclShift1=W
30 lbfzo0 00..^WW
31 30 13 sylbbr W0W000..^W
32 31 ex W0W000..^W
33 12 32 biimtrrid W0¬W=000..^W
34 9 33 syl WWordV¬W=000..^W
35 34 adantr WWordVWcyclShift1=W¬W=000..^W
36 35 com12 ¬W=0WWordVWcyclShift1=W00..^W
37 36 adantr ¬W=0¬W=1WWordVWcyclShift1=W00..^W
38 37 imp ¬W=0¬W=1WWordVWcyclShift1=W00..^W
39 elfzoelz 10..^W1
40 cshweqrep WWordV1WcyclShift1=W00..^Wi0W0=W0+i1modW
41 39 40 sylan2 WWordV10..^WWcyclShift1=W00..^Wi0W0=W0+i1modW
42 41 imp WWordV10..^WWcyclShift1=W00..^Wi0W0=W0+i1modW
43 8 28 29 38 42 syl22anc ¬W=0¬W=1WWordVWcyclShift1=Wi0W0=W0+i1modW
44 0nn0 00
45 fzossnn0 000..^W0
46 ssralv 0..^W0i0W0=W0+i1modWi0..^WW0=W0+i1modW
47 44 45 46 mp2b i0W0=W0+i1modWi0..^WW0=W0+i1modW
48 eqcom W0=W0+i1modWW0+i1modW=W0
49 elfzoelz i0..^Wi
50 zre ii
51 ax-1rid ii1=i
52 50 51 syl ii1=i
53 52 oveq2d i0+i1=0+i
54 zcn ii
55 54 addlidd i0+i=i
56 53 55 eqtrd i0+i1=i
57 49 56 syl i0..^W0+i1=i
58 57 oveq1d i0..^W0+i1modW=imodW
59 zmodidfzoimp i0..^WimodW=i
60 58 59 eqtrd i0..^W0+i1modW=i
61 60 fveqeq2d i0..^WW0+i1modW=W0Wi=W0
62 61 biimpd i0..^WW0+i1modW=W0Wi=W0
63 48 62 biimtrid i0..^WW0=W0+i1modWWi=W0
64 63 ralimia i0..^WW0=W0+i1modWi0..^WWi=W0
65 47 64 syl i0W0=W0+i1modWi0..^WWi=W0
66 43 65 syl ¬W=0¬W=1WWordVWcyclShift1=Wi0..^WWi=W0
67 66 ex ¬W=0¬W=1WWordVWcyclShift1=Wi0..^WWi=W0
68 67 impancom ¬W=0WWordVWcyclShift1=W¬W=1i0..^WWi=W0
69 eqid W0=W0
70 c0ex 0V
71 fveqeq2 i=0Wi=W0W0=W0
72 70 71 ralsn i0Wi=W0W0=W0
73 69 72 mpbir i0Wi=W0
74 oveq2 W=10..^W=0..^1
75 fzo01 0..^1=0
76 74 75 eqtrdi W=10..^W=0
77 76 raleqdv W=1i0..^WWi=W0i0Wi=W0
78 73 77 mpbiri W=1i0..^WWi=W0
79 68 78 pm2.61d2 ¬W=0WWordVWcyclShift1=Wi0..^WWi=W0
80 79 ex ¬W=0WWordVWcyclShift1=Wi0..^WWi=W0
81 7 80 pm2.61i WWordVWcyclShift1=Wi0..^WWi=W0