| ∀ str0, n0, n. substring(str1 + str0, n0 + # str1, n) = substring(str0, n0, n) ⊦ substring((char + str1) + str0, n0 + #(char + str1), n) = substring(str0, n0, n) |
∀ str0, n0, n. substring(str1 + str0, n0 + # str1, n) = substring(str0, n0, n) ⊦ substring((char ' + str1) + str0, n0 + # str1 + 1, n) = substring(str0, n0, n)
Used simplifier rules: a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%Length-rec: ⊦ #(char ' + str) = # str + 1; from specification string-less%assoc: ⊦ (str1 + str2) + str3 = str1 + str2 + str3; from specification string-append%chartostring-01: ⊦ char + str = char ' + str; from specification string-append