| ∀ 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) = string-right-trim(str, str0) |
⊦ str2.last ∈ str1 ∧ str2 ≠ "" → string-right-trim(str1, str2) = string-right-trim(str1, str2.butlast)
¬((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) = string-right-trim(str, str0)
(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)
Used terms: str0 + str1, str