| Step | Hyp | Ref
| Expression |
| 1 | | elfznn0 10238 |
. . . . . . . 8
       |
| 2 | 1 | ad2antrl 490 |
. . . . . . 7
  Word 
   
   ♯       |
| 3 | | pfxclg 11133 |
. . . . . . 7
  Word
  prefix
 Word   |
| 4 | 2, 3 | syldan 282 |
. . . . . 6
  Word 
   
   ♯      prefix  Word
  |
| 5 | | simpl 109 |
. . . . . . 7
  Word 
   
   ♯     Word   |
| 6 | 2 | nn0zd 9495 |
. . . . . . 7
  Word 
   
   ♯       |
| 7 | | elfzelz 10149 |
. . . . . . . . 9
    ♯  
  |
| 8 | 7 | adantl 277 |
. . . . . . . 8
     
   ♯   
  |
| 9 | 8 | adantl 277 |
. . . . . . 7
  Word 
   
   ♯       |
| 10 | | swrdclg 11106 |
. . . . . . 7
  Word
  substr     Word   |
| 11 | 5, 6, 9, 10 | syl3anc 1250 |
. . . . . 6
  Word 
   
   ♯      substr     Word   |
| 12 | | ccatcl 11052 |
. . . . . 6
   prefix  Word  substr     Word    prefix  ++
 substr  
   Word   |
| 13 | 4, 11, 12 | syl2anc 411 |
. . . . 5
  Word 
   
   ♯       prefix  ++
 substr  
   Word   |
| 14 | | wrdfn 11011 |
. . . . 5
   prefix  ++  substr      Word   prefix  ++
 substr  
    ..^ ♯   prefix  ++  substr          |
| 15 | 13, 14 | syl 14 |
. . . 4
  Word 
   
   ♯       prefix  ++
 substr  
    ..^ ♯   prefix  ++  substr          |
| 16 | | ccatlen 11054 |
. . . . . . . 8
   prefix  Word  substr     Word  ♯   prefix  ++  substr        ♯  prefix   ♯  substr         |
| 17 | 4, 11, 16 | syl2anc 411 |
. . . . . . 7
  Word 
   
   ♯     ♯   prefix  ++  substr        ♯  prefix   ♯  substr         |
| 18 | | fzass4 10186 |
. . . . . . . . . . 11
     ♯      ♯            ♯      |
| 19 | 18 | biimpri 133 |
. . . . . . . . . 10
     
   ♯        ♯      ♯      |
| 20 | 19 | simpld 112 |
. . . . . . . . 9
     
   ♯   
   ♯     |
| 21 | | pfxlen 11139 |
. . . . . . . . 9
  Word
   ♯    ♯  prefix     |
| 22 | 20, 21 | sylan2 286 |
. . . . . . . 8
  Word 
   
   ♯     ♯  prefix     |
| 23 | | swrdlen 11108 |
. . . . . . . . 9
  Word
   
   ♯    ♯  substr          |
| 24 | 23 | 3expb 1207 |
. . . . . . . 8
  Word 
   
   ♯     ♯  substr  
       |
| 25 | 22, 24 | oveq12d 5964 |
. . . . . . 7
  Word 
   
   ♯      ♯  prefix   ♯  substr  
          |
| 26 | | elfzelz 10149 |
. . . . . . . . . 10
       |
| 27 | 26 | zcnd 9498 |
. . . . . . . . 9
       |
| 28 | 7 | zcnd 9498 |
. . . . . . . . 9
    ♯  
  |
| 29 | | pncan3 8282 |
. . . . . . . . 9
 
       |
| 30 | 27, 28, 29 | syl2an 289 |
. . . . . . . 8
     
   ♯          |
| 31 | 30 | adantl 277 |
. . . . . . 7
  Word 
   
   ♯      
    |
| 32 | 17, 25, 31 | 3eqtrd 2242 |
. . . . . 6
  Word 
   
   ♯     ♯   prefix  ++  substr         |
| 33 | 32 | oveq2d 5962 |
. . . . 5
  Word 
   
   ♯      ..^ ♯   prefix  ++  substr         ..^   |
