| char0 ' + str < char + str1, str0 < str, ∀ str3, char, str0. str < str3 ∧ char ' + str0 < str ∧ (∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3) → char ' + str0 < str3, ∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3, ∀ str0, str, char0. str0 < str ∧ char0 ' + str < str1 ∧ (∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3) ∧ (∀ str3, char, str0. str < str3 ∧ char ' + str0 < str ∧ (∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3) → char ' + str0 < str3) → char0 ' + str0 < str1 ⊦ char0 ' + str0 < char + str1 |
str < str1, str0 < str, ∀ str3, char, str0. str < str3 ∧ char ' + str0 < str ∧ (∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3) → char ' + str0 < str3, ∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3, ∀ str0, str, char0. str0 < str ∧ char0 ' + str < str1 ∧ (∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3) ∧ (∀ str3, char, str0. str < str3 ∧ char ' + str0 < str ∧ (∀ str2, str3. str2 < str3 ∧ str0 < str2 → str0 < str3) → char ' + str0 < str3) → char0 ' + str0 < str1 ⊦ str0 < str1
Used simplifier rules: Less-rec: ⊦ char1 ' + str1 < char2 ' + str2 ↔ char1 < char2 ∨ char1 = char2 ∧ str1 < str2;%Char-irref: ⊦ ¬ char < char;%a: ⊦ (str + str0) + str1 = str + str0 + str1; from specification list[string]% ⊦ char + str = char ' + str; (s)