| ∀ r. r ∈ refs0 → newref(r, st), # refs = i→n(countrefs(i ' + ints0)), list2set(refs) ∩ list2set(refs0) = ∅, i ≤ i0, 0 ≤ i, posints(ints0), 0 ≤ i0 ⊦ ∀ r. r ∈ refs0 → newref(r, addmultiarrays(refs, i, acc, ty, i0 ' + ints0, st)), 0 ∈ (i0 ' + ints0) .butlast, dups(refs0) |
list2set(refs) ∩ list2set(refs0) = ∅, # refs = i→n(countrefs(i ' + ints0)), 0 ≤ i0, posints(ints0), 0 ≤ i, i ≤ i0, r ∈ refs0, ∀ r. r ∈ refs0 → newref(r, st) ⊦ dups(refs0), 0 ∈ (i0 ' + ints0) .butlast, newref(r, addmultiarrays(refs, i, acc, ty, i0 ' + ints0, st)), r ∈ refs
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ∈ list2set(refs) ↔ r ∈ refs], [CSIMPSEQ : ⊦ rset ∩ rset0 = rset0 ∩ rset], [CSIMPSEQ : ⊦ (rset ∩ rset0) ∩ rset1 = rset ∩ rset0 ∩ rset1], [CSIMPFORWARD : ⊦ list2set(refs) ∩ rset = ∅ ∧ r ∈ refs → ¬ r ∈ rset])]]