User blog comment:Ubersketch/Section Notation/@comment-35470197-20190327223409/@comment-35470197-20190329234042

It does not work because there is no explicit algorithm to compute values. In particular, you have not written any order to apply your rules. For example, how to solve \([2]r2\)? You can write the pair (string, value) in the following two distinct ways: \begin{eqnarray*} ([2]r2,0) & = & ([2]r,2) \ (\textrm{rule 1}) \\ ([2]r2,0) & = & ([]r2,2) \ (\textrm{rule 1}) \\ & = & ([]r,4) \ (\textrm{rule 1}) \\ ([2]r2,0) & = & ([]r2,2) \ (\textrm{rule 1}) \\ & = & ([][],2) \ (\textrm{rule 4}) \\ ([2]r2,0) & = & ([2][2],0) \ (\textrm{rule 4}) \\ & = & ([2][],2) \ (\textrm{rule 1}) \\ & = & ([][],4) \ (\textrm{rule 1}) \end{eqnarray*} You might think "I do not intend such computation at all", but no one other than you can understand what you want unless you write an explicit algorithm.