| i→n(countrefs2(ints)) ≤ # refs, ∀ sk, i, ints0, st, ty, r0, r, refs, ints1. ints#(ints1) < ints#(ints) → (i→n(countrefs2(ints1)) ≤ # refs → r = r0 ∨ (addarraymultlist(r, ty, st, refs, ints1, ints0, i)[r0 -- sk]) = st[r0 -- sk] ∨ r0 ∈ refs) ⊦ # ints = 1, (addarraymultlist(r, ty, st, refs, ints, ints0, i)[r0 -- sk]) = st[r0 -- sk], r = r0, r0 ∈ refs, ints ≠ [] ∧ ¬ 0 < ints .first, ints ≠ [] ∧ ¬ ints .first < 2 |
ints ≠ [], i→n(countrefs2(ints)) ≤ # refs, ∀ sk, i, ints0, st, ty, r0, r, refs, ints1. ints#(ints1) < ints#(ints) → (i→n(countrefs2(ints1)) ≤ # refs → r = r0 ∨ (addarraymultlist(r, ty, st, refs, ints1, ints0, i)[r0 -- sk]) = st[r0 -- sk] ∨ r0 ∈ refs) ⊦ # ints = 1, (addarraymultlist(r, ty, st, refs, ints, ints0, i)[r0 -- sk]) = st[r0 -- sk], r = r0, r0 ∈ refs, ints ≠ [] ∧ ¬ 0 < ints .first, ints ≠ [] ∧ ¬ ints .first < 2
i→n(countrefs2(ints)) ≤ # refs, ∀ sk, i, ints0, st, ty, r0, r, refs, ints1. ints#(ints1) < ints#(ints) → (i→n(countrefs2(ints1)) ≤ # refs → r = r0 ∨ (addarraymultlist(r, ty, st, refs, ints1, ints0, i)[r0 -- sk]) = st[r0 -- sk] ∨ r0 ∈ refs) ⊦ ints ≠ [], # ints = 1, (addarraymultlist(r, ty, st, refs, ints, ints0, i)[r0 -- sk]) = st[r0 -- sk], r = r0, r0 ∈ refs, ints ≠ [] ∧ ¬ 0 < ints .first, ints ≠ [] ∧ ¬ ints .first < 2
[[CONCRETESIMPRULES : ()], [EXTRAFMAS : (ints ≠ [])]]