| a0 = a, i0 = 0, 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) ⊦ 〈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) |
a0 = a, i0 = 0, 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), ¬ init(st) ∨ st[_mode] ≠ noval ∨ a0 ≠ a ∨ ¬ okarray(a, int_type, st) ∨ getintarray(a, st) = [] ∨ (∀ i. ¬ (0 ≤ i0 ∧ i0 ≤ i ∧ i ≤ i2 ∧ i2 < st[a0 -- _length] .intval ∧ st[a -- i '] .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)
init(st), st[_mode] = noval, a0 = a, okarray(a, int_type, st), getintarray(a, st) ≠ [], ∃ i. 0 ≤ i0 ∧ i0 ≤ i ∧ i ≤ i2 ∧ i2 < st[a0 -- _length] .intval ∧ st[a -- i '] .intval = max(getintarray(a, st)), m = i→n(i2 - i0) ⊦ 〈st; boolvar = i0 ≠ i2; 〉 〈st; if (boolvar) { if (a0[i0] <= a0[i2]) i0++; else i2--; } else { }〉 ( ( boolvar ∧ st[_mode] = noval → init(st) ∧ st[_mode] = noval ∧ a0 = a ∧ okarray(a, int_type, st) ∧ getintarray(a, st) ≠ [] ∧ (∃ i. 0 ≤ i0 ∧ i0 ≤ i ∧ i ≤ i2 ∧ i2 < st[a0 -- _length] .intval ∧ st[a -- i '] .intval = max(getintarray(a, st))) ∧ i→n(i2 - i0) < m) ∧ (¬ (boolvar ∧ st[_mode] = noval) → 〈st; i = i0; 〉 (st[a -- i '] .intval = max(getintarray(a, st)) ∧ 0 ≤ i ∧ i < st[a -- _length] .intval)))
[[CONCRETESIMPRULES : ()], [EXTRAFMAS : (( init(st) ∧ st[_mode] = noval ∧ a0 = a ∧ okarray(a, int_type, st) ∧ getintarray(a, st) ≠ [] ∧ (∃ i. 0 ≤ i0 ∧ i0 ≤ i ∧ i ≤ i2 ∧ i2 < st[a0 -- _length] .intval ∧ st[a -- i '] .intval = max(getintarray(a, st)))), i→n(i2 - i0))]]