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

Theorem cshwshashlem1 15802
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 2795 . . . . . . 7  |-  ( ( W `  i )  =/=  ( W ` 
0 )  <->  -.  ( W `  i )  =  ( W ` 
0 ) )
21rexbii 3041 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 ) )
3 rexnal 2995 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 )  <->  -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
42, 3bitri 264 . . . . 5  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
5 simpll 790 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  ph )
6 fzo0ss1 12498 . . . . . . . . . . . . . 14  |-  ( 1..^ ( # `  W
) )  C_  (
0..^ ( # `  W
) )
7 fzossfz 12488 . . . . . . . . . . . . . 14  |-  ( 0..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
86, 7sstri 3612 . . . . . . . . . . . . 13  |-  ( 1..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
98sseli 3599 . . . . . . . . . . . 12  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  L  e.  ( 0 ... ( # `
 W ) ) )
109ad2antlr 763 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  L  e.  ( 0 ... ( # `  W
) ) )
11 simpr 477 . . . . . . . . . . 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 790 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  ->  W  e. Word  V )
14 simpr 477 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  ->  ( # `
 W )  e. 
Prime )
1514adantr 481 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( # `  W )  e.  Prime )
16 elfzelz 12342 . . . . . . . . . . . . . . . . . 18  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  L  e.  ZZ )
1716adantl 482 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  ->  L  e.  ZZ )
18 cshwsidrepswmod0 15801 . . . . . . . . . . . . . . . . 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 1326 . . . . . . . . . . . . . . . 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 450 . . . . . . . . . . . . . . 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 1256 . . . . . . . . . . . . . 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 399 . . . . . . . . . . . . . . . . . . . 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 12514 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( L  =/=  ( # `  W )  /\  L  e.  ( 0 ... ( # `
 W ) ) )  ->  L  e.  ( 0..^ ( # `  W
) ) )
25 zmodidfzoimp 12700 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( L  e.  ( 0..^ (
# `  W )
)  ->  ( L  mod  ( # `  W
) )  =  L )
26 eqtr2 2642 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( L  mod  ( # `  W ) )  =  L  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) )
2925, 28syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( L  e.  ( 0..^ (
# `  W )
)  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) )
3024, 29syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( L  =/=  ( # `  W )  /\  L  e.  ( 0 ... ( # `
 W ) ) )  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) )
3130expcom 451 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  ( L  =/=  ( # `  W
)  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) ) )
3231com24 95 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  ->  ( ( L  mod  ( # `  W ) )  =  0  -> 
( L  =/=  ( # `
 W )  ->  L  =  0 ) ) ) )
