| 0 ≤ i0, i→n(i) + # vals ≤ # vals0, 0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0), 0 ≤ i0 ∧ i0 < n→i(# vals0) ∨ i ≤ i0 ∧ i0 < i + n→i(# vals) ⊦ r -- i0 ' ∈ st, ¬ i0 < 0 ∧ ¬ # vals0 ≤ i→n(i0) |
i→n(i) + # vals ≤ # vals0, 0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0), # vals0 ≤ i→n(i0), 0 ≤ i0, i→n(i) + # vals ≤ i→n(i0), i0 < n→i(# vals0) ∨ i ≤ i0 ∧ i0 < i + n→i(# vals) ⊦ r -- i0 ' ∈ st
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j])]]