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