| ('0' ' + '1' ' + '2' ' + '3' ' + '4' ' + '5' ' + '6' ' + '7' ' + '8' ' + '9' ')[m] ' = n→s(n / 10) + n→s(n % 10), m < n, 10 ≤ n, m < 10, ∀ m1, n. m1 < m → n→s(m1) = n→s(n) → m1 = n ⊦ |
⊦ # str ≠ # str0 → str ≠ str0
Used simplifier rules: n2s-length-01: ⊦ # n→s(m % 10) = 1;%n2s-empty: ⊦ n→s(n) ≠ "";% ⊦ # chars[m] ' = 1;% ⊦ #(str + str0) = # str + # str0;% ⊦ (str1 + str2) + str3 = str1 + str2 + str3;% ⊦ 1 = m + 1 ↔ m = 0;% ⊦ # str = 0 ↔ str = "";% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: n→s(n / 10) + n→s(n % 10), ( '0' ' + '1' ' + '2' ' + '3' ' + '4' ' + '5' ' + '6' ' + '7' ' + '8' ' + '9' ' )[m ] '