| Step | Hyp | Ref
| Expression |
| 1 | | ccatcl 13359 |
. . . 4
  Word
Word   ++  Word   |
| 2 | | revcl 13510 |
. . . 4
  ++  Word reverse  ++   Word   |
| 3 | | wrdf 13310 |
. . . 4
 reverse  ++   Word reverse  ++      ..^   reverse  ++         |
| 4 | | ffn 6045 |
. . . 4
 reverse  ++      ..^   reverse  ++       reverse  ++    ..^   reverse  ++       |
| 5 | 1, 2, 3, 4 | 4syl 19 |
. . 3
  Word
Word  reverse  ++    ..^   reverse  ++       |
| 6 | | revlen 13511 |
. . . . . . 7
  ++  Word    reverse  ++        ++     |
| 7 | 1, 6 | syl 17 |
. . . . . 6
  Word
Word     reverse  ++        ++     |
| 8 | | ccatlen 13360 |
. . . . . . 7
  Word
Word      ++               |
| 9 | | lencl 13324 |
. . . . . . . . 9
 Word       |
| 10 | 9 | nn0cnd 11353 |
. . . . . . . 8
 Word       |
| 11 | | lencl 13324 |
. . . . . . . . 9
 Word       |
| 12 | 11 | nn0cnd 11353 |
. . . . . . . 8
 Word       |
| 13 | | addcom 10222 |
. . . . . . . 8
                                 |
| 14 | 10, 12, 13 | syl2an 494 |
. . . . . . 7
  Word
Word                        |
| 15 | 8, 14 | eqtrd 2656 |
. . . . . 6
  Word
Word      ++               |
| 16 | 7, 15 | eqtrd 2656 |
. . . . 5
  Word
Word     reverse  ++                |
| 17 | 16 | oveq2d 6666 |
. . . 4
  Word
Word   ..^   reverse  ++      ..^             |
| 18 | 17 | fneq2d 5982 |
. . 3
  Word
Word   reverse  ++    ..^   reverse  ++     reverse  ++    ..^              |
| 19 | 5, 18 | mpbid 222 |
. 2
  Word
Word  reverse  ++    ..^             |
| 20 | | revcl 13510 |
. . . . 5
 Word reverse  Word   |
| 21 | | revcl 13510 |
. . . . 5
 Word reverse  Word   |
| 22 | | ccatcl 13359 |
. . . . 5
  reverse  Word reverse  Word
  reverse  ++ reverse   Word
  |
| 23 | 20, 21, 22 | syl2anr 495 |
. . . 4
  Word
Word   reverse  ++ reverse   Word
  |
| 24 | | wrdf 13310 |
. . . 4
  reverse  ++ reverse   Word  reverse  ++ reverse      ..^    reverse  ++ reverse         |
| 25 | | ffn 6045 |
. . . 4
  reverse  ++ reverse      ..^    reverse  ++ reverse      
 reverse  ++ reverse    ..^    reverse  ++ reverse       |
| 26 | 23, 24, 25 | 3syl 18 |
. . 3
  Word
Word   reverse  ++ reverse    ..^    reverse  ++ reverse       |
| 27 | | ccatlen 13360 |
. . . . . . 7
  reverse  Word reverse  Word
     reverse  ++ reverse        reverse      reverse      |
| 28 | 20, 21, 27 | syl2anr 495 |
. . . . . 6
  Word
Word      reverse  ++ reverse        reverse      reverse      |
| 29 | | revlen 13511 |
. . . . . . 7
 Word    reverse         |
| 30 | | revlen 13511 |
. . . . . . 7
 Word    reverse         |
| 31 | 29, 30 | oveqan12rd 6670 |
. . . . . 6
  Word
Word      reverse      reverse                |
| 32 | 28, 31 | eqtrd 2656 |
. . . . 5
  Word
Word      reverse  ++ reverse                |
| 33 | 32 | oveq2d 6666 |
. . . 4
  Word
Word   ..^    reverse  ++ reverse      ..^             |
| 34 | 33 | fneq2d 5982 |
. . 3
  Word
Word    reverse  ++ reverse    ..^    reverse  ++ reverse      reverse  ++ reverse    ..^              |
| 35 | 26, 34 | mpbid 222 |
. 2
  Word
