| val ' + vals0 = vals2 + refval(r) ' + vals1 + refval(r) ' + vals, ¬ is_referencevalue(val) ∨ val .refval = jvmref ⊦ r = jvmref, refval(r) ∈ vals2, refval(r) ∈ vals1, dups(vals0 .nonnullrefs), ∃ r, vals, vals1, vals2. vals0 = vals + refval(r) ' + vals1 + refval(r) ' + vals2 ∧ r ≠ jvmref ∧ ¬ refval(r) ∈ vals ∧ ¬ refval(r) ∈ vals1, ¬ val ∈ vals2 ∧ val ≠ refval(r) ∧ ¬ val ∈ vals1 ∧ ¬ val ∈ vals |
vals ≠ [] ⊦ val ' + vals0 = vals + vals1 ↔ val = vals .first ∧ vals0 = vals .rest + vals1
vals2 ≠ [], val = vals2 .first ∧ vals0 = vals2 .rest + refval(r) ' + vals1 + refval(r) ' + vals, ¬ is_referencevalue(val) ∨ val .refval = jvmref ⊦ r = jvmref, refval(r) ∈ vals2, refval(r) ∈ vals1, dups(vals0 .nonnullrefs), ∃ r, vals, vals1, vals2. vals0 = vals + refval(r) ' + vals1 + refval(r) ' + vals2 ∧ r ≠ jvmref ∧ ¬ refval(r) ∈ vals ∧ ¬ refval(r) ∈ vals1, ¬ val ∈ vals2 ∧ val ≠ refval(r) ∧ ¬ val ∈ vals1 ∧ ¬ val ∈ vals
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, javavalues, Nil, ⊦ [] + vals = vals], [CSIMPNAMEDSEQ : list, javavalues, a, ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPNAMEDSEQ : list, javavalues, c-06, ⊦ val ' + vals = val0 ' + vals0 ↔ val = val0 ∧ vals = vals0], [CSIMPNAMEDSEQ : list, javavalues, in-empty, ⊦ ¬ val ∈ []], [CSIMPNAMEDSEQ : javavalue, , test-19, ⊦ is_referencevalue(refval(r))], [CSIMPNAMEDSEQ : javavalue, , sel-09, ⊦ refval(r) .refval = r])], [EXTRATERMS : (refval(r) ' + vals1 + refval(r) ' + vals, vals2, vals0, val)]]