MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cshwshashlem1 Structured version   Unicode version

Theorem cshwshashlem1 14114
Description: If cyclically shifting a word of length being a prime number not consisting of identical symbols by at least one position (and not by as many positions as the length of the word), the result will not be the word itself. (Contributed by AV, 19-May-2018.) (Revised by AV, 8-Jun-2018.) (Revised by AV, 10-Nov-2018.)
Hypothesis
Ref Expression
cshwshash.0  |-  ( ph  ->  ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )
)
Assertion
Ref Expression
cshwshashlem1  |-  ( (
ph  /\  E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  /\  L  e.  ( 1..^ ( # `  W ) ) )  ->  ( W cyclShift  L )  =/=  W )
Distinct variable groups:    i, L    i, V    i, W    ph, i

Proof of Theorem cshwshashlem1
StepHypRef Expression
1 df-ne 2603 . . . . . . 7  |-  ( ( W `  i )  =/=  ( W ` 
0 )  <->  -.  ( W `  i )  =  ( W ` 
0 ) )
21rexbii 2735 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 ) )
3 rexnal 2721 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 )  <->  -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
42, 3bitri 249 . . . . 5  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
5 simpll 753 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  ph )
6 fzo0ss1 11571 . . . . . . . . . . . . . 14  |-  ( 1..^ ( # `  W
) )  C_  (
0..^ ( # `  W
) )
7 fzossfz 11562 . . . . . . . . . . . . . 14  |-  ( 0..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
86, 7sstri 3360 . . . . . . . . . . . . 13  |-  ( 1..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
98sseli 3347 . . . . . . . . . . . 12  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  L  e.  ( 0 ... ( # `
 W ) ) )
109ad2antlr 726 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  L  e.  ( 0 ... ( # `  W
) ) )
11 simpr 461 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( W cyclShift  L )  =  W )
12 cshwshash.0 . . . . . . . . . . . . 13  |-  ( ph  ->  ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )
)
13 simpll 753 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  ->  W  e. Word  V )
14 simpr 461 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  ->  ( # `
 W )  e. 
Prime )
1514adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( # `  W )  e.  Prime )
16 elfzelz 11445 . . . . . . . . . . . . . . . . . 18  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  L  e.  ZZ )
1716adantl 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  ->  L  e.  ZZ )
18 cshwsidrepswmod0 14113 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime  /\  L  e.  ZZ )  ->  (
( W cyclShift  L )  =  W  ->  ( ( L  mod  ( # `  W
) )  =  0  \/  W  =  ( ( W `  0
) repeatS  ( # `  W
) ) ) ) )
1913, 15, 17, 18syl3anc 1218 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( ( W cyclShift  L )  =  W  ->  (
( L  mod  ( # `
 W ) )  =  0  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) ) ) )
2019ex 434 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  ->  ( L  e.  ( 0 ... ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( ( L  mod  ( # `  W
) )  =  0  \/  W  =  ( ( W `  0
) repeatS  ( # `  W
) ) ) ) ) )
21203imp 1181 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W )  ->  ( ( L  mod  ( # `  W
) )  =  0  \/  W  =  ( ( W `  0
) repeatS  ( # `  W
) ) ) )
22 olc 384 . . . . . . . . . . . . . . . . . . . 20  |-  ( L  =  ( # `  W
)  ->  ( L  =  0  \/  L  =  ( # `  W
) ) )
2322a1d 25 . . . . . . . . . . . . . . . . . . 19  |-  ( L  =  ( # `  W
)  ->  ( (
( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) )  ->  ( L  =  0  \/  L  =  ( # `  W
) ) ) )
24 fzofzim 11585 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( L  =/=  ( # `  W )  /\  L  e.  ( 0 ... ( # `
 W ) ) )  ->  L  e.  ( 0..^ ( # `  W
) ) )
25 zmodidfzoimp 11730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( L  e.  ( 0..^ (
# `  W )
)  ->  ( L  mod  ( # `  W
) )  =  L )
26 eqtr2 2456 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( L  mod  ( # `
 W ) )  =  L  /\  ( L  mod  ( # `  W
) )  =  0 )  ->  L  = 
0 )
2726a1d 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( L  mod  ( # `
 W ) )  =  L  /\  ( L  mod  ( # `  W
) )  =  0 )  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) )
2827ex 434 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( L  mod  ( # `  W ) )  =  L  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) )
2925, 28syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( L  e.  ( 0..^ (
# `  W )
)  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) )
3024, 29syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( L  =/=  ( # `  W )  /\  L  e.  ( 0 ... ( # `
 W ) ) )  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) )
