| m = m0 + 1, vals0[m0] = refval(r), m ≤ # vals0, ∀ r0. r0 ∈ vals0 .nonnullrefs ↔ r0 ≠ jvmref ∧ (∃ m. vals0[m] = refval(r0) ∧ m < # vals0) ⊦ r = r1, r1 = jvmref, r = jvmref, m = 0, r ∈ vals0 .nonnullrefs |
vals0[m0] = refval(r), m0 < # vals0, ∀ r0. r0 ∈ vals0 .nonnullrefs ↔ r0 ≠ jvmref ∧ (∃ m. vals0[m] = refval(r0) ∧ m < # vals0) ⊦ r = jvmref, r1 = jvmref, r = r1, vals0 = [], r ∈ vals0 .nonnullrefs
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list-data, javavalues, l, ⊦ # vals = 0 ↔ vals = []], [CSIMPNAMEDFORWARD : nat-basic1, , f, ⊦ m < n → n ≠ 0], [CSIMPNAMEDSEQ : nat, , succ-01, ⊦ m + 1 ≤ n ↔ m < n], [CSIMPNAMEDSEQ : nat-basic2, , c, ⊦ m + n = n + m], [CSIMPNAMEDSEQ : nat-basic2, , a, ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPNAMEDSEQ : nat-basic2, , oz, ⊦ m + 1 ≠ 0])]]