| ∀ str0, n0, n. substring(str1 + str0, n0 + # str1, n) = substring(str0, n0, n) ⊦ (char ' + str1) + str0 = "", substring(((char ' + str1) + str0).rstring, n0 + # str1, n) = substring(str0, n0, n) |
(char ' + str1) + str0 = char0 + str2, ∀ str0, n0, n. substring(str1 + str0, n0 + # str1, n) = substring(str0, n0, n) ⊦ (char ' + str1) + str0 = "", substring(str2, n0 + # str1, n) = substring(str0, n0, n)
Used simplifier rules: ⊦ str ≠ "" → (char = str.char1 ∧ str0 = str.rstring ↔ str = char + str0); (elim) Used terms: (char ' + str1) + str0, char0, str