| n ≤ # str0, ∀ n0. n0 < # str0 → pos(s→l(str0)[n0], str0) = n0 ∨ str0 = "" ⊦ pos((char ' + s→l(str0))[n], char ' + str0) = n, char ' + str0 = "", dups(s→l(str0)), char ∈ s→l(str0) |
n ≠ 0 ⊦ (char ' + chars)[(* n)] = chars[n -1]
n ≠ 0, n ≤ # str0, ∀ n0. n0 < # str0 → pos(s→l(str0)[n0], str0) = n0 ∨ str0 = "" ⊦ pos(s→l(str0)[n -1], char ' + str0) = n, char ' + str0 = "", dups(s→l(str0)), char ∈ s→l(str0)
Used simplifier rules: ⊦ (char ' + chars)[0] = char;% ⊦ (chars + chars0) + chars1 = chars + chars0 + chars1;% ⊦ pos(char, char ' + str) = 0;% ⊦ (str1 + str2) + str3 = str1 + str2 + str3; Used terms: n, s→l(str0), char