| 34 | 33 | fneq2d 5366 |
. . . 4
  Word 
   
   ♯        prefix  ++  substr       ..^ ♯   prefix  ++  substr       
  prefix  ++  substr       ..^    |
| 35 | 15, 34 | mpbid 147 |
. . 3
  Word 
   
   ♯       prefix  ++
 substr  
    ..^   |
| 36 | | pfxfn 11137 |
. . . 4
  Word
   ♯     prefix
  ..^   |
| 37 | 36 | adantrl 478 |
. . 3
  Word 
   
   ♯      prefix   ..^   |
| 38 | | id 19 |
. . . . . 6
  ..^
 ..^   |
| 39 | 26 | ad2antrl 490 |
. . . . . 6
  Word 
   
   ♯       |
| 40 | | fzospliti 10302 |
. . . . . 6
   ..^    ..^  ..^    |
| 41 | 38, 39, 40 | syl2anr 290 |
. . . . 5
   Word         ♯      ..^    ..^  ..^    |
| 42 | 4 | adantr 276 |
. . . . . . . 8
   Word         ♯      ..^   prefix  Word
  |
| 43 | 11 | adantr 276 |
. . . . . . . 8
   Word         ♯      ..^   substr     Word   |
| 44 | 22 | oveq2d 5962 |
. . . . . . . . . 10
  Word 
   
   ♯      ..^ ♯  prefix     ..^   |
| 45 | 44 | eleq2d 2275 |
. . . . . . . . 9
  Word 
   
   ♯       ..^ ♯  prefix     ..^    |
| 46 | 45 | biimpar 297 |
. . . . . . . 8
   Word         ♯      ..^   ..^ ♯  prefix      |
| 47 | | ccatval1 11056 |
. . . . . . . 8
   prefix  Word  substr     Word
 ..^ ♯  prefix        prefix  ++  substr           prefix       |
| 48 | 42, 43, 46, 47 | syl3anc 1250 |
. . . . . . 7
   Word         ♯      ..^     prefix  ++  substr           prefix       |
| 49 | 20 | adantl 277 |
. . . . . . . 8
  Word 
   
   ♯        ♯     |
| 50 | | id 19 |
. . . . . . . 8
  ..^
 ..^   |
| 51 | | pfxfv 11138 |
. . . . . . . 8
  Word
   ♯    ..^ 
  prefix           |
| 52 | 5, 49, 50, 51 | syl2an3an 1311 |
. . . . . . 7
   Word         ♯      ..^    prefix           |
| 53 | 48, 52 | eqtrd 2238 |
. . . . . 6
   Word         ♯      ..^     prefix  ++  substr               |
| 54 | 4 | adantr 276 |
. . . . . . . 8
   Word         ♯      ..^   prefix  Word
  |
| 55 | 11 | adantr 276 |
. . . . . . . 8
   Word         ♯      ..^   substr     Word   |
| 56 | 25, 31 | eqtrd 2238 |
. . . . . . . . . . 11
  Word 
   
   ♯      ♯  prefix   ♯  substr  
      |
| 57 | 22, 56 | oveq12d 5964 |
. . . . . . . . . 10
  Word 
   
   ♯      ♯  prefix   ..^ ♯  prefix   ♯  substr         ..^   |
| 58 | 57 | eleq2d 2275 |
. . . . . . . . 9
  Word 
   
   ♯       ♯  prefix   ..^ ♯  prefix   ♯  substr       
 ..^    |
| 59 | 58 | biimpar 297 |
. . . . . . . 8
   Word         ♯      ..^   ♯  prefix   ..^ ♯  prefix   ♯  substr          |
| 60 | | ccatval2 11057 |
. . . . . . . 8
   prefix  Word  substr     Word
 ♯  prefix   ..^ ♯  prefix   ♯  substr  
         prefix  ++  substr           substr        ♯  prefix       |
| 61 | 54, 55, 59, 60 | syl3anc 1250 |
. . . . . . 7
   Word         ♯      ..^     prefix  ++  substr           substr        ♯  prefix       |
| 62 | | id 19 |
. . . . . . . . 9
  Word
   
   ♯     Word
   
   ♯      |
