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

Theorem cshwshashlem1 15029
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 2627 . . . . . . 7  |-  ( ( W `  i )  =/=  ( W ` 
0 )  <->  -.  ( W `  i )  =  ( W ` 
0 ) )
21rexbii 2934 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 ) )
3 rexnal 2880 . . . . . 6  |-  ( E. i  e.  ( 0..^ ( # `  W
) )  -.  ( W `  i )  =  ( W ` 
0 )  <->  -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
42, 3bitri 252 . . . . 5  |-  ( E. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =/=  ( W `  0
)  <->  -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) )
5 simpll 758 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  ph )
6 fzo0ss1 11946 . . . . . . . . . . . . . 14  |-  ( 1..^ ( # `  W
) )  C_  (
0..^ ( # `  W
) )
7 fzossfz 11936 . . . . . . . . . . . . . 14  |-  ( 0..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
86, 7sstri 3479 . . . . . . . . . . . . 13  |-  ( 1..^ ( # `  W
) )  C_  (
0 ... ( # `  W
) )
98sseli 3466 . . . . . . . . . . . 12  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  L  e.  ( 0 ... ( # `
 W ) ) )
109ad2antlr 731 . . . . . . . . . . 11  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  L  e.  ( 0 ... ( # `  W
) ) )
11 simpr 462 . . . . . . . . . . 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 758 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  ->  W  e. Word  V )
14 simpr 462 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  e.  Prime )  ->  ( # `
 W )  e. 
