| ¬ (¬ junkrefs(str, r0 ' + refs0, val .type, st) ∧ ¬ (is_typevalue(st[r0 -- _type]) ∧ is_reftype(st[r0 -- _type] .type))), mkfs(`java.lang.Object' .class, void_type, `type' .field) = fs, junkrefs(str, r0 ' + refs0, val .type, st[r0 -- mkfs(`java.lang.Object' .class, void_type, `type' .field) ', val]) ⊦ junkref(str, r0, st), is_typevalue(st[r0 -- mkfs(`java.lang.Object' .class, void_type, `type' .field) ']) ∧ is_reftype(st[r0 -- mkfs(`java.lang.Object' .class, void_type, `type' .field) '] .type) |
junkrefs(str, r0 ' + refs0, val .type, st[r0 -- _type, val]) ⊦ junkref(str, r0, st), is_typevalue(st[r0 -- _type]) ∧ is_reftype(st[r0 -- _type] .type), ¬ junkrefs(str, r0 ' + refs0, val .type, st) ∧ (¬ is_typevalue(st[r0 -- _type]) ∨ ¬ is_reftype(st[r0 -- _type] .type))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ mkfs (`java.lang.Object' .class, void_type, `type' .field) ' = _type])]]