| max(getintarray(a, st)) = st[a -- j '] .intval, i0 = 0, a0 = a, st[_mode] = noval, st[a -- _length] .intval = i2 + 1, getintarray(a, st) ≠ [], a ≠ jvmref, okarray(a, int_type, st), init(st), a ∈ st, initdone(`swt.ArrayMax' .class, st), 0 ≤ j, j ≤ i2, 0 ≤ i2, ∀ i. i ∈ getintarray(a, st) → i ≤ max(getintarray(a, st)), ∀ i1. ¬ 0 ≤ i1 ∨ ¬ i1 ≤ i2 ∨ st[a -- i1 '] .intval ≠ max(getintarray(a, st)) ⊦ 〈st; while (i0 != i2) { if (a0[i0] <= a0[i2]) i0++; else i2--; }〉 〈st; i = i0; 〉 (st[a -- i '] .intval = max(getintarray(a, st)) ∧ 0 ≤ i ∧ i < st[a -- _length] .intval) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j])], [EXTRATERMS : (j)]]