| a < min(x3 + x), min(x + a ' + x3) = a, min(x3 + a0 ' + x) = min(x + x3), min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → true → x1 + x2 = [] ∨ min(x1 + x2) = min(x2 + x1) ⊦ x3 + x = [], x + x3 = [], min(x + x3) = a0, a < min(x + x3) |
min(x + a ' + x3) = a, min(x3 + a0 ' + x) = min(x + x3), min(x + x3) < a0, a0 < a, a < min(x3 + x), min(x + x3) < min(x3 + x), min(x + x3) < a, a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → true → x1 + x2 = [] ∨ min(x1 + x2) = min(x2 + x1) ⊦ x3 + x = [], x + x3 = [], min(x + x3) = a0
Used simplifier rules: lel: ⊦ a < b ∧ a = c → c < b; (forward) from specification oelem%transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification oelem%ls-le: ⊦ a < b → (¬ b < a ↔ true); from specification oelem