| ¬ (r ≠ jvmref ∧ (¬ is_valid_ref(str, r, st) ∨ ¬ st[r -- _type] .type ≤ mkarraytype(ty))), st[r -- _type] = typeval(mkarraytype(ty)), is_primtype(ty), junkrefs(str1, r ' + refs0, mkarraytype(ty), st) ⊦ junkrefs(str, r ' + refs0, mkarraytype(ty), st) |
⊦ ¬ junkrefs(str, jvmref ' + refs, ty, st)
st[r -- _type] = typeval(mkarraytype(ty)), is_valid_ref(str, r, st), junkrefs(str1, r ' + refs0, mkarraytype(ty), st), is_primtype(ty) ⊦ r = jvmref, junkrefs(str, r ' + refs0, mkarraytype(ty), st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_arraytype(mkarraytype(ty))], [CSIMPSEQ : ⊦ ty ≤ ty], [CSIMPSEQ : ⊦ mkarraytype(ty) .type = ty], [CSIMPSEQ : ⊦ typeval(ty) .type = ty], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ ty0 ≤ mkarraytype(ty) ↔ is_arraytype(ty0) ∧ ty0 .type ≤ ty])]]