Prime )
1514adantr 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( # `  W )  e.  Prime )
16 elfzelz 11798 . . . . . . . . . . . . . . . . . 18  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  L  e.  ZZ )
1716adantl 467 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  ->  L  e.  ZZ )
18 cshwsidrepswmod0 15028 . . . . . . . . . . . . . . . . 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 1264 . . . . . . . . . . . . . . . 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 435 . . . . . . . . . . . . . . 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 1199 . . . . . . . . . . . . . 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 385 . . . . . . . . . . . . . . . . . . . 20  |-  ( L  =  ( # `  W
)  ->  ( L  =  0  \/  L  =  ( # `  W
) ) )
2322a1d 26 . . . . . . . . . . . . . . . . . . 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 11960 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( L  =/=  ( # `  W )  /\  L  e.  ( 0 ... ( # `
 W ) ) )  ->  L  e.  ( 0..^ ( # `  W
) ) )
25 zmodidfzoimp 12124 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( L  e.  ( 0..^ (
# `  W )
)  ->  ( L  mod  ( # `  W
) )  =  L )
26 eqtr2 2456 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( L  mod  ( # `
 W ) )  =  L  /\  ( L  mod  ( # `  W
) )  =  0 )  ->  L  = 
0 )
2726a1d 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( L  mod  ( # `
 W ) )  =  L  /\  ( L  mod  ( # `  W
) )  =  0 )  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) )
2827ex 435 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 436 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  ( L  =/=  ( # `  W
)  ->  ( ( L  mod  ( # `  W
) )  =  0  ->  ( ( W  e. Word  V  /\  ( # `
 W )  e. 
Prime )  ->  L  =  0 ) ) ) )
3231com24 90 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( L  e.  ( 0 ... ( # `  W
) )  ->  (
( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  ->  ( ( L  mod  ( # `  W ) )  =  0  -> 
( L  =/=  ( # `
 W )  ->  L  =  0 ) ) ) )
3332impcom 431 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  e.  Prime )  /\  L  e.  (
0 ... ( # `  W
) ) )  -> 
( ( L  mod  ( # `  W ) )  =  0  -> 
( L  =/=  ( # `
 W )  ->  L  =  0 ) ) )
34333adant3 1025 . . . . . . . . . . . . . . . . . . . . . . 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 431 . . . . . . . . . . . . . . . . . . . . . 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 431 . . . . . . . . . . . . . . . . . . . . 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 393 . . . . . . . . . . . . . . . . . . . 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 435 . . . . . . . . . . . . . . . . . . 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 2744 . . . . . . . . . . . . . . . . . 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 393 . . . . . . . . . . . . . . . . 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 983 . . . . . . . . . . . . . . . . 17  |-  ( ( L  =  0  \/  L  =  ( # `  W )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) )  <->  ( ( L  =  0  \/  L  =  ( # `  W
) )  \/  W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) ) ) )
4240, 41sylibr 215 . . . . . . . . . . . . . . . 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 435 . . . . . . . . . . . . . . 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 1176 . . . . . . . . . . . . . . . 16  |-  ( W  =  ( ( W `
 0 ) repeatS  ( # `
 W ) )  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  W  =  ( ( W ` 
0 ) repeatS  ( # `  W
) ) ) )
4544a1d 26 . . . . . . . . . . . . . . 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 380 . . . . . . . . . . . . . 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 37 . . . . . . . . . . . . 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 1297 . . . . . . . . . . . 12  |-  ( (
ph  /\  L  e.  ( 0 ... ( # `
 W ) )  /\  ( W cyclShift  L )  =  W )  -> 
( L  =  0  \/  L  =  (
# `  W )  \/  W  =  (
( W `  0
) repeatS  ( # `  W
) ) ) )
49 3mix1 1174 . . . . . . . . . . . . . 14  |-  ( L  =  0  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
5049a1d 26 . . . . . . . . . . . . 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 1175 . . . . . . . . . . . . . 14  |-  ( L  =  ( # `  W
)  ->  ( L  =  0  \/  L  =  ( # `  W
)  \/  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
5251a1d 26 . . . . . . . . . . . . 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 12868 . . . . . . . . . . . . . . . . . . 19  |-  ( W  e. Word  V  ->  ( W  =  ( ( W `  0 ) repeatS  (
# `  W )
)  <->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
5453adantr 466 . . . . . . . . . . . . . . . . . 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 1026 . . . . . . . . . . . . . . . 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 486 . . . . . . . . . . . . . . 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 1182 . . . . . . . . . . . . . 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 436 . . . . . . . . . . . . 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 1327 . . . . . . . . . . . 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 37 . . . . . . . . . . 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 1264 . . . . . . . . . 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 11962 . . . . . . . . . . . . . 14  |-  ( L  e.  ( 1..^ (
# `  W )
)  <->  ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W ) ) )
64 nnne0 10642 . . . . . . . . . . . . . . . 16  |-  ( L  e.  NN  ->  L  =/=  0 )
65 df-ne 2627 . . . . . . . . . . . . . . . . 17  |-  ( L  =/=  0  <->  -.  L  =  0 )
66 pm2.21 111 . . . . . . . . . . . . . . . . 17  |-  ( -.  L  =  0  -> 
( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
6765, 66sylbi 198 . . . . . . . . . . . . . . . 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 1026 . . . . . . . . . . . . . 14  |-  ( ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7063, 69sylbi 198 . . . . . . . . . . . . 13  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  ( L  =  0  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
7170ad2antlr 731 . . . . . . . . . . . 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 10616 . . . . . . . . . . . . . . . . 17  |-  ( L  e.  NN  ->  L  e.  RR )
74 ltne 9729 . . . . . . . . . . . . . . . . 17  |-  ( ( L  e.  RR  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
7573, 74sylan 473 . . . . . . . . . . . . . . . 16  |-  ( ( L  e.  NN  /\  L  <  ( # `  W
) )  ->  ( # `
 W )  =/= 
L )
76 df-ne 2627 . . . . . . . . . . . . . . . . 17  |-  ( (
# `  W )  =/=  L  <->  -.  ( # `  W
)  =  L )
77 eqcom 2438 . . . . . . . . . . . . . . . . . 18  |-  ( L  =  ( # `  W
)  <->  ( # `  W
)  =  L )
78 pm2.21 111 . . . . . . . . . . . . . . . . . 18  |-  ( -.  ( # `  W
)  =  L  -> 
( ( # `  W
)  =  L  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
7977, 78syl5bi 220 . . . . . . . . . . . . . . . . 17  |-  ( -.  ( # `  W
)  =  L  -> 
( L  =  (
# `  W )  ->  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) ) )
8076, 79sylbi 198 . . . . . . . . . . . . . . . 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 1024 . . . . . . . . . . . . . 14  |-  ( ( L  e.  NN  /\  ( # `  W )  e.  NN  /\  L  <  ( # `  W
) )  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8363, 82sylbi 198 . . . . . . . . . . . . 13  |-  ( L  e.  ( 1..^ (
# `  W )
)  ->  ( L  =  ( # `  W
)  ->  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 ) ) )
8483ad2antlr 731 . . . . . . . . . . . 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 1327 . . . . . . . . . 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 37 . . . . . . . . 9  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  ->  A. i  e.  (
0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
) )
8988pm2.24d 137 . . . . . . . 8  |-  ( ( ( ph  /\  L  e.  ( 1..^ ( # `  W ) ) )  /\  ( W cyclShift  L )  =  W )  -> 
( -.  A. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =  ( W ` 
0 )  ->  ( W cyclShift  L )  =/=  W
) )
9089exp31 607 . . . . . . 7  |-  ( ph  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( -.  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( W cyclShift  L )  =/=  W ) ) ) )
9190com34 86 . . . . . 6  |-  ( ph  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  ( -.  A. i  e.  ( 0..^ ( # `  W
) ) ( W `
 i )  =  ( W `  0
)  ->  ( ( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
9291com23 81 . . . . 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 220 . . . 4  |-  ( ph  ->  ( E. i  e.  ( 0..^ ( # `  W ) ) ( W `  i )  =/=  ( W ` 
0 )  ->  ( L  e.  ( 1..^ ( # `  W
) )  ->  (
( W cyclShift  L )  =  W  ->  ( W cyclShift  L )  =/=  W ) ) ) )
94933imp 1199 . . 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 2744 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 187    \/ wo 369    /\ wa 370    \/ w3o 981    /\ w3a 982    = wceq 1437    e. wcel 1870    =/= wne 2625   A.wral 2782   E.wrex 2783   class class class wbr 4426   ` cfv 5601  (class class class)co 6305   RRcr 9537   0cc0 9538   1c1 9539    < clt 9674   NNcn 10609   ZZcz 10937   ...cfz 11782  ..^cfzo 11913    mod cmo 12093   #chash 12512  Word cword 12643   repeatS creps 12650   cyclShift ccsh 12875   Primecprime 14593
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-rep 4538  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615  ax-pre-sup 9616
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rmo 2790  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-om 6707  df-1st 6807  df-2nd 6808  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-2o 7191  df-oadd 7194  df-er 7371  df-map 7482  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-sup 7962  df-inf 7963  df-card 8372  df-cda 8596  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-div 10269  df-nn 10610  df-2 10668  df-3 10669  df-n0 10870  df-z 10938  df-uz 11160  df-rp 11303  df-fz 11783  df-fzo 11914  df-fl 12025  df-mod 12094  df-seq 12211  df-exp 12270  df-hash 12513  df-word 12651  df-concat 12653  df-substr 12655  df-reps 12658  df-csh 12876  df-cj 13141  df-re 13142  df-im 13143  df-sqrt 13277  df-abs 13278  df-dvds 14284  df-gcd 14443  df-prm 14594  df-phi 14683
This theorem is referenced by:  cshwshashlem2  15030
  Copyright terms: Public domain W3C validator