| sk = fs ', fs = mkfs(class1, ty, fieldvar), is_fskey(sk), jvmref ∈ addclass(class1, (sk × val) ' + fis0, st), jvmref -- _type ∈ addclass(class1, (sk × val) ' + fis0, st), ∀ class, st0. jvmref -- _type ∈ addclass(class, fis0, st0) ∧ jvmref ∈ addclass(class, fis0, st0) → jvmref -- _type ∈ st0 ⊦ _type = sk, jvmref -- _type ∈ st, _type ∈ fis0 |
⊦ addclass(class1, (mkfs(class1, ty, fieldvar) ' × val) ' + fis, st) = (addclass(class1, fis, st)[jvmref -- mkfs(class1, ty, fieldvar) ', val])
jvmref -- _type ∈ addclass(class1, fis0, st), jvmref ∈ addclass(class1, fis0, st), ∀ class, st0. jvmref -- _type ∈ addclass(class, fis0, st0) ∧ jvmref ∈ addclass(class, fis0, st0) → jvmref -- _type ∈ st0 ⊦ _type = mkfs(class1, ty, fieldvar) ', jvmref -- _type ∈ st, _type ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : sk ≠ sk0 ⊦ r -- sk ∈ st[r -- sk0, val] ↔ r -- sk ∈ st], [CSIMPSEQ : ⊦ r ∈ st[r -- sk, val]], [CSIMPSEQ : ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPSEQ : ⊦ is_fskey(fs ')])]]