| ¬ (¬ is_referencevalue(val) ∨ val .refval = jvmref), ∀ vals0. (vals1 + vals0) .nonnullrefs = vals1 .nonnullrefs + vals0 .nonnullrefs ⊦ ((val ' + vals1) + vals0) .nonnullrefs = (val ' + vals1) .nonnullrefs + vals0 .nonnullrefs |
⊦ is_referencevalue(val) ∧ val .refval ≠ jvmref → (val ' + vals) .nonnullrefs = val .refval + vals .nonnullrefs
is_referencevalue(val), ∀ vals0. (vals1 + vals0) .nonnullrefs = vals1 .nonnullrefs + vals0 .nonnullrefs ⊦ val .refval = jvmref, (vals1 + vals0) .nonnullrefs = vals1 .nonnullrefs + vals0 .nonnullrefs
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, references, a, ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPNAMEDSEQ : list, references, app-01, ⊦ refs + refs0 = refs + refs1 ↔ refs0 = refs1], [CSIMPNAMEDSEQ : list, javavalues, a, ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPNAMEDSEQ : list, references, c, ⊦ r + refs = r ' + refs])]]