| 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) '] ⊦ i = i2 + (i5 - i4) * (i1 - i2) + j1, i5 = i4, st0[r2 -- (i1 + j1) '] = st0[r2 -- ((i1 - i2) * (i5 - i4 + 1) + i1 + j1) '], r2 = jvmref |
⊦ (i - j) * j0 = i * j0 - j * j0
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) '] ⊦ i = i2 + (i5 * (i1 - i2) - i4 * (i1 - i2)) + j1, i5 = i4, st0[r2 -- (i1 + j1) '] = st0[r2 -- ((i1 - i2) * (i5 - i4 + 1) + i1 + j1) '], r2 = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (i1 - i2, i4, i5)]]