3130expcom 435 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  ( L  =/=  ( # `  W
)  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) ) )
3231com24 87 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  ->  ( ( L  mod  ( # `  W ) )  =  0  -> 
( L  =/=  ( # `
 W )  ->  L  =  0 ) ) ) )
3332impcom 430 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( ( L  mod  ( # `  W ) )  =  0  -> 
( L  =/=  ( # `
 W )  ->  L  =  0 ) ) )
34333adant3 1008 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W )  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( L  =/=  ( # `  W
)  ->  L  = 
0 ) ) )
3534impcom 430 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) )  ->  ( L  =/=  ( # `  W
)  ->  L  = 
0 ) )
3635impcom 430 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( L  =/=  ( # `  W )  /\  (
( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) ) )  ->  L  =  0 )
3736orcd 392 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( L  =/=  ( # `  W )  /\  (
( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) ) )  -> 
( L  =  0  \/  L  =  (
# `  W )
) )
3837ex 434 . . . . . . . . . . . . . . . . . . 19  |-  ( L  =/=  ( # `  W
)  ->  ( (
( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) )  ->  ( L  =  0  \/  L  =  ( # `  W
) ) ) )
3923, 38pm2.61ine 2682 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) )  ->  ( L  =  0  \/  L  =  ( # `  W
) ) )
4039orcd 392 . . . . . . . . . . . . . . . . 17  |-  ( ( ( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) )  ->  (
( L  =  0  \/  L  =  (
# `  W )
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) )
41 df-3or 966 . . . . . . . . . . . . . . . . 17  |-  ( ( L  =  0  \/  L  =  ( # `  W )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) )  <->  ( ( L  =  0  \/  L  =  ( # `  W
) )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) ) )
4240, 41sylibr 212 . . . . . . . . . . . . . . . 16  |-  ( ( ( L  mod  ( # `
 W ) )  =  0  /\  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W ) )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) )
4342ex 434 . . . . . . . . . . . . . . 15  |-  ( ( L  mod  ( # `  W ) )  =  0  ->  ( (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) ) )
44 3mix3 1159 . . . . . . . . . . . . . . . 16  |-  ( W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) )
4544a1d 25 . . . . . . . . . . . . . . 15  |-  ( W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) )  ->  ( ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  W  =  (
( W `  0
) repeatS  ( # `  W
) ) ) ) )
4643, 45jaoi 379 . . . . . . . . . . . . . 14  |-  ( ( ( L  mod  ( # `
 W ) )  =  0  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) )  ->  ( (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) ) )
