| ints -1l max(ints) ≠ [], j1 < n→i(# ints) + j0, j0 < max(ints), max(ints) ≤ j1, j0 < j1, max(ints) < n→i(# ints) + j0, ∀ i. i ∈ ints → j0 < i ∧ i ≤ j1, ∀ ints0, j0, j1. # ints0 < # ints → ¬ dups(ints0) ∧ (∀ i. i ∈ ints0 → j0 < i ∧ i ≤ j1) ∧ ints0 ≠ [] → n→i(# ints0) ≤ j1 - j0 ⊦ ints = [], dups(ints), dups(ints -1l max(ints)), ints ≠ max(ints) ' ∧ (i ∈ ints -1l max(ints) → j0 < i ∧ i < j1) |
j1 < n→i(# ints) + j0, j0 < max(ints), max(ints) ≤ j1, j0 < j1, max(ints) < n→i(# ints) + j0, i ∈ ints -1l max(ints), i ∈ ints, ∀ i. i ∈ ints → j0 < i ∧ i ≤ j1, ∀ ints0, j0, j1. # ints0 < # ints → ¬ dups(ints0) ∧ (∀ i. i ∈ ints0 → j0 < i ∧ i ≤ j1) ∧ ints0 ≠ [] → n→i(# ints0) ≤ j1 - j0 ⊦ ints = [], ints = max(ints) ', dups(ints), dups(ints -1l max(ints)), j0 < i ∧ i < j1
Used simplifier rules: in-01-01: ⊦ i ∈ ints -1l i0 → i ∈ ints; (forward) from specification list-del[intlista]%del1-empty: ⊦ ints ≠ [] → (ints -1l i = [] ↔ ints = i '); from specification list-del[intlista]