| ⊦ str = str0, (st[r -- mkfs(class, ty, str .field) ', val][rkvs][r0 -- mkfs(class0, ty0, str0 .field) ']) = (st[rkvs][r0 -- mkfs(class0, ty0, str0 .field) ']) |
⊦ rk ≠ rk0 → (st[rk, val][rkvs][rk0]) = (st[rkvs][rk0])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ 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])], [EXTRATERMS : (r0 -- mkfs(class0, ty0, str0 .field) ', rkvs, val, r -- mkfs(class, ty, str .field) ', st)]]