| ¬ dups(ints) ∧ (∀ i. i ∈ ints → j0 < i ∧ i ≤ j1) ∧ ints ≠ [], ∀ ints0, j0, j1. # ints0 < # ints → ¬ dups(ints0) ∧ (∀ i. i ∈ ints0 → j0 < i ∧ i ≤ j1) ∧ ints0 ≠ [] → n→i(# ints0) ≤ j1 - j0 ⊦ n→i(# ints) ≤ j1 - j0 |
j1 < 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)
Used simplifier rules: lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%sub-le-01: ⊦ i ≤ j - i0 ↔ i + i0 ≤ j; from specification int-abs