| max(ints1 + ints0) < max(ints0) ⊦ ints0 = [] ∧ max(ints1) < 0 |
⊦ ints ≠ [] ∧ ints0 ≠ [] → max(ints + ints0) = max(max(ints), max(ints0))
Used simplifier rules: max-empty: ⊦ max([]) = 0;%max-01: ⊦ max(i, j) < j0 ↔ i < j0 ∧ j < j0; from specification int-min%irreflexivity: ⊦ ¬ i < i; from specification oelem[intlista]%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%Nil: ⊦ [] + ints = ints; from specification list[intlista]%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%app: ⊦ ints + [] = ints; from specification list[intlista]%lenls: ⊦ i ≤ j → ¬ j < i; from specification int-abs Used terms: ints0, ints1