| ∀ str0. str0 = "" ∨ s→n(str2 + str0) = s→n(str2) * 10 ^ # str0 + s→n(str0) ⊦ s→n(char0 ') * 10 ^ # str2 * 10 ^ # str0 + s→n(str2 + str0) = (s→n(char0 ') * 10 ^ # str2 + s→n(str2)) * 10 ^ # str0 + s→n(str0), str0 = "", char0 ' + str2 = "", str2 = "" |
⊦ m0 * (m + n) = m0 * m + m0 * n
∀ str0. str0 = "" ∨ s→n(str2 + str0) = s→n(str2) * 10 ^ # str0 + s→n(str0) ⊦ s→n(char0 ') * 10 ^ # str2 * 10 ^ # str0 + s→n(str2 + str0) = (10 ^ # str0 * s→n(char0 ') * 10 ^ # str2 + 10 ^ # str0 * s→n(str2)) + s→n(str0), str0 = "", char0 ' + str2 = "", str2 = ""
Used simplifier rules: mult-c: ⊦ m * n = n * m; from specification nat-mult Used terms: 10 ^ # str0, s→n(str2), s→n(char0 ') * 10 ^ # str2