| is_referencevalue(val), ∀ r0. r0 ∈ vals0 .nonnullrefs ↔ r0 ≠ jvmref ∧ (∃ m. vals0[m] = refval(r0) ∧ m < # vals0) ⊦ val .refval = jvmref, r = val .refval ∨ r ∈ vals0 .nonnullrefs ↔ r ≠ jvmref ∧ (∃ m. (val ' + vals0)[m] = refval(r) ∧ ¬ # vals0 < m) |
val = refval(r1), is_referencevalue(val), ∀ r0. r0 ∈ vals0 .nonnullrefs ↔ r0 ≠ jvmref ∧ (∃ m. vals0[m] = refval(r0) ∧ m < # vals0) ⊦ r1 = jvmref, r = r1 ∨ r ∈ vals0 .nonnullrefs ↔ r ≠ jvmref ∧ (∃ m. (val ' + vals0)[m] = refval(r) ∧ ¬ # vals0 < m)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_referencevalue(val) → ( r = val .refval ↔ val = refval(r))])], [EXTRATERMS : (val, r1)]]