3332impcom 446 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( ( L  mod  ( # `  W ) )  =  0  -> 
( L  =/=  ( # `
 W )  ->  L  =  0 ) ) )
34333adant3 1081 . . . . . . . . . . . . . . . . . . . . . . 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 446 . . . . . . . . . . . . . . . . . . . . . 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 446 . . . . . . . . . . . . . . . . . . . . 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 407 . . . . . . . . . . . . . . . . . . . 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 450 . . . . . . . . . . . . . . . . . . 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 2877 . . . . . . . . . . . . . . . . . 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 407 . . . . . . . . . . . . . . . . 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 1038 . . . . . . . . . . . . . . . . 17  |-  ( ( L  =  0  \/  L  =  ( # `  W )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) )  <->  ( ( L  =  0  \/  L  =  ( # `  W
) )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) ) )
4240, 41sylibr 224 . . . . . . . . . . . . . . . 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 450 . . . . . . . . . . . . . . 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 1232 . . . . . . . . . . . . . . . 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 394 . . . . . . . . . . . . . 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 38 . . . . . . . . . . . . 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 1359 . . . . . . . . . . . 12  |-  ( (
ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  W  =  (
( W `  0
) repeatS  ( # `  W
) ) ) )
49 3mix1 1230 . . . . . . . . . . . . . 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 1231 . . . . . . . . . . . . . 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 13527 . . . . . . . . . . . . . . . . . . 19  |-  ( W  e. Word  V  ->  ( W  =  ( ( W `  0 ) repeatS  (
# `  W )
)  <->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
5453adantr 481 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  ->  ( W  =  ( ( W `  0 ) repeatS  (
# `  W )
)  <->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
5512, 54syl 17 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( W  =  ( ( W `  0
) repeatS  ( # `  W
) )  <->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
56553ad2ant1 1082 . . . . . . . . . . . . . . . 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 501 . . . . . . . . . . . . . . 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 1238 . . . . . . . . . . . . . 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 451 . . . . . . . . . . . . 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 1391 . . . . . . . . . . . 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 38 . . . . . . . . . . 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 1326 . . . . . . . . . 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 12517 . . . . . . . . . . . . . 14  |-  ( L  e.  ( 1..^ (
# `  W )
)  <->  ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W ) ) )
64 nnne0 11053 . . . . . . . . . . . . . . . 16  |-  ( L  e.  NN  ->  L  =/=  0 )
65 df-ne 2795 . . . . . . . . . . . . . . . . 17  |-  ( L  =/=  0  <->  -.  L  =  0 )
66 pm2.21 120 . . . . . . . . . . . . . . . . 17  |-  ( -.  L  =  0  -> 
( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
6765, 66sylbi 207 . . . . . . . . . . . . . . . 16  |-  ( L  =/=  0  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
6864, 67syl 17 . . . . . . . . . . . . . . 15  |-  ( L  e.  NN  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
69683ad2ant1 1082 . . . . . . . . . . . . . 14  |-  ( ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7063, 69sylbi 207 . . . . . . . . . . . . 13  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
7170ad2antlr 763 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7271com12 32 . . . . . . . . . . 11  |-  ( L  =  0  ->  (
( ( ph  /\  L  e.  ( 1..^ ( # `  W
) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
73 nnre 11027 . . . . . . . . . . . . . . . . 17  |-  ( L  e.  NN  ->  L  e.  RR )
74 ltne 10134 . . . . . . . . . . . . . . . . 17  |-  ( ( L  e.  RR  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
7573, 74sylan 488 . . . . . . . . . . . . . . . 16  |-  ( ( L  e.  NN  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
76 df-ne 2795 . . . . . . . . . . . . . . . . 17  |-  ( (
# `  W )  =/=  L  <->  -.  ( # `  W
)  =  L )
77 eqcom 2629 . . . . . . . . . . . . . . . . . 18  |-  ( L  =  ( # `  W
)  <->  ( # `  W
)  =  L )
78 pm2.21 120 . . . . . . . . . . . . . . . . . 18  |-  ( -.  ( # `  W
)  =  L  -> 
( ( # `  W
)  =  L  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7977, 78syl5bi 232 . . . . . . . . . . . . . . . . 17  |-  ( -.  ( # `  W
)  =  L  -> 
( L  =  (
# `  W )  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
8076, 79sylbi 207 . . . . . . . . . . . . . . . 16  |-  ( (
# `  W )  =/=  L  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8175, 80syl 17 . . . . . . . . . . . . . . 15  |-  ( ( L  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
82813adant2 1080 . . . . . . . . . . . . . 14  |-  ( ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8363, 82sylbi 207 . . . . . . . . . . . . 13  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8483ad2antlr 763 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  (
# `  W )  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
8584com12 32 . . . . . . . . . . 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 1391 . . . . . . . . . 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 38 . . . . . . . . 9  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) )
8988pm2.24d 147 . . . . . . . 8  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 )  ->  ( W cyclShift  L )  =/=  W
) )
9089exp31 630 . . . . . . 7  |-  ( ph  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( -.  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( W cyclShift  L )  =/=  W ) ) ) )
9190com34 91 . . . . . 6  |-  ( ph  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  ( -.  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( ( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
9291com23 86 . . . . 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 232 . . . 4  |-  ( ph  ->  ( E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
94933imp 1256 . . 3  |-  ( (
ph  /\  E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  /\  L  e.  ( 1..^ ( # `  W ) ) )  ->  ( ( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) )
9594com12 32 . 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 2877 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 196    \/ wo 383    /\ wa 384    \/ w3o 1036    /\ w3a 1037    = wceq 1483    e. wcel 1990    =/= wne 2794   A.wral 2912   E.wrex 2913   class class class wbr 4653   ` cfv 5888  (class class class)co 6650   RRcr 9935   0cc0 9936   1c1 9937    < clt 10074   NNcn 11020   ZZcz 11377   ...cfz 12326  ..^cfzo 12465    mod cmo 12668   #chash 13117  Word cword 13291   repeatS creps 13298   cyclShift ccsh 13534   Primecprime 15385
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-sup 8348  df-inf 8349  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-n0 11293  df-xnn0 11364  df-z 11378  df-uz 11688  df-rp 11833  df-fz 12327  df-fzo 12466  df-fl 12593  df-mod 12669  df-seq 12802  df-exp 12861  df-hash 13118  df-word 13299  df-concat 13301  df-substr 13303  df-reps 13306  df-csh 13535  df-cj 13839  df-re 13840  df-im 13841  df-sqrt 13975  df-abs 13976  df-dvds 14984  df-gcd 15217  df-prm 15386  df-phi 15471
This theorem is referenced by:  cshwshashlem2  15803
  Copyright terms: Public domain W3C validator