| st[_mode] = noval, getintarray(a, st) ≠ [], a ≠ jvmref, okarray(a, int_type, st), init(st), a ∈ st, st[_mode] = noval, initdone(`swt.ArrayMax' .class, st), a0 = a, i0 = 0, st[_mode] = noval, i1 = val2int(coerce(st[a0 -- mkfs(`*Array*' .class, int_type, `length' .field) '], int_type)), a0 ≠ jvmref ⊦ 〈st; i3 = i1 - 1; 〉 〈st; while (i0 != i3) { if (a0[i0] <= a0[i3]) i0++; else i3--; }〉 〈st; i = i0; 〉 (st[a -- i '] .intval = max(getintarray(a, st)) ∧ 0 ≤ i ∧ i < st[a -- _length] .intval) |
st[_mode] = noval, getintarray(a, st) ≠ [], a ≠ jvmref, okarray(a, int_type, st), init(st), a ∈ st, st[_mode] = noval, initdone(`swt.ArrayMax' .class, st), a0 = a, i0 = 0, st[_mode] = noval, i1 = val2int(coerce(st[a0 -- mkfs(`*Array*' .class, int_type, `length' .field) '], int_type)), a0 ≠ jvmref, i2 = i1 - 1 ⊦ 〈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 : ()]]