| n = m + 1, n ≤ # str0, ∀ n0. n0 < # str0 → pos(s→l(str0)[n0], str0) = n0 ∨ str0 = "" ⊦ char ' + str0 = "", n = 0, pos(s→l(str0)[m], char ' + str0) = n, dups(s→l(str0)), char ∈ s→l(str0) |
m < # str0, ∀ n. n < # str0 → pos(s→l(str0)[n], str0) = n ⊦ pos(s→l(str0)[m], char ' + str0) = m + 1, char ' + str0 = "", str0 = "", char ∈ s→l(str0), dups(s→l(str0))
Used simplifier rules: ⊦ # str = 0 ↔ str = "";% ⊦ m < n → n ≠ 0; (forward)% ⊦ m + 1 ≤ n ↔ m < n;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + 1 ≠ 0;