| type∃(str, st[r -- _type] .type), is_array(r, st), ¬ type∃(str, (st[jvmref -- sk, val][r -- _type]) .type) ∨ (st[jvmref -- sk, val][r -- _type]) .type .jtelemtype = void_type ∨ (st[jvmref -- sk, val][r -- _type]) .type .jtelemtype = abstract_type ⊦ st[r -- _type] .type .jtelemtype = void_type, st[r -- _type] .type .jtelemtype = abstract_type |
⊦ ¬ is_array(jvmref, st)
⊦ ¬ is_array(jvmref, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ sk = sk0], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)], [CSIMPSEQ : ⊦ r ≠ r0 → (st[r0 -- sk0, val][r -- sk]) = st[r -- sk]])], [EXTRAFMAS : (r -- _type = jvmref -- sk)]]