| i0 < max(i0 ' + ints0), ∀ i. i < max(ints0) → max(ints0 -1l i) = max(ints0) ⊦ max(ints0) = max(i0 ' + ints0) |
⊦ ints ≠ [] → max(i ' + ints) = max(i, max(ints))
Used simplifier rules: max-empty: ⊦ max([]) = 0;%max-one: ⊦ max(i ') = i;%max: ⊦ max(i, j) = j ↔ ¬ j < i; from specification int-min%max-a: ⊦ max(i, max(j, j0)) = max(max(i, j), j0); from specification int-min%max-c: ⊦ max(i, j) = max(j, i); from specification int-min%Max-right: ⊦ j < i → max(j, i) = i; from specification int-min%irreflexivity: ⊦ ¬ i < i; from specification oelem[intlista]%app: ⊦ ints + [] = ints; from specification list[intlista]%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista] Used terms: ints0, i0