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