| str = char + str0 ⊦ s→n(str) = s→n(str0) + 10 ^ (# str - 1) * s→n(char '), # str = 1, str = "" |
⊦ s→n(char ' + str0) = s→n(char ') * 10 ^ # str0 + s→n(str0), str0 = "", char ' + str0 = ""
Used simplifier rules: ⊦ # str = 0 ↔ str = "";% ⊦ m + n = 1 ↔ m = 0 ∧ n = 1 ∨ n = 0 ∧ m = 1;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ n + 0 = n;% ⊦ n ≤ m → m + n0 - n = (m - n) + n0;% ⊦ (str1 + str2) + str3 = str1 + str2 + str3;% ⊦ #(char ' + str) = # str + 1;% ⊦ char + str = char ' + str;