| dups(vals0 .nonnullrefs) ↔ (∃ r, vals3, vals1, vals2. vals0 = vals3 + (refval(r) + (vals1 + (refval(r) + vals2))) ∧ r ≠ jvmref ∧ ¬ refval(r) ∈ vals3 ∧ ¬ refval(r) ∈ vals1) ⊦ dups((val + vals0) .nonnullrefs) ↔ (∃ r, vals3, vals1, vals2. val + vals0 = vals3 + (refval(r) + (vals1 + (refval(r) + vals2))) ∧ r ≠ jvmref ∧ ¬ refval(r) ∈ vals3 ∧ ¬ 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) ⊦ dups((val ' + vals0) .nonnullrefs) ↔ (∃ r, vals, vals1, vals2. val ' + vals0 = vals + refval(r) ' + vals1 + refval(r) ' + vals2 ∧ r ≠ jvmref ∧ ¬ refval(r) ∈ vals ∧ ¬ refval(r) ∈ vals1)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, javavalues, c, ⊦ val + vals = val ' + vals])]]