Word   reverse  ++ reverse    ..^             |
| 36 | | id 22 |
. . . 4
  ..^            ..^             |
| 37 | 11 | nn0zd 11480 |
. . . . 5
 Word       |
| 38 | 37 | adantl 482 |
. . . 4
  Word
Word        |
| 39 | | fzospliti 12500 |
. . . 4
   ..^                  ..^          ..^              |
| 40 | 36, 38, 39 | syl2anr 495 |
. . 3
   Word
Word   ..^              ..^          ..^              |
| 41 | | simpll 790 |
. . . . . . 7
   Word
Word   ..^     
Word   |
| 42 | | simplr 792 |
. . . . . . 7
   Word
Word   ..^     
Word   |
| 43 | | fzoval 12471 |
. . . . . . . . . . . 12
    
 ..^                 |
| 44 | 38, 43 | syl 17 |
. . . . . . . . . . 11
  Word
Word   ..^                 |
| 45 | 44 | eleq2d 2687 |
. . . . . . . . . 10
  Word
Word    ..^    
             |
| 46 | 45 | biimpa 501 |
. . . . . . . . 9
   Word
Word   ..^     
            |
| 47 | | fznn0sub2 12446 |
. . . . . . . . 9
          
                    |
| 48 | 46, 47 | syl 17 |
. . . . . . . 8
   Word
Word   ..^                          |
| 49 | 44 | adantr 481 |
. . . . . . . 8
   Word
Word   ..^       ..^                 |
| 50 | 48, 49 | eleqtrrd 2704 |
. . . . . . 7
   Word
Word   ..^               ..^       |
| 51 | | ccatval3 13363 |
. . . . . . 7
  Word
Word          ..^        ++                                 |
| 52 | 41, 42, 50, 51 | syl3anc 1326 |
. . . . . 6
   Word
Word   ..^        ++                                 |
| 53 | 15 | oveq1d 6665 |
. . . . . . . . . . 11
  Word
Word       ++                  |
| 54 | 12 | adantl 482 |
. . . . . . . . . . . 12
  Word
Word        |
| 55 | 10 | adantr 481 |
. . . . . . . . . . . 12
  Word
Word        |
| 56 | | 1cnd 10056 |
. . . . . . . . . . . 12
  Word
Word    |
| 57 | 54, 55, 56 | addsubd 10413 |
. . . . . . . . . . 11
  Word
Word                            |
| 58 | 53, 57 | eqtrd 2656 |
. . . . . . . . . 10
  Word
Word       ++                  |
| 59 | 58 | oveq1d 6665 |
. . . . . . . . 9
  Word
Word        ++                     |
| 60 | 59 | adantr 481 |
. . . . . . . 8
   Word
Word   ..^            ++                     |
| 61 | | peano2zm 11420 |
. . . . . . . . . . . 12
    
        |
| 62 | 37, 61 | syl 17 |
. . . . . . . . . . 11
 Word         |
| 63 | 62 | zcnd 11483 |
. . . . . . . . . 10
 Word         |
| 64 | 63 | ad2antlr 763 |
. . . . . . . . 9
   Word
Word   ..^              |
| 65 | 10 | ad2antrr 762 |
. . . . . . . . 9
   Word
Word   ..^            |
| 66 | | elfzoelz 12470 |
. . . . . . . . . . 11
  ..^    
  |
| 67 | 66 | zcnd 11483 |
. . . . . . . . . 10
  ..^    
  |
| 68 | 67 | adantl 482 |
. . . . . . . . 9
   Word
Word   ..^     
  |
| 69 | 64, 65, 68 | addsubd 10413 |
. . . . . . . 8
   Word
Word   ..^                                    |
| 70 | 60, 69 | eqtrd 2656 |
. . . . . . 7
   Word
Word   ..^            ++                     |
| 71 | 70 | fveq2d 6195 |
. . . . . 6
   Word
Word   ..^        ++          ++        ++                     |
| 72 | | revfv 13512 |
. . . . . . 7
  Word
 ..^       reverse                   |
| 73 | 72 | adantll 750 |
. . . . . 6
   Word
Word   ..^       reverse                   |
| 74 | 52, 71, 73 | 3eqtr4d 2666 |
. . . . 5
   Word
