| i ' .fs = mkfs(class, ty0, fieldvar), st[r0 -- _type] .type = mkarraytype(void_type), validref(str, r, ty, st), validvals(str, rkvs0, st), ∀ str, r, ty, st. validref(str, r, ty, st) ∧ validvals(str, rkvs0, st) → validref(str, r, ty, st[rkvs0]) ⊦ r0 = jvmref, validref(str, r, ty, st[r0 -- i ', refval(jvmref)]), validref(str, r, ty, st[r0 -- i ', refval(jvmref)][rkvs0]) |
⊦ validref(str, r, ty, st) ∧ ¬ is_array(str, r0, st) → validref(str, r, ty, st[r0 -- i ', val])
¬ (validref(str, r, ty, st) ∧ ¬ is_array(str, r0, st)), i ' .fs = mkfs(class, ty0, fieldvar), st[r0 -- _type] .type = mkarraytype(void_type), validref(str, r, ty, st), validvals(str, rkvs0, st), ∀ str, r, ty, st. validref(str, r, ty, st) ∧ validvals(str, rkvs0, st) → validref(str, r, ty, st[rkvs0]) ⊦ r0 = jvmref, validref(str, r, ty, st[r0 -- i ', refval(jvmref)]), validref(str, r, ty, st[r0 -- i ', refval(jvmref)][rkvs0])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (refval(jvmref), i, r0, st, ty, r, str)]]