| st[r0 -- _type] .type = mkclasstype(class), path∃(str, r, r0, st), fs ' ∈ instfields(class) ⊦ r0 = jvmref, fs ' = _type, contains(str, st[r -- _type] .type, fs) |
⊦ ¬ contains(str, st[r -- _type] .type, st[r0 -- _type] .type) ∧ r ≠ r0 ∧ r0 ≠ jvmref → ¬ path∃(str, r, r0, st)
¬ (¬ contains(str, st[r -- _type] .type, st[r0 -- _type] .type) ∧ r ≠ r0 ∧ r0 ≠ jvmref), st[r0 -- _type] .type = mkclasstype(class), path∃(str, r, r0, st), fs ' ∈ instfields(class) ⊦ r0 = jvmref, fs ' = _type, contains(str, st[r -- _type] .type, fs)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, r0, r, str)]]