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

Theorem cshwshashlem1 14437
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 2664 . . . . . . 7  |-  ( ( W `  i )  =/=  ( W ` 
0 )  <->  -.  ( W `  i )  =  ( W ` 
0 ) )
21rexbii 2965 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 ) )
3 rexnal 2912 . . . . . 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 11822 . . . . . . . . . . . . . 14  |-  ( 1..^ ( # `  W
) )  C_  (
0..^ ( # `  W
) )
7 fzossfz 11813 . . . . . . . . . . . . . 14  |-  ( 0..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
86, 7sstri 3513 . . . . . . . . . . . . 13  |-  ( 1..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
98sseli 3500 . . . . . . . . . . . 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 11687 . . . . . . . . . . . . . . . . . 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 14436 . . . . . . . . . . . . . . . . 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 1228 . . . . . . . . . . . . . . . 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 1190 . . . . . . . . . . . . . 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 11836 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( L  =/=  ( # `  W )  /\  L  e.  ( 0 ... ( # `
 W ) ) )  ->  L  e.  ( 0..^ ( # `  W
) ) )
25 zmodidfzoimp 11993 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( L  e.  ( 0..^ (
# `  W )
)  ->  ( L  mod  ( # `  W
) )  =  L )
26 eqtr2 2494 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1016 . . . . . . . . . . . . . . . . . . . . . . 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 2780 . . . . . . . . . . . . . . . . . 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 974 . . . . . . . . . . . . . . . . 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 1167 . . . . . . . . . . . . . . . 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 1261 . . . . . . . . . . . 12  |-  ( (
ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  W  =  (
( W `  0
) repeatS  ( # `  W
) ) ) )
49 3mix1 1165 . . . . . . . . . . . . . 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 1166 . . . . . . . . . . . . . 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 12714 . . . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . . . 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 1173 . . . . . . . . . . . . . 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 1291 . . . . . . . . . . . 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 1228 . . . . . . . . . 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 11838 . . . . . . . . . . . . . 14  |-  ( L  e.  ( 1..^ (
# `  W )
)  <->  ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W ) ) )
64 nnne0 10567 . . . . . . . . . . . . . . . 16  |-  ( L  e.  NN  ->  L  =/=  0 )
65 df-ne 2664 . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . 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 10542 . . . . . . . . . . . . . . . . 17  |-  ( L  e.  NN  ->  L  e.  RR )
74 ltne 9680 . . . . . . . . . . . . . . . . 17  |-  ( ( L  e.  RR  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
7573, 74sylan 471 . . . . . . . . . . . . . . . 16  |-  ( ( L  e.  NN  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
76 df-ne 2664 . . . . . . . . . . . . . . . . 17  |-  ( (
# `  W )  =/=  L  <->  -.  ( # `  W
)  =  L )
77 eqcom 2476 . . . . . . . . . . . . . . . . . 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 1015 . . . . . . . . . . . . . 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 1291 . . . . . . . . . 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 1190 . . 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 2780 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 972    /\ w3a 973    = wceq 1379    e. wcel 1767    =/= wne 2662   A.wral 2814   E.wrex 2815   class class class wbr 4447   ` cfv 5587  (class class class)co 6283   RRcr 9490   0cc0 9491   1c1 9492    < clt 9627   NNcn 10535   ZZcz 10863   ...cfz 11671  ..^cfzo 11791    mod cmo 11963   #chash 12372  Word cword 12499   repeatS creps 12506   cyclShift ccsh 12721   Primecprime 14075
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6575  ax-cnex 9547  ax-resscn 9548  ax-1cn 9549  ax-icn 9550  ax-addcl 9551  ax-addrcl 9552  ax-mulcl 9553  ax-mulrcl 9554  ax-mulcom 9555  ax-addass 9556  ax-mulass 9557  ax-distr 9558  ax-i2m1 9559  ax-1ne0 9560  ax-1rid 9561  ax-rnegex 9562  ax-rrecex 9563  ax-cnre 9564  ax-pre-lttri 9565  ax-pre-lttrn 9566  ax-pre-ltadd 9567  ax-pre-mulgt0 9568  ax-pre-sup 9569
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5550  df-fun 5589  df-fn 5590  df-f 5591  df-f1 5592  df-fo 5593  df-f1o 5594  df-fv 5595  df-riota 6244  df-ov 6286  df-oprab 6287  df-mpt2 6288  df-om 6680  df-1st 6784  df-2nd 6785  df-recs 7042  df-rdg 7076  df-1o 7130  df-2o 7131  df-oadd 7134  df-er 7311  df-map 7422  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520  df-sup 7900  df-card 8319  df-cda 8547  df-pnf 9629  df-mnf 9630  df-xr 9631  df-ltxr 9632  df-le 9633  df-sub 9806  df-neg 9807  df-div 10206  df-nn 10536  df-2 10593  df-3 10594  df-n0 10795  df-z 10864  df-uz 11082  df-rp 11220  df-fz 11672  df-fzo 11792  df-fl 11896  df-mod 11964  df-seq 12075  df-exp 12134  df-hash 12373  df-word 12507  df-concat 12509  df-substr 12511  df-reps 12514  df-csh 12722  df-cj 12894  df-re 12895  df-im 12896  df-sqrt 13030  df-abs 13031  df-dvds 13847  df-gcd 14003  df-prm 14076  df-phi 14154
This theorem is referenced by:  cshwshashlem2  14438
  Copyright terms: Public domain W3C validator