| st[r -- _type] .type = mkarraytype(ty0), is_array(str, r, st), is_primtype(ty), ty0 ≤ ty ⊦ r = jvmref, validrefs(str, r ' + refs0, mkarraytype(ty), st) ↔ r ' + refs0 = jvmref ' ∨ okarray(r, ty, st) ∧ refs0 = [] |
⊦ r = jvmref → (validrefs(str, r ' + refs, ty, st) ↔ refs = [])
r ≠ jvmref, st[r -- _type] .type = mkarraytype(ty0), is_array(str, r, st), is_primtype(ty), ty0 ≤ ty ⊦ r = jvmref, validrefs(str, r ' + refs0, mkarraytype(ty), st) ↔ r ' + refs0 = jvmref ' ∨ okarray(r, ty, st) ∧ refs0 = []
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, mkarraytype(ty), refs0, r, str)]]