| i0 ' ≠ [] ∧ ints0 ≠ [], max(max(i0 '), max(ints0)) < max(i0 ' + (ints0 -1l i)), ∀ i. max(ints0) < max(ints0 -1l i) → ints0 = [] ∨ ints0 = i ' ∧ i < 0 ⊦ i = i0, i0 ' + ints0 = i ' |
i0 < max(i0 ' + (ints0 -1l i)), max(ints0) < max(i0 ' + (ints0 -1l i)), ∀ i1. max(ints0) < max(ints0 -1l i1) → ints0 = i1 ' ∧ i1 < 0 ⊦ i = i0, i0 ' + ints0 = i ', ints0 = []
Used simplifier rules: max-one: ⊦ max(i ') = i;%max-c: ⊦ max(i, j) = max(j, i); from specification int-min%max-a: ⊦ max(i, max(j, j0)) = max(max(i, j), j0); from specification int-min%max-01: ⊦ max(i, j) < j0 ↔ i < j0 ∧ j < j0; from specification int-min%e: ⊦ i ' ≠ []; from specification list[intlista]