| fv = sk × val, mkfs(class1, ty, fieldvar) ' ∈ fv ' + fis0, is_fskey(sk), ∀ class1, ty, fieldvar, st. mkfs(class1, ty, fieldvar) ' ∈ fis0 → (addclass(class1, fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = fis0[mkfs(class1, ty, fieldvar) '] ⊦ (addclass(class1, fv ' + fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = (fv ' + fis0)[mkfs(class1, ty, fieldvar) '] |
⊦ addclass(class1, (mkfs(class1, ty, fieldvar) ' × val) ' + fis, st) = (addclass(class1, fis, st)[jvmref -- mkfs(class1, ty, fieldvar) ', val])
is_fskey(sk), mkfs(class1, ty, fieldvar) ' ∈ fis0, ∀ class1, ty, fieldvar, st. mkfs(class1, ty, fieldvar) ' ∈ fis0 → (addclass(class1, fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = fis0[mkfs(class1, ty, fieldvar) '] ⊦ (addclass(class1, (sk × val) ' + fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = ((sk × val) ' + fis0)[mkfs(class1, ty, fieldvar) ']
[[CONCRETESIMPRULES : ([CSIMPSEQ : sk ≠ sk0 ⊦ sk ∈ (sk0 × val) ' + fis ↔ sk ∈ fis], [CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))], [CSIMPSEQ : ⊦ ((sk × val) ' + fis)[sk] = val], [CSIMPSEQ : ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1])]]