| refs = r + refs0, validrefs(str, refs, mkclasstype(`java.lang.Object' .class), st0), validrefnotnull(str, r, st[r -- _type] .type, st), st ⊆ st0, newref(refs .last, st) ⊦ r = jvmref, refs .last = jvmref, refs = [] |
validrefs(str, r ' + refs0, mkclasstype(`java.lang.Object' .class), st0), validrefnotnull(str, r, st[r -- _type] .type, st), st ⊆ st0, newref((r ' + refs0) .last, st) ⊦ r = jvmref, (r ' + refs0) .last = jvmref
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ validrefnotnull (str, r, ty, st) → r ≠ jvmref], [CSIMPFORWARD : ⊦ newref(r, st) → r ≠ jvmref], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ r ' + refs ≠ []], [CSIMPSEQ : ⊦ r + refs = r ' + refs])]]