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