Word   ..^        ++          ++       reverse       |
| 75 | 1 | adantr 481 |
. . . . . 6
   Word
Word   ..^       ++  Word   |
| 76 | | uzid 11702 |
. . . . . . . . . . 11
    
              |
| 77 | 38, 76 | syl 17 |
. . . . . . . . . 10
  Word
Word                |
| 78 | 9 | adantr 481 |
. . . . . . . . . 10
  Word
Word        |
| 79 | | uzaddcl 11744 |
. . . . . . . . . 10
                                       |
| 80 | 77, 78, 79 | syl2anc 693 |
. . . . . . . . 9
  Word
Word                      |
| 81 | 15, 80 | eqeltrd 2701 |
. . . . . . . 8
  Word
Word      ++             |
| 82 | | fzoss2 12496 |
. . . . . . . 8
     ++            ..^      ..^    ++      |
| 83 | 81, 82 | syl 17 |
. . . . . . 7
  Word
Word   ..^      ..^    ++      |
| 84 | 83 | sselda 3603 |
. . . . . 6
   Word
Word   ..^     
 ..^    ++      |
| 85 | | revfv 13512 |
. . . . . 6
   ++  Word  ..^    ++      reverse  ++        ++          ++        |
| 86 | 75, 84, 85 | syl2anc 693 |
. . . . 5
   Word
Word   ..^       reverse  ++        ++          ++        |
| 87 | 20 | ad2antlr 763 |
. . . . . 6
   Word
Word   ..^      reverse  Word   |
| 88 | 21 | ad2antrr 762 |
. . . . . 6
   Word
Word   ..^      reverse  Word   |
| 89 | 29 | adantl 482 |
. . . . . . . . 9
  Word
Word     reverse         |
| 90 | 89 | oveq2d 6666 |
. . . . . . . 8
  Word
Word   ..^   reverse     ..^       |
| 91 | 90 | eleq2d 2687 |
. . . . . . 7
  Word
Word    ..^   reverse     ..^        |
| 92 | 91 | biimpar 502 |
. . . . . 6
   Word
Word   ..^     
 ..^   reverse      |
| 93 | | ccatval1 13361 |
. . . . . 6
  reverse  Word reverse  Word
 ..^   reverse    
  reverse  ++ reverse       reverse       |
| 94 | 87, 88, 92, 93 | syl3anc 1326 |
. . . . 5
   Word
Word   ..^        reverse  ++ reverse       reverse       |
| 95 | 74, 86, 94 | 3eqtr4d 2666 |
. . . 4
   Word
Word   ..^       reverse  ++        reverse  ++ reverse        |
| 96 | 8 | oveq1d 6665 |
. . . . . . . . . . . 12
  Word
Word       ++                  |
| 97 | 55, 54, 56 | addsubd 10413 |
. . . . . . . . . . . 12
  Word
Word                            |
| 98 | 96, 97 | eqtrd 2656 |
. . . . . . . . . . 11
  Word
Word       ++                  |
| 99 | 98 | oveq1d 6665 |
. . . . . . . . . 10
  Word
Word        ++                     |
| 100 | 99 | adantr 481 |
. . . . . . . . 9
   Word
Word       ..^                  ++                     |
| 101 | 9 | nn0zd 11480 |
. . . . . . . . . . . . 13
 Word       |
| 102 | | peano2zm 11420 |
. . . . . . . . . . . . 13
    
        |
| 103 | 101, 102 | syl 17 |
. . . . . . . . . . . 12
 Word         |
| 104 | 103 | zcnd 11483 |
. . . . . . . . . . 11
 Word         |
| 105 | 104 | ad2antrr 762 |
. . . . . . . . . 10
   Word
Word       ..^                    |
| 106 | | elfzoelz 12470 |
. . . . . . . . . . . 12
      ..^          
  |
| 107 | 106 | zcnd 11483 |
. . . . . . . . . . 11
      ..^          
  |
| 108 | 107 | adantl 482 |
. . . . . . . . . 10
   Word
Word       ..^           
  |
| 109 | 12 | ad2antlr 763 |
. . . . . . . . . 10
   Word
Word       ..^                  |
| 110 | 105, 108,
109 | subsub3d 10422 |
. . . . . . . . 9
   Word
