| is_indexkey((sk × val0) .1), sk .fs = mkfs(class, ty0, fieldvar0), ∀ class2, class1, st, ty, fieldvar, val. class2 = class1 ∨ (addclass(class1, fis0, st)[jvmref -- mkfs(class2, ty, fieldvar) ', val]) = addclass(class1, fis0, st[jvmref -- mkfs(class2, ty, fieldvar) ', val]) ⊦ class2 = class1, (addclass(class1, fis0, st)[jvmref -- mkfs(class2, ty, fieldvar) ', val]) = addclass(class1, (sk × val0) ' + fis0, st[jvmref -- mkfs(class2, ty, fieldvar) ', val]), ¬ is_indexkey(sk) ∧ class ≠ class1 |
⊦ is_indexkey(fv .1) → addclass(class, fv ' + fis, st) = addclass(class, fis, st)
sk .fs = mkfs(class, ty0, fieldvar0), is_indexkey(sk), ∀ class2, class1, st, ty, fieldvar, val. class2 = class1 ∨ (addclass(class1, fis0, st)[jvmref -- mkfs(class2, ty, fieldvar) ', val]) = addclass(class1, fis0, st[jvmref -- mkfs(class2, ty, fieldvar) ', val]) ⊦ class2 = class1, (addclass(class1, fis0, st)[jvmref -- mkfs(class2, ty, fieldvar) ', val]) = addclass(class1, fis0, st[jvmref -- mkfs(class2, ty, fieldvar) ', val])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (sk × val) .1 = sk], [CSIMPSEQ : ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1])]]