4721, 46mpcom 36 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) )
4812, 47syl3an1 1251 . . . . . . . . . . . 12  |-  ( (
ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  W  =  (
( W `  0
) repeatS  ( # `  W
) ) ) )
49 3mix1 1157 . . . . . . . . . . . . . 14  |-  ( L  =  0  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
5049a1d 25 . . . . . . . . . . . . 13  |-  ( L  =  0  ->  (
( ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) ) )
51 3mix2 1158 . . . . . . . . . . . . . 14  |-  ( L  =  ( # `  W
)  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
5251a1d 25 . . . . . . . . . . . . 13  |-  ( L  =  ( # `  W
)  ->  ( ( ph  /\  L  e.  ( 0 ... ( # `  W ) )  /\  ( W cyclShift  L )  =  W )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) ) )
53 repswsymballbi 12410 . . . . . . . . . . . . . . . . . . 19  |-  ( W  e. Word  V  ->  ( W  =  ( ( W `  0 ) repeatS  (
# `  W )
)  <->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
5453adantr 465 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  ->  ( W  =  ( ( W `  0 ) repeatS  (
# `  W )
)  <->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
5512, 54syl 16 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( W  =  ( ( W `  0
) repeatS  ( # `  W
) )  <->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
56553ad2ant1 1009 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( W  =  ( ( W `  0
) repeatS  ( # `  W
) )  <->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
5756biimpa 484 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  /\  W  =  ( ( W `  0 ) repeatS  (
# `  W )
) )  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
58573mix3d 1165 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  /\  W  =  ( ( W `  0 ) repeatS  (
# `  W )
) )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
5958expcom 435 . . . . . . . . . . . . 13  |-  ( W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) )  ->  ( ( ph  /\  L  e.  ( 0 ... ( # `  W
) )  /\  ( W cyclShift  L )  =  W )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) ) )
6050, 52, 593jaoi 1281 . . . . . . . . . . . 12  |-  ( ( L  =  0  \/  L  =  ( # `  W )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) )  ->  ( ( ph  /\  L  e.  ( 0 ... ( # `  W ) )  /\  ( W cyclShift  L )  =  W )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) ) )
6148, 60mpcom 36 . . . . . . . . . . 11  |-  ( (
ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
625, 10, 11, 61syl3anc 1218 . . . . . . . . . 10  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
63 elfzo1 11587 . . . . . . . . . . . . . 14  |-  ( L  e.  ( 1..^ (
# `  W )
)  <->  ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W ) ) )
64 nnne0 10346 . . . . . . . . . . . . . . . 16  |-  ( L  e.  NN  ->  L  =/=  0 )
65 df-ne 2603 . . . . . . . . . . . . . . . . 17  |-  ( L  =/=  0  <->  -.  L  =  0 )
66 pm2.21 108 . . . . . . . . . . . . . . . . 17  |-  ( -.  L  =  0  -> 
( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
6765, 66sylbi 195 . . . . . . . . . . . . . . . 16  |-  ( L  =/=  0  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
6864, 67syl 16 . . . . . . . . . . . . . . 15  |-  ( L  e.  NN  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
69683ad2ant1 1009 . . . . . . . . . . . . . 14  |-  ( ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7063, 69sylbi 195 . . . . . . . . . . . . 13  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
7170ad2antlr 726 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7271com12 31 . . . . . . . . . . 11  |-  ( L  =  0  ->  (
( ( ph  /\  L  e.  ( 1..^ ( # `  W
) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
73 nnre 10321 . . . . . . . . . . . . . . . . 17  |-  ( L  e.  NN  ->  L  e.  RR )
74 ltne 9463 . . . . . . . . . . . . . . . . 17  |-  ( ( L  e.  RR  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
7573, 74sylan 471 . . . . . . . . . . . . . . . 16  |-  ( ( L  e.  NN  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
76 df-ne 2603 . . . . . . . . . . . . . . . . 17  |-  ( (
# `  W )  =/=  L  <->  -.  ( # `  W
)  =  L )
77 eqcom 2440 . . . . . . . . . . . . . . . . . 18  |-  ( L  =  ( # `  W
)  <->  ( # `  W
)  =  L )
78 pm2.21 108 . . . . . . . . . . . . . . . . . 18  |-  ( -.  ( # `  W
)  =  L  -> 
( ( # `  W
)  =  L  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7977, 78syl5bi 217 . . . . . . . . . . . . . . . . 17  |-  ( -.  ( # `  W
)  =  L  -> 
( L  =  (
# `  W )  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
8076, 79sylbi 195 . . . . . . . . . . . . . . . 16  |-  ( (
# `  W )  =/=  L  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8175, 80syl 16 . . . . . . . . . . . . . . 15  |-  ( ( L  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
82813adant2 1007 . . . . . . . . . . . . . 14  |-  ( ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8363, 82sylbi 195 . . . . . . . . . . . . 13  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8483ad2antlr 726 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  (
# `  W )  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
8584com12 31 . . . . . . . . . . 11  |-  ( L  =  ( # `  W
)  ->  ( (
( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
86 ax-1 6 . . . . . . . . . . 11  |-  ( A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( (
( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
8772, 85, 863jaoi 1281 . . . . . . . . . 10  |-  ( ( L  =  0  \/  L  =  ( # `  W )  \/  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) )  ->  (
( ( ph  /\  L  e.  ( 1..^ ( # `  W
) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8862, 87mpcom 36 . . . . . . . . 9  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) )
8988pm2.24d 143 . . . . . . . 8  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 )  ->  ( W cyclShift  L )  =/=  W
) )
9089exp31 604 . . . . . . 7  |-  ( ph  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( -.  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( W cyclShift  L )  =/=  W ) ) ) )
9190com34 83 . . . . . 6  |-  ( ph  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  ( -.  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( ( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
9291com23 78 . . . . 5  |-  ( ph  ->  ( -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 )  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
934, 92syl5bi 217 . . . 4  |-  ( ph  ->  ( E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
94933imp 1181 . . 3  |-  ( (
ph  /\  E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  /\  L  e.  ( 1..^ ( # `  W ) ) )  ->  ( ( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) )
9594com12 31 . 2  |-  ( ( W cyclShift  L )  =  W  ->  ( ( ph  /\ 
E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  /\  L  e.  ( 1..^ ( # `  W
) ) )  -> 
( W cyclShift  L )  =/= 
W ) )
96 ax-1 6 . 2  |-  ( ( W cyclShift  L )  =/=  W  ->  ( ( ph  /\  E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  /\  L  e.  ( 1..^ ( # `  W
) ) )  -> 
( W cyclShift  L )  =/= 
W ) )
9795, 96pm2.61ine 2682 1  |-  ( (
ph  /\  E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  /\  L  e.  ( 1..^ ( # `  W ) ) )  ->  ( W cyclShift  L )  =/=  W )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 368    /\ wa 369    \/ w3o 964    /\ w3a 965    = wceq 1369    e. wcel 1756    =/= wne 2601   A.wral 2710   E.wrex 2711   class class class wbr 4287   ` cfv 5413  (class class class)co 6086   RRcr 9273   0cc0 9274   1c1 9275    < clt 9410   NNcn 10314   ZZcz 10638   ...cfz 11429  ..^cfzo 11540    mod cmo 11700   #chash 12095  Word cword 12213   repeatS creps 12220   cyclShift ccsh 12417   Primecprime 13755
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2419  ax-rep 4398  ax-sep 4408  ax-nul 4416  ax-pow 4465  ax-pr 4526  ax-un 6367  ax-cnex 9330  ax-resscn 9331  ax-1cn 9332  ax-icn 9333  ax-addcl 9334  ax-addrcl 9335  ax-mulcl 9336  ax-mulrcl 9337  ax-mulcom 9338  ax-addass 9339  ax-mulass 9340  ax-distr 9341  ax-i2m1 9342  ax-1ne0 9343  ax-1rid 9344  ax-rnegex 9345  ax-rrecex 9346  ax-cnre 9347  ax-pre-lttri 9348  ax-pre-lttrn 9349  ax-pre-ltadd 9350  ax-pre-mulgt0 9351  ax-pre-sup 9352
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2256  df-mo 2257  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2715  df-rex 2716  df-reu 2717  df-rmo 2718  df-rab 2719  df-v 2969  df-sbc 3182  df-csb 3284  df-dif 3326  df-un 3328  df-in 3330  df-ss 3337  df-pss 3339  df-nul 3633  df-if 3787  df-pw 3857  df-sn 3873  df-pr 3875  df-tp 3877  df-op 3879  df-uni 4087  df-int 4124  df-iun 4168  df-br 4288  df-opab 4346  df-mpt 4347  df-tr 4381  df-eprel 4627  df-id 4631  df-po 4636  df-so 4637  df-fr 4674  df-we 4676  df-ord 4717  df-on 4718  df-lim 4719  df-suc 4720  df-xp 4841  df-rel 4842  df-cnv 4843  df-co 4844  df-dm 4845  df-rn 4846  df-res 4847  df-ima 4848  df-iota 5376  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-riota 6047  df-ov 6089  df-oprab 6090  df-mpt2 6091  df-om 6472  df-1st 6572  df-2nd 6573  df-recs 6824  df-rdg 6858  df-1o 6912  df-2o 6913  df-oadd 6916  df-er 7093  df-map 7208  df-en 7303  df-dom 7304  df-sdom 7305  df-fin 7306  df-sup 7683  df-card 8101  df-cda 8329  df-pnf 9412  df-mnf 9413  df-xr 9414  df-ltxr 9415  df-le 9416  df-sub 9589  df-neg 9590  df-div 9986  df-nn 10315  df-2 10372  df-3 10373  df-n0 10572  df-z 10639  df-uz 10854  df-rp 10984  df-fz 11430  df-fzo 11541  df-fl 11634  df-mod 11701  df-seq 11799  df-exp 11858  df-hash 12096  df-word 12221  df-concat 12223  df-substr 12225  df-reps 12228  df-csh 12418  df-cj 12580  df-re 12581  df-im 12582  df-sqr 12716  df-abs 12717  df-dvds 13528  df-gcd 13683  df-prm 13756  df-phi 13833
This theorem is referenced by:  cshwshashlem2  14115
  Copyright terms: Public domain W3C validator