| # str0 = 1 → s→n(str0) = pos(str0.char1, '0' ' + '1' ' + '2' ' + '3' ' + '4' ' + '5' ' + '6' ' + '7' ' + '8' ' + '9' '), #(char + str0) = 1 ⊦ s→n(char + str0) = pos((char + str0).char1, '0' ' + '1' ' + '2' ' + '3' ' + '4' ' + '5' ' + '6' ' + '7' ' + '8' ' + '9' ') |
⊦ s→n(char ') = pos(char, '0' ' + '1' ' + '2' ' + '3' ' + '4' ' + '5' ' + '6' ' + '7' ' + '8' ' + '9' ')
Used simplifier rules: ⊦ # "" = 0;% ⊦ char '.char1 = char;% ⊦ str1 + "" = str1;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ # str = 0 ↔ str = "";% ⊦ 1 = m + 1 ↔ m = 0;% ⊦ (str1 + str2) + str3 = str1 + str2 + str3;% ⊦ #(char ' + str) = # str + 1;% ⊦ char + str = char ' + str;