| i = i2 + (i5 - i4) * (i1 - i2) + j1, st0[r2 -- _type] = typeval(mkarraytype(ty0)), st0[r2 -- _length] = intval(i0), i2 + i5 * (i1 - i2) + j1 = i4 * (i1 - i2) + i, 0 < i5 * (i1 - i2) + j1, 0 < i5 * (i1 - i2) + j0, 0 < i5 * (i1 - i2) + j1 + j0, 0 ≤ i5 * (i1 - i2) + j0, 0 ≤ i5 * (i1 - i2) + j1, 0 ≤ i2 + i5 * (i1 - i2) + j1 + j0, 0 ≤ i5 * (i1 - i2) + j1 + j0, 0 < i2 + i5 * (i1 - i2) + j1 + j0, j0 + i2 < i1, 0 ≤ j0, 0 ≤ i5, j1 + i2 < i0, 0 ≤ j1, i2 < i1, j1 + i2 < i1, j0 + i2 < i0, 0 ≤ i4, 0 < i0, i1 ≤ i2 + i5 * (i1 - i2) + j1 + j0, i ≤ i2 + i5 * (i1 - i2) + j1 + j0, 0 ≤ i, i2 ≤ i, 0 ≤ i0, r2 -- _length ∈ st0, i2 + i5 * (i1 - i2) + j1 + j0 < i0, 0 ≤ i2, r2 -- _type ∈ st0, ty0 ≤ ty, r2 ∈ st0, i < i0, i2 < i0, r2 -- i ' ∈ st0, i1 < i0, 0 < i1, 1 < i0, i + i1 ≤ 2 * i2 + i5 * (i1 - i2) + j1 + j0, i5 < i4, 0 < i4, ∀ j. ¬ j < 0 ∧ ¬ i0 ≤ j → r2 -- j ' ∈ st0, ∀ j. ¬ j < 0 ∧ ¬ i0 ≤ j → okval(st0[r2 -- j '], ty), ∀ j2. ¬ j2 < 0 ∧ ¬ i5 * (i1 - i2) + j1 + j0 < j2 → st0[r2 -- (i1 + j2) '] = st0[r2 -- (i2 + j2) '] ⊦ i5 = i4, st0[r2 -- (i1 + j1) '] = st0[r2 -- ((i1 - i2) * (i5 - i4 + 1) + i1 + j1) '], r2 = jvmref |
st0[r2 -- _type] = typeval(mkarraytype(ty0)), st0[r2 -- _length] = intval(i0), i5 < i4, 0 < i4, 0 < i5 * (i1 - i2) + j1, 0 < i5 * (i1 - i2) + j0, 0 < i5 * (i1 - i2) + j1 + j0, 0 ≤ i5 * (i1 - i2) + j0, 0 ≤ i5 * (i1 - i2) + j1, 0 ≤ i2 + i5 * (i1 - i2) + j1 + j0, 0 ≤ i5 * (i1 - i2) + j1 + j0, 0 < i2 + i5 * (i1 - i2) + j1 + j0, j0 + i2 < i1, 0 ≤ j0, 0 ≤ i5, j1 + i2 < i0, 0 ≤ j1, i2 < i1, j1 + i2 < i1, j0 + i2 < i0, 0 ≤ i4, 0 < i0, i1 ≤ i2 + i5 * (i1 - i2) + j1 + j0, (i5 - i4) * (i1 - i2) ≤ i5 * (i1 - i2) + j0, 0 ≤ i0, r2 -- _length ∈ st0, i2 + i5 * (i1 - i2) + j1 + j0 < i0, 0 ≤ i2, r2 -- _type ∈ st0, ty0 ≤ ty, r2 ∈ st0, i2 + (i5 - i4) * (i1 - i2) + j1 < i0, i2 < i0, r2 -- (i2 + (i5 - i4) * (i1 - i2) + j1) ' ∈ st0, i1 < i0, 0 < i1, 1 < i0, (i5 - i4) * (i1 - i2) + i1 ≤ i2 + i5 * (i1 - i2) + j0, 0 ≤ i2 + (i5 - i4) * (i1 - i2) + j1, 0 ≤ (i5 - i4) * (i1 - i2) + j1, ∀ j. ¬ j < 0 ∧ ¬ i0 ≤ j → r2 -- j ' ∈ st0, ∀ j. ¬ j < 0 ∧ ¬ i0 ≤ j → okval(st0[r2 -- j '], ty), ∀ j2. ¬ j2 < 0 ∧ ¬ i5 * (i1 - i2) + j1 + j0 < j2 → st0[r2 -- (i1 + j2) '] = st0[r2 -- (i2 + j2) '] ⊦ i5 = i4, st0[r2 -- (i1 + j1) '] = st0[r2 -- ((i1 - i2) * (i5 - i4 + 1) + i1 + j1) '], r2 = jvmref
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPSEQ : ⊦ 1 * i = i], [CSIMPSEQ : ⊦ i + j ≤ ((* i1)) * i + j0 ↔ j ≤ (i1 - 1) * i + j0], [CSIMPSEQ : ⊦ i ≤ i + j ↔ 0 ≤ j], [CSIMPSEQ : ⊦ i + j ≤ i0 + j ↔ i ≤ i0], [CSIMPSEQ : ⊦ i + j = i + i0 ↔ j = i0], [CSIMPSEQ : ⊦ i * j * j0 = (i * j) * j0], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + (j - i) = j], [CSIMPSEQ : ⊦ i * j + i * j0 = i * (j + j0)], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i * j = j * i])]]