| ∀ str2. str0 = str2 ∨ str2 < str0 ∨ str0 < str2, ∀ str0, char. (∀ str2. str0 = str2 ∨ str2 < str0 ∨ str0 < str2) → char ' + str0 = str ∨ str < char ' + str0 ∨ char ' + str0 < str ⊦ char0 ' = "", char < char0, char0 < char, char = char0 ∧ str0 < str, char0 = char ∧ str < str0, char = char0 '.char1 ∧ str0 = char0 '.rstring + str |
∀ str0, char. (∀ str2. str0 = str2 ∨ str2 < str0 ∨ str0 < str2) → char ' + str0 = str ∨ str < char ' + str0 ∨ char ' + str0 < str, ∀ str2. str0 = str2 ∨ str2 < str0 ∨ str0 < str2 ⊦ char0 < char, char < char0, char0 = char ∧ str < str0, char = char0 ∧ str0 < str, char = char0 ∧ str0 = str
Used simplifier rules: a: ⊦ (str + str0) + str1 = str + str0 + str1; from specification list[string]% ⊦ "" + str = str; (s)% ⊦ char '.rstring = ""; (s)% ⊦ char '.char1 = char; (s)% ⊦ char ' ≠ ""; (s)