| a0 = a, st[_mode] = noval, st[a -- i1 '] .intval = max(getintarray(a, st)), m = i→n(i2 - i0), boolvar0 ↔ i0 ≠ i2, getintarray(a, st) ≠ [], is_integervalue(st[a -- i1 ']), i0 < st[a -- _length] .intval, 0 ≤ i2, 0 < st[a -- _length] .intval, init(st), okarray(a, int_type, st), i0 ≤ i1, i1 ≤ i2, i2 < st[a -- _length] .intval, 0 ≤ i0, 0 ≤ i1, i0 ≤ i2, i1 < st[a -- _length] .intval, is_integervalue(st[a -- i0 ']), is_integervalue(st[a -- 0 ']), is_integervalue(st[a -- i2 ']), st[_mode] = noval, ¬ boolvar0 ⊦ ( boolvar0 ∧ st[_mode] = noval → init(st) ∧ okarray(a, int_type, st) ∧ getintarray(a, st) ≠ [] ∧ 0 ≤ i0 ∧ (∃ i. i0 ≤ i ∧ i ≤ i2 ∧ i2 < st[a0 -- _length] .intval ∧ st[a -- i '] .intval = max(getintarray(a, st))) ∧ i→n(i2 - i0) < m) ∧ (¬ boolvar0 ∨ st[_mode] ≠ noval → 〈st; i = i0; 〉 (st[a -- i '] .intval = max(getintarray(a, st)) ∧ 0 ≤ i ∧ i < st[a -- _length] .intval)) |
st[_mode] = noval, st[a -- i1 '] .intval = max(getintarray(a, st)), getintarray(a, st) ≠ [], is_integervalue(st[a -- 0 ']), is_integervalue(st[a -- i1 ']), i1 < st[a -- _length] .intval, 0 ≤ i1, 0 < st[a -- _length] .intval, init(st), okarray(a, int_type, st) ⊦ 〈st; i = i1; 〉 (st[a -- i '] .intval = max(getintarray(a, st)) ∧ 0 ≤ i ∧ i < st[a -- _length] .intval)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ j → (j ≤ i ↔ i = j)], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j], [CSIMPSEQ : ⊦ i ≤ i], [CSIMPFORWARD : ⊦ i < i0 ∧ i = i1 → i1 < i0])]]