| st[r0 -- _type] = typeval(ty), is_predefined_class(class), newref(r, st), compatmode(str, st), compatstatic(str, st), compatrefs(str, st), r0 -- _type ∈ addobj(r, class, [], st), r0 ∈ st ⊦ r = jvmref, r0 = jvmref, (is_classtype(ty) ∧ class+∃(str, ty .class) → compatobj(str, r0, addobj(r, class, [], st))) ∧ (is_arraytype(ty) ∧ (¬ has_classtype(ty) ∨ tdname+∃(str, ty .type .jtelemtype .class)) → compatarray(str, r0, addobj(r, class, [], st))) |
⊦ r ≠ r0 → (r -- sk ∈ addobj(r0, class1, fis, st) ↔ r -- sk ∈ st)
r0 ≠ r, st[r0 -- _type] = typeval(ty), is_predefined_class(class), newref(r, st), compatmode(str, st), compatstatic(str, st), compatrefs(str, st), r0 -- _type ∈ st, r0 ∈ st ⊦ r = jvmref, r0 = jvmref, (is_classtype(ty) ∧ class+∃(str, ty .class) → compatobj(str, r0, addobj(r, class, [], st))) ∧ (is_arraytype(ty) ∧ (¬ has_classtype(ty) ∨ tdname+∃(str, ty .type .jtelemtype .class)) → compatarray(str, r0, addobj(r, class, [], st)))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ∈ st → ¬ newref(r, st)])], [EXTRATERMS : (st, [], class, r, _type, r0)]]