Word       ..^                                          |
| 111 | 100, 110 | eqtr4d 2659 |
. . . . . . . 8
   Word
Word       ..^                  ++                     |
| 112 | 89 | oveq2d 6666 |
. . . . . . . . . 10
  Word
Word      reverse            |
| 113 | 112 | oveq2d 6666 |
. . . . . . . . 9
  Word
Word             reverse                     |
| 114 | 113 | adantr 481 |
. . . . . . . 8
   Word
Word       ..^                       reverse                     |
| 115 | 111, 114 | eqtr4d 2659 |
. . . . . . 7
   Word
Word       ..^                  ++                reverse       |
| 116 | 115 | fveq2d 6195 |
. . . . . 6
   Word
Word       ..^                     ++                    reverse        |
| 117 | | simpll 790 |
. . . . . . 7
   Word
Word       ..^           
Word   |
| 118 | | simplr 792 |
. . . . . . 7
   Word
Word       ..^           
Word   |
| 119 | | zaddcl 11417 |
. . . . . . . . . . . 12
                       |
| 120 | 37, 101, 119 | syl2anr 495 |
. . . . . . . . . . 11
  Word
Word              |
| 121 | | peano2zm 11420 |
. . . . . . . . . . 11
          
              |
| 122 | 120, 121 | syl 17 |
. . . . . . . . . 10
  Word
Word                |
| 123 | 122 | adantr 481 |
. . . . . . . . 9
   Word
Word       ..^                          |
| 124 | | fzoval 12471 |
. . . . . . . . . . . 12
          
     ..^                                 |
| 125 | 120, 124 | syl 17 |
. . . . . . . . . . 11
  Word
Word       ..^                                 |
| 126 | 125 | eleq2d 2687 |
. . . . . . . . . 10
  Word
Word        ..^          
                       |
| 127 | 126 | biimpa 501 |
. . . . . . . . 9
   Word
Word       ..^           
                      |
| 128 | | fzrev2i 12405 |
. . . . . . . . 9
                                                                                                   |
| 129 | 123, 127,
128 | syl2anc 693 |
. . . . . . . 8
   Word
Word       ..^                                                                            |
| 130 | 53 | oveq1d 6665 |
. . . . . . . . 9
  Word
Word        ++                     |
| 131 | 130 | adantr 481 |
. . . . . . . 8
   Word
Word       ..^                  ++                     |
| 132 | 101 | adantr 481 |
. . . . . . . . . . 11
  Word
Word        |
| 133 | | fzoval 12471 |
. . . . . . . . . . 11
    
 ..^                 |
| 134 | 132, 133 | syl 17 |
. . . . . . . . . 10
  Word
Word   ..^                 |
| 135 | 122 | zcnd 11483 |
. . . . . . . . . . . 12
  Word
Word                |
| 136 | 135 | subidd 10380 |
. . . . . . . . . . 11
  Word
Word                              |
| 137 | | addcl 10018 |
. . . . . . . . . . . . . 14
                       |
| 138 | 12, 10, 137 | syl2anr 495 |
. . . . . . . . . . . . 13
  Word
Word              |
| 139 | 138, 56, 54 | sub32d 10424 |
. . . . . . . . . . . 12
  Word
Word                                        |
| 140 | | pncan2 10288 |
. . . . . . . . . . . . . 14
                                 |
| 141 | 12, 10, 140 | syl2anr 495 |
. . . . . . . . . . . . 13
  Word
Word                        |
| 142 | 141 | oveq1d 6665 |
. . . . . . . . . . . 12
  Word
Word                            |
| 143 | 139, 142 | eqtrd 2656 |
. . . . . . . . . . 11
  Word
Word                            |
| 144 | 136, 143 | oveq12d 6668 |
. . . . . . . . . 10
  Word
Word                                                              |
| 145 | 134, 144 | eqtr4d 2659 |
. . . . . . . . 9
  Word
Word   ..^                                                       |
| 146 | 145 | adantr 481 |
. . . . . . . 8
   Word
Word       ..^             ..^                                                       |
| 147 | 129, 131,
146 | 3eltr4d 2716 |
. . . . . . 7
   Word
