| str1 ≠ "", (str0 + str1).last ∈ str ∧ str0 + str1 ≠ "", ∀ char. char ∈ str1 → char ∈ str, ∀ str0, str, str2. # str2 < # str1 → (∀ char. char ∈ str2 → char ∈ str) → string-right-trim(str, str0 + str2) = string-right-trim(str, str0) ⊦ str1 = "", string-right-trim(str, str0 + str1.butlast) = string-right-trim(str, str0) |
str1.last ∈ str, ∀ char. char ∈ str1 → char ∈ str, ∀ str0, str, str2. # str2 < # str1 → (∀ char. char ∈ str2 → char ∈ str) → string-right-trim(str, str0 + str2) = string-right-trim(str, str0) ⊦ string-right-trim(str, str0 + str1.butlast) = string-right-trim(str, str0), str0 + str1 = "", str1 = ""
Used simplifier rules: last-app: ⊦ str1 ≠ "" → (str0 + str1).last = str1.last;% ⊦ (str1 + str2) + str3 = str1 + str2 + str3;