| vals ≠ [], refval(r0) = vals .first ∧ vals0 = vals .rest + refval(r) ' + vals1 + refval(r) ' + vals2 ⊦ r = jvmref, r0 = jvmref, refval(r) ∈ vals, refval(r) ∈ vals1, dups(vals0 .nonnullrefs), r0 ∈ vals0 .nonnullrefs, ∃ r, vals, vals1, vals2. vals0 = vals + refval(r) ' + vals1 + refval(r) ' + vals2 ∧ r ≠ jvmref ∧ ¬ refval(r) ∈ vals ∧ ¬ refval(r) ∈ vals1, ¬ refval(r0) ∈ vals ∧ r0 ≠ r ∧ ¬ refval(r0) ∈ vals1 ∧ ¬ refval(r0) ∈ vals2 |
refval(r0) = vals .first ⊦ r = jvmref, r0 = jvmref, vals = [], refval(r) ∈ vals, refval(r) ∈ vals1, dups((vals .rest + refval(r) ' + vals1 + refval(r) ' + vals2) .nonnullrefs), r0 ∈ (vals .rest + refval(r) ' + vals1 + refval(r) ' + vals2) .nonnullrefs, ∃ r0, vals5, vals4, vals3. vals .rest + refval(r) ' + vals1 + refval(r) ' + vals2 = vals5 + refval(r0) ' + vals4 + refval(r0) ' + vals3 ∧ r0 ≠ jvmref ∧ ¬ refval(r0) ∈ vals5 ∧ ¬ refval(r0) ∈ vals4, ¬ refval(r0) ∈ vals ∧ r0 ≠ r ∧ ¬ refval(r0) ∈ vals1 ∧ ¬ refval(r0) ∈ vals2
[[CONCRETESIMPRULES : ()]]