| st[r -- _type] = typeval(mkclasstype(class0)), r -- _type ∈ st, r ∈ st ⊦ r = jvmref, r = r0, (∀ sk. sk ∈ instfields(class0) → goodfieldandtype(r, sk, addobj(r0, class, fis, st))) ↔ (∀ sk. sk ∈ instfields(class0) → goodfieldandtype(r, sk, st)) |
∀ sk. sk ∈ instfields(class0) → goodfieldandtype(r, sk, addobj(r0, class, fis, st)), st[r -- _type] = typeval(mkclasstype(class0)), r -- _type ∈ st, r ∈ st ⊦ ∀ sk. sk ∈ instfields(class0) → goodfieldandtype(r, sk, st), r = jvmref, r = r0
∀ sk. sk ∈ instfields(class0) → goodfieldandtype(r, sk, st), st[r -- _type] = typeval(mkclasstype(class0)), r -- _type ∈ st, r ∈ st ⊦ ∀ sk. sk ∈ instfields(class0) → goodfieldandtype(r, sk, addobj(r0, class, fis, st)), r = jvmref, r = r0
[[CONCRETESIMPRULES : ()]]