| ⊦ str = str0, (st[r -- mkfs(class, ty, str .field) ', val][r -- (mkfs(class, ty, str .field) ' ' + mkfs(class0, ty0, str0 .field) ' ')]) = st[val .refval -- mkfs(class0, ty0, str0 .field) '] |
⊦ ¬ sk ∈ sks ∧ sks ≠ [] → (st[r -- sk, val][r -- (sk ' + sks)]) = st[val .refval -- sks]
⊦ st[r -- sk '] = st[r -- sk]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ∈ sk0 ' ↔ sk = sk0], [CSIMPSEQ : ⊦ fs ' = fs0 ' ↔ fs = fs0], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) = mkfs(class0, ty0, fieldvar0) ↔ class = class0 ∧ ty = ty0 ∧ fieldvar = fieldvar0], [CSIMPSEQ : ⊦ stringvar .field = stringvar0 .field ↔ stringvar = stringvar0], [CSIMPSEQ : ⊦ sk ' ≠ []])], [EXTRATERMS : (mkfs(class0, ty0, str0 .field) ' ', val, mkfs(class, ty, str .field) ', r, st)]]