| st[r0 -- fs '] = refval(r0), fs ' ∈ instfields(st[r0 -- _type] .type .class), is_classtype(st[r0 -- _type] .type), is_valid_ref(str, r0, st) ⊦ r0 = jvmref, fits(r0, fs ' ', st) ∧ fits(r0, fs ' + fs ', st) ∧ fs ' ' ≠ fs ' + fs ' ∧ fs ' ' ≠ [] ∧ fs ' + fs ' ≠ [] ∧ st[r0 -- fs ' '] .refval ≠ jvmref ∧ st[r0 -- fs ' '] = st[r0 -- (fs ' + fs ')] |
st[r0 -- fs '] = refval(r0), is_valid_ref(str, r0, st), is_classtype(st[r0 -- _type] .type), fs ' ∈ instfields(st[r0 -- _type] .type .class) ⊦ r0 = jvmref, fits(r0, fs ' ', st) ∧ fits(r0, fs ' ' + fs ' ', st) ∧ refval(r0) = st[r0 -- (fs ' ' + fs ' ')]
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : javavalue, , sel-09, ⊦ refval(r) .refval = r], [CSIMPNAMEDSEQ : storefuns, , lookup-one, ⊦ st[r -- sk '] = st[r -- sk]], [CSIMPNAMEDSEQ : list, storekeys, app-02-ant, ⊦ ¬ sks + sks0 ≠ [] ↔ sks = [] ∧ sks0 = []], [CSIMPNAMEDSEQ : list, storekeys, e, ⊦ sk ' ≠ []], [CSIMPNAMEDSEQ : list, storekeys, a, ⊦ (sks + sks0) + sks1 = sks + sks0 + sks1], [CSIMPNAMEDSEQ : list, storekeys, c-03, ⊦ sk ' = sk0 ' + sks ↔ sk = sk0 ∧ sks = []], [CSIMPNAMEDSEQ : list, storekeys, Two, ⊦ sk + sk0 = sk ' + sk0 '])]]