Word       ..^                  ++      ..^       |
| 148 | | ccatval1 13361 |
. . . . . . 7
  Word
Word       ++      ..^        ++          ++               ++        |
| 149 | 117, 118,
147, 148 | syl3anc 1326 |
. . . . . 6
   Word
Word       ..^              ++          ++               ++        |
| 150 | 29 | ad2antlr 763 |
. . . . . . . . 9
   Word
Word       ..^               reverse         |
| 151 | 150 | oveq2d 6666 |
. . . . . . . 8
   Word
Word       ..^                reverse            |
| 152 | | id 22 |
. . . . . . . . 9
      ..^          
     ..^             |
| 153 | | fzosubel3 12528 |
. . . . . . . . 9
       ..^                       ..^       |
| 154 | 152, 132,
153 | syl2anr 495 |
. . . . . . . 8
   Word
Word       ..^                   ..^       |
| 155 | 151, 154 | eqeltrd 2701 |
. . . . . . 7
   Word
Word       ..^                reverse     ..^       |
| 156 | | revfv 13512 |
. . . . . . 7
  Word 
   reverse     ..^       reverse        reverse               
   reverse        |
| 157 | 117, 155,
156 | syl2anc 693 |
. . . . . 6
   Word
Word       ..^             reverse        reverse               
   reverse        |
| 158 | 116, 149,
157 | 3eqtr4d 2666 |
. . . . 5
   Word
Word       ..^              ++          ++       reverse        reverse       |
| 159 | 1 | adantr 481 |
. . . . . 6
   Word
Word       ..^             ++  Word   |
| 160 | 11 | adantl 482 |
. . . . . . . . 9
  Word
Word        |
| 161 | | fzoss1 12495 |
. . . . . . . . . 10
              ..^            ..^             |
| 162 | | nn0uz 11722 |
. . . . . . . . . 10
     |
| 163 | 161, 162 | eleq2s 2719 |
. . . . . . . . 9
    
     ..^            ..^             |
| 164 | 160, 163 | syl 17 |
. . . . . . . 8
  Word
Word       ..^            ..^             |
| 165 | 15 | oveq2d 6666 |
. . . . . . . 8
  Word
Word   ..^    ++     ..^             |
| 166 | 164, 165 | sseqtr4d 3642 |
. . . . . . 7
  Word
Word       ..^            ..^    ++      |
| 167 | 166 | sselda 3603 |
. . . . . 6
   Word
Word       ..^           
 ..^    ++      |
| 168 | 159, 167,
85 | syl2anc 693 |
. . . . 5
   Word
Word       ..^             reverse  ++        ++          ++        |
| 169 | 20 | ad2antlr 763 |
. . . . . 6
   Word
Word       ..^            reverse  Word   |
| 170 | 21 | ad2antrr 762 |
. . . . . 6
   Word
Word       ..^            reverse  Word   |
| 171 | 89, 31 | oveq12d 6668 |
. . . . . . . 8
  Word
Word      reverse   ..^    reverse      reverse          ..^             |
| 172 | 171 | eleq2d 2687 |
. . . . . . 7
  Word
Word       reverse   ..^    reverse      reverse    
     ..^              |
| 173 | 172 | biimpar 502 |
. . . . . 6
   Word
Word       ..^           
    reverse   ..^    reverse      reverse       |
| 174 | | ccatval2 13362 |
. . . . . 6
  reverse  Word reverse  Word
    reverse   ..^    reverse      reverse     
  reverse  ++ reverse       reverse        reverse       |
| 175 | 169, 170,
173, 174 | syl3anc 1326 |
. . . . 5
   Word
Word       ..^              reverse  ++ reverse       reverse        reverse       |
| 176 | 158, 168,
175 | 3eqtr4d 2666 |
. . . 4
   Word
Word       ..^             reverse  ++        reverse  ++ reverse        |
| 177 | 95, 176 | jaodan 826 |
. . 3
   Word
Word    ..^          ..^              reverse  ++        reverse  ++ reverse        |
| 178 | 40, 177 | syldan 487 |
. 2
   Word
Word   ..^             reverse  ++        reverse  ++ reverse        |
| 179 | 19, 35, 178 | eqfnfvd 6314 |
1
  Word
Word  reverse  ++    reverse  ++ reverse     |