| refs0 = [], fs ' = _length, is_arraytype(st[(r ' + refs0) .last -- _type] .type), validrefs(str, r ' + refs0, st[r -- _type] .type, st) ⊦ (r ' + refs0) .last = jvmref, contains(str, st[r -- _type] .type, fs) |
⊦ is_arraytype(ty) ∧ fs ' = _length → (contains(str, ty, fs) ↔ type∃(str, ty))
fs ' = _length, is_arraytype(st[r -- _type] .type), validrefs(str, r ', st[r -- _type] .type, st) ⊦ r = jvmref, type∃(str, st[r -- _type] .type)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ' .last = r], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ refs + [] = refs])]]