| ⊦ r = r0, r0 -- mkfs(class, ty0, fieldvar) ' ∈ st ∧ oktype(st[r0 -- mkfs(class, ty0, fieldvar) '], ty0, addarray(r, ty, vals, st)) ↔ r0 -- mkfs(class, ty0, fieldvar) ' ∈ st ∧ oktype(st[r0 -- mkfs(class, ty0, fieldvar) '], ty0, st) |
⊦ ¬ is_classtype(ty) ∧ ¬ is_arraytype(ty) → (oktype(val, ty, addarray(r0, ty0, vals, st)) ↔ oktype(val, ty, st))
¬ (¬ is_classtype(ty0) ∧ ¬ is_arraytype(ty0)) ⊦ r = r0, r0 -- mkfs(class, ty0, fieldvar) ' ∈ st ∧ oktype(st[r0 -- mkfs(class, ty0, fieldvar) '], ty0, addarray(r, ty, vals, st)) ↔ r0 -- mkfs(class, ty0, fieldvar) ' ∈ st ∧ oktype(st[r0 -- mkfs(class, ty0, fieldvar) '], ty0, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, vals, ty, r, ty0, st[r0 -- mkfs(class, ty0, fieldvar) '])]]