Metamath Proof Explorer


Theorem cshwshashlem2

Description: If cyclically shifting a word of length being a prime number and not of identical symbols by different numbers of positions, the resulting words are different. (Contributed by Alexander van der Vekens, 19-May-2018) (Revised by Alexander van der Vekens, 8-Jun-2018)

Ref Expression
Hypothesis cshwshash.0 φWWordVW
Assertion cshwshashlem2 φi0..^WWiW0L0..^WK0..^WK<LWcyclShiftLWcyclShiftK

Proof

Step Hyp Ref Expression
1 cshwshash.0 φWWordVW
2 oveq1 WcyclShiftL=WcyclShiftKWcyclShiftLcyclShiftWL=WcyclShiftKcyclShiftWL
3 2 eqcomd WcyclShiftL=WcyclShiftKWcyclShiftKcyclShiftWL=WcyclShiftLcyclShiftWL
4 3 ad2antrr WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftKcyclShiftWL=WcyclShiftLcyclShiftWL
5 1 simpld φWWordV
6 5 adantr φi0..^WWiW0WWordV
7 6 adantl WcyclShiftL=WcyclShiftKφi0..^WWiW0WWordV
8 7 adantr WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWWordV
9 elfzofz K0..^WK0W
10 9 3ad2ant2 L0..^WK0..^WK<LK0W
11 10 adantl WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LK0W
12 elfzofz L0..^WL0W
13 fznn0sub2 L0WWL0W
14 12 13 syl L0..^WWL0W
15 14 3ad2ant1 L0..^WK0..^WK<LWL0W
16 15 adantl WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWL0W
17 elfzo0 L0..^WL0WL<W
18 zre KK
19 18 adantr KL0WK
20 nnre WW
21 nn0re L0L
22 resubcl WLWL
23 20 21 22 syl2anr L0WWL
24 23 adantl KL0WWL
25 19 24 readdcld KL0WK+W-L
26 20 adantl L0WW
27 26 adantl KL0WW
28 25 27 jca KL0WK+W-LW
29 28 ex KL0WK+W-LW
30 elfzoelz K0..^WK
31 29 30 syl11 L0WK0..^WK+W-LW
32 31 3adant3 L0WL<WK0..^WK+W-LW
33 17 32 sylbi L0..^WK0..^WK+W-LW
34 33 imp L0..^WK0..^WK+W-LW
35 34 3adant3 L0..^WK0..^WK<LK+W-LW
36 fzonmapblen L0..^WK0..^WK<LK+W-L<W
37 ltle K+W-LWK+W-L<WK+W-LW
38 35 36 37 sylc L0..^WK0..^WK<LK+W-LW
39 38 adantl WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LK+W-LW
40 simpl WWordVK0WWL0WK+W-LWWWordV
41 elfzelz K0WK
42 41 3ad2ant1 K0WWL0WK+W-LWK
43 42 adantl WWordVK0WWL0WK+W-LWK
44 elfzelz WL0WWL
45 44 3ad2ant2 K0WWL0WK+W-LWWL
46 45 adantl WWordVK0WWL0WK+W-LWWL
47 2cshw WWordVKWLWcyclShiftKcyclShiftWL=WcyclShiftK+W-L
48 40 43 46 47 syl3anc WWordVK0WWL0WK+W-LWWcyclShiftKcyclShiftWL=WcyclShiftK+W-L
49 8 11 16 39 48 syl13anc WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftKcyclShiftWL=WcyclShiftK+W-L
50 12 3ad2ant1 L0..^WK0..^WK<LL0W
51 elfzelz L0WL
52 2cshwid WWordVLWcyclShiftLcyclShiftWL=W
53 51 52 sylan2 WWordVL0WWcyclShiftLcyclShiftWL=W
54 7 50 53 syl2an WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftLcyclShiftWL=W
55 4 49 54 3eqtr3d WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftK+W-L=W
56 simplrl WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<Lφ
57 simplrr WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<Li0..^WWiW0
58 3simpa L0WL<WL0W
59 17 58 sylbi L0..^WL0W
60 nnz WW
61 nn0z L0L
62 zsubcl WLWL
63 60 61 62 syl2anr L0WWL
64 63 anim1ci L0WKKWL
65 zaddcl KWLK+W-L
66 64 65 syl L0WKK+W-L
67 59 30 66 syl2an L0..^WK0..^WK+W-L
68 67 3adant3 L0..^WK0..^WK<LK+W-L
69 elfzo0 K0..^WK0WK<W
70 elnn0z K0K0K
71 18 ad2antrr K0KL0WL<WK
72 23 3adant3 L0WL<WWL
73 72 adantl K0KL0WL<WWL
74 simplr K0KL0WL<W0K
75 posdif LWL<W0<WL
76 21 20 75 syl2an L0WL<W0<WL
77 76 biimp3a L0WL<W0<WL
78 77 adantl K0KL0WL<W0<WL
79 71 73 74 78 addgegt0d K0KL0WL<W0<K+W-L
80 79 ex K0KL0WL<W0<K+W-L
81 70 80 sylbi K0L0WL<W0<K+W-L
82 81 3ad2ant1 K0WK<WL0WL<W0<K+W-L
83 69 82 sylbi K0..^WL0WL<W0<K+W-L
84 83 com12 L0WL<WK0..^W0<K+W-L
85 17 84 sylbi L0..^WK0..^W0<K+W-L
86 85 imp L0..^WK0..^W0<K+W-L
87 86 3adant3 L0..^WK0..^WK<L0<K+W-L
88 elnnz K+W-LK+W-L0<K+W-L
89 68 87 88 sylanbrc L0..^WK0..^WK<LK+W-L
90 17 simp2bi L0..^WW
91 90 3ad2ant1 L0..^WK0..^WK<LW
92 elfzo1 K+W-L1..^WK+W-LWK+W-L<W
93 89 91 36 92 syl3anbrc L0..^WK0..^WK<LK+W-L1..^W
94 93 adantl WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LK+W-L1..^W
95 1 cshwshashlem1 φi0..^WWiW0K+W-L1..^WWcyclShiftK+W-LW
96 56 57 94 95 syl3anc WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftK+W-LW
97 55 96 pm2.21ddne WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftLWcyclShiftK
98 97 exp31 WcyclShiftL=WcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftLWcyclShiftK
99 2a1 WcyclShiftLWcyclShiftKφi0..^WWiW0L0..^WK0..^WK<LWcyclShiftLWcyclShiftK
100 98 99 pm2.61ine φi0..^WWiW0L0..^WK0..^WK<LWcyclShiftLWcyclShiftK