| 63 | 62 | 3expb 1207 |
. . . . . . . 8
  Word 
   
   ♯      Word        ♯      |
| 64 | 22 | oveq2d 5962 |
. . . . . . . . . 10
  Word 
   
   ♯      ♯  prefix        |
| 65 | 64 | adantr 276 |
. . . . . . . . 9
   Word         ♯      ..^   ♯  prefix        |
| 66 | | id 19 |
. . . . . . . . . . 11
  ..^
 ..^   |
| 67 | | fzosubel 10325 |
. . . . . . . . . . 11
   ..^       ..^     |
| 68 | 66, 39, 67 | syl2anr 290 |
. . . . . . . . . 10
   Word         ♯      ..^       ..^     |
| 69 | 27 | subidd 8373 |
. . . . . . . . . . . . . 14
     
   |
| 70 | 69 | oveq1d 5961 |
. . . . . . . . . . . . 13
        ..^    ..^     |
| 71 | 70 | eleq2d 2275 |
. . . . . . . . . . . 12
           ..^  
   ..^      |
| 72 | 71 | ad2antrl 490 |
. . . . . . . . . . 11
  Word 
   
   ♯           ..^  
   ..^      |
| 73 | 72 | adantr 276 |
. . . . . . . . . 10
   Word         ♯      ..^        ..^  
   ..^      |
| 74 | 68, 73 | mpbid 147 |
. . . . . . . . 9
   Word         ♯      ..^     ..^     |
| 75 | 65, 74 | eqeltrd 2282 |
. . . . . . . 8
   Word         ♯      ..^   ♯  prefix     ..^     |
| 76 | | swrdfv 11109 |
. . . . . . . 8
   Word
   
   ♯    
♯  prefix     ..^      substr        ♯  prefix          ♯  prefix        |
| 77 | 63, 75, 76 | syl2an2r 595 |
. . . . . . 7
   Word         ♯      ..^    substr        ♯  prefix          ♯  prefix        |
| 78 | 64 | oveq1d 5961 |
. . . . . . . . . 10
  Word 
   
   ♯       ♯  prefix           |
| 79 | 78 | adantr 276 |
. . . . . . . . 9
   Word         ♯      ..^    ♯  prefix           |
| 80 | | elfzoelz 10271 |
. . . . . . . . . . 11
  ..^
  |
| 81 | 80 | zcnd 9498 |
. . . . . . . . . 10
  ..^
  |
| 82 | 27 | ad2antrl 490 |
. . . . . . . . . 10
  Word 
   
   ♯       |
| 83 | | npcan 8283 |
. . . . . . . . . 10
 
       |
| 84 | 81, 82, 83 | syl2anr 290 |
. . . . . . . . 9
   Word         ♯      ..^        |
| 85 | 79, 84 | eqtrd 2238 |
. . . . . . . 8
   Word         ♯      ..^    ♯  prefix       |
| 86 | 85 | fveq2d 5582 |
. . . . . . 7
   Word         ♯      ..^       ♯  prefix            |
| 87 | 61, 77, 86 | 3eqtrd 2242 |
. . . . . 6
   Word         ♯      ..^     prefix  ++  substr               |
| 88 | 53, 87 | jaodan 799 |
. . . . 5
   Word         ♯       ..^  ..^  
   prefix
 ++ 
substr               |
| 89 | 41, 88 | syldan 282 |
. . . 4
   Word         ♯      ..^     prefix  ++  substr               |
| 90 | | pfxfv 11138 |
. . . . . 6
  Word
   ♯    ..^ 
  prefix           |
| 91 | 90 | 3expa 1206 |
. . . . 5
   Word
   ♯   
 ..^    prefix           |
| 92 | 91 | adantlrl 482 |
. . . 4
   Word         ♯      ..^    prefix           |
| 93 | 89, 92 | eqtr4d 2241 |
. . 3
   Word         ♯      ..^     prefix  ++  substr           prefix       |
| 94 | 35, 37, 93 | eqfnfvd 5682 |
. 2
  Word 
   
   ♯       prefix  ++
 substr  
    prefix    |
| 95 | 94 | 3impb 1202 |
1
  Word
   
   ♯      prefix  ++  substr       prefix    |