| ⊦ disjoint(str, refs, st) ∧ ¬ hasSharing(refs, st) ∧ ¬ dups(refs) ∧ validreflist(str, mkjavavalues(refs), ty, st) ∧ newref(r, st) → ¬ hasSharing(r, addarray(r, ty, mkjavavalues(refs), st)) |
hasSharing(r, addarray(r, ty, mkjavavalues(refs), st)), disjoint(str, refs, st), validreflist(str, mkjavavalues(refs), ty, st), newref(r, st) ⊦ r = jvmref, dups(refs), hasSharing(refs, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ newref(r, st) → r ≠ jvmref])]]