| r ∈ vals0 .nonnullrefs → r ≠ jvmref ∧ vals0 = vals + refval(r) ' + vals1 ∧ ¬ refval(r) ∈ vals ⊦ ¬ r ∈ val ' .nonnullrefs ∧ ¬ r ∈ vals0 .nonnullrefs, r ≠ jvmref ∧ (∃ vals, vals1. val ' + vals0 = vals + refval(r) ' + vals1 ∧ ¬ refval(r) ∈ vals) |
⊦ ¬ is_referencevalue(val) ∨ val .refval = jvmref → val ' .nonnullrefs = []
¬ (¬ is_referencevalue(val) ∨ val .refval = jvmref), r ∈ vals0 .nonnullrefs → r ≠ jvmref ∧ vals0 = vals + refval(r) ' + vals1 ∧ ¬ refval(r) ∈ vals ⊦ ¬ r ∈ val ' .nonnullrefs ∧ ¬ r ∈ vals0 .nonnullrefs, r ≠ jvmref ∧ (∃ vals, vals1. val ' + vals0 = vals + refval(r) ' + vals1 ∧ ¬ refval(r) ∈ vals)
¬ is_referencevalue(val) ∨ val .refval = jvmref, r ∈ vals0 .nonnullrefs → r ≠ jvmref ∧ vals0 = vals + refval(r) ' + vals1 ∧ ¬ refval(r) ∈ vals ⊦ ¬ r ∈ [] ∧ ¬ r ∈ vals0 .nonnullrefs, r ≠ jvmref ∧ (∃ vals, vals1. val ' + vals0 = vals + refval(r) ' + vals1 ∧ ¬ refval(r) ∈ vals)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val)]]