| 10 ≤ n, n→s(n / 10) + n→s(n % 10) = "0" ⊦ n = 0 |
⊦ # str ≠ # str0 → str ≠ str0
Used simplifier rules: n2s-length-01: ⊦ # n→s(m % 10) = 1;%n2s-empty: ⊦ n→s(n) ≠ "";%len-app: ⊦ #(str + str0) = # str + # str0; from specification string-less%assoc: ⊦ (str1 + str2) + str3 = str1 + str2 + str3; from specification string-append%len-str-01: str ≠ "" ⊦ # (* str) = # str.rstring + 1; from specification string-less%Length-empty: ⊦ # "" = 0; from specification string-less%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%one-03: ⊦ 1 = m + 1 ↔ m = 0; from specification nat-basic2%len-zero: ⊦ # str = 0 ↔ str = ""; from specification string-less Used terms: "0", n→s(n / 10) + n→s(n % 10)