| n = m + 1, ((sk1 × val1) ' + fis0)[n] = sk × val, n ≤ # fis0, ∀ n0, sk0, val0. fis0[n0] = sk0 × val0 ∧ ¬ # fis0 ≤ n0 → (fis0 .vals)[n0] = val0 ∨ fis0 = [] ⊦ n = 0, (fis0 .vals)[m] = val |
fis0[m] = sk × val, m < # fis0, ∀ n, sk0, val0. fis0[n] = sk0 × val0 ∧ ¬ # fis0 ≤ n → (fis0 .vals)[n] = val0 ⊦ (fis0 .vals)[m] = val, fis0 = []
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list-data, fieldinit-assoclista, l, ⊦ # fis = 0 ↔ fis = []], [CSIMPNAMEDFORWARD : nat-basic1, , f, ⊦ m < n → n ≠ 0], [CSIMPNAMEDSEQ : nat, , succ-01, ⊦ m + 1 ≤ n ↔ m < n], [CSIMPNAMEDSEQ : nat-basic2, , oz, ⊦ m + 1 ≠ 0], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, a, ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPNAMEDSEQ : nat-basic2, , c, ⊦ m + n = n + m], [CSIMPNAMEDSEQ : nat-basic2, , a, ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPNAMEDSEQ : list-del, fieldinit-assoclista, get-succ, ⊦ (fv ' + fis)[n + 1] = fis[n]])]]