| ∀ class1, class2, st, ty, fieldvar. class1 = class2 ∨ (addclass(class2, fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = st[jvmref -- mkfs(class1, ty, fieldvar) '] ⊦ (addclass(fs .class, (fs ' × val) ' + fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = st[jvmref -- mkfs(class1, ty, fieldvar) '], class1 = fs .class |
fs = mkfs(class, ty0, fieldvar0), ∀ class1, class2, st, ty, fieldvar. class1 = class2 ∨ (addclass(class2, fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = st[jvmref -- mkfs(class1, ty, fieldvar) '] ⊦ (addclass(class, (fs ' × val) ' + fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = st[jvmref -- mkfs(class1, ty, fieldvar) '], class1 = class
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class, ty0, fieldvar0)]]