| 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) |
⊦ is_arraytype(ty) ↔ (∃ ty0. ty = mkarraytype(ty0))
∃ ty1. ty0 = mkarraytype(ty1) ⊦ 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 : (ty0)]]