Proof of Theorem cshwlen
Step | Hyp | Ref
| Expression |
1 | | oveq1 6657 |
. . . . 5

 cyclShift   cyclShift    |
2 | | 0csh0 13539 |
. . . . . 6
 cyclShift   |
3 | 2 | a1i 11 |
. . . . 5

 cyclShift    |
4 | | eqcom 2629 |
. . . . . 6

  |
5 | 4 | biimpi 206 |
. . . . 5

  |
6 | 1, 3, 5 | 3eqtrd 2660 |
. . . 4

 cyclShift    |
7 | 6 | fveq2d 6195 |
. . 3

    cyclShift
        |
8 | 7 | a1d 25 |
. 2

  Word
     cyclShift          |
9 | | cshword 13537 |
. . . . . 6
  Word
  cyclShift
   substr               ++  substr              |
10 | 9 | fveq2d 6195 |
. . . . 5
  Word
     cyclShift        substr
              ++  substr               |
11 | 10 | adantr 481 |
. . . 4
   Word
      cyclShift        substr
              ++  substr               |
12 | | swrdcl 13419 |
. . . . . . 7
 Word  substr               Word   |
13 | | swrdcl 13419 |
. . . . . . 7
 Word  substr           Word
  |
14 | | ccatlen 13360 |
. . . . . . 7
   substr               Word 
substr          
Word       substr
              ++  substr                  substr                    substr               |
15 | 12, 13, 14 | syl2anc 693 |
. . . . . 6
 Word      substr               ++  substr                  substr                    substr               |
16 | 15 | adantr 481 |
. . . . 5
  Word
      substr
              ++  substr                  substr                    substr               |
17 | 16 | adantr 481 |
. . . 4
   Word
       substr               ++ 
substr                  substr                    substr               |
18 | | lennncl 13325 |
. . . . . . . . . 10
  Word        |
19 | | pm3.21 464 |
. . . . . . . . . . 11
     
  Word  Word     
     |
20 | 19 | ex 450 |
. . . . . . . . . 10
    

 Word
 Word            |
21 | 18, 20 | syl 17 |
. . . . . . . . 9
  Word  
 Word  Word     
      |
22 | 21 | ex 450 |
. . . . . . . 8
 Word 

 Word
 Word             |
23 | 22 | com24 95 |
. . . . . . 7
 Word 
Word 
 
Word             |
24 | 23 | pm2.43i 52 |
. . . . . 6
 Word 
 
Word            |
25 | 24 | imp31 448 |
. . . . 5
   Word
   Word     
    |
26 | | simpl 473 |
. . . . . . . 8
  Word     
 
Word   |
27 | | pm3.22 465 |
. . . . . . . . . 10
     
         |
28 | 27 | adantl 482 |
. . . . . . . . 9
  Word     
 
        |
29 | | zmodfzp1 12694 |
. . . . . . . . 9
                       |
30 | 28, 29 | syl 17 |
. . . . . . . 8
  Word     
 
                |
31 | | lencl 13324 |
. . . . . . . . . 10
 Word       |
32 | | nn0fz0 12437 |
. . . . . . . . . 10
                   |
33 | 31, 32 | sylib 208 |
. . . . . . . . 9
 Word               |
34 | 33 | adantr 481 |
. . . . . . . 8
  Word     
 
              |
35 | | swrdlen 13423 |
. . . . . . . 8
  Word 
                              substr                              |
36 | 26, 30, 34, 35 | syl3anc 1326 |
. . . . . . 7
  Word     
 
    substr                              |
37 | | zmodcl 12690 |
. . . . . . . . . . 11
               |
38 | 37 | ancoms 469 |
. . . . . . . . . 10
     
         |
39 | 38 | adantl 482 |
. . . . . . . . 9
  Word     
 
        |
40 | | 0elfz 12436 |
. . . . . . . . 9
                   |
41 | 39, 40 | syl 17 |
. . . . . . . 8
  Word     
 
            |
42 | | swrdlen 13423 |
. . . . . . . 8
  Word
                             substr                      |
43 | 26, 41, 30, 42 | syl3anc 1326 |
. . . . . . 7
  Word     
 
    substr                      |
44 | 36, 43 | oveq12d 6668 |
. . . . . 6
  Word     
 
     substr                    substr                                     |
45 | 37 | nn0cnd 11353 |
. . . . . . . . . 10
               |
46 | 45 | ancoms 469 |
. . . . . . . . 9
     
         |
47 | 46 | adantl 482 |
. . . . . . . 8
  Word     
 
        |
48 | 47 | subid1d 10381 |
. . . . . . 7
  Word     
 
                |
49 | 48 | oveq2d 6666 |
. . . . . 6
  Word     
 
                                            |
50 | 31 | nn0cnd 11353 |
. . . . . . 7
 Word       |
51 | | npcan 10290 |
. . . . . . 7
      
                                |
52 | 50, 46, 51 | syl2an 494 |
. . . . . 6
  Word     
 
                          |
53 | 44, 49, 52 | 3eqtrd 2660 |
. . . . 5
  Word     
 
     substr                    substr                   |
54 | 25, 53 | syl 17 |
. . . 4
   Word
       substr                    substr                   |
55 | 11, 17, 54 | 3eqtrd 2660 |
. . 3
   Word
      cyclShift         |
56 | 55 | expcom 451 |
. 2

 
Word      cyclShift          |
57 | 8, 56 | pm2.61ine 2877 |
1
  Word
     cyclShift         |