| ∀ n, sk, val. fis0[n] = sk × val ∧ n < # fis0 → (fis0 .vals)[n] = val ∨ fis0 = [], (fv + fis0)[n] = sk × val, n < # (fv + fis0) ⊦ ((fv + fis0) .vals)[n] = val, fv + fis0 = [] |
⊦ (fv ' + fis) .vals = fv .2 ' + fis .vals
(fv ' + fis0)[n] = sk × val, n ≤ # fis0, ∀ n0, sk0, val0. fis0[n0] = sk0 × val0 ∧ ¬ # fis0 ≤ n0 → (fis0 .vals)[n0] = val0 ∨ fis0 = [] ⊦ (fv .2 ' + fis0 .vals)[n] = val
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : nat-basic2, , c, ⊦ m + n = n + m], [CSIMPNAMEDSEQ : nat-basic2, , a, ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPNAMEDSEQ : nat, , lels, ⊦ ¬ m < n ↔ n ≤ m], [CSIMPNAMEDSEQ : nat-basic2, , s, ⊦ m < n + 1 ↔ ¬ n < m], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, len-02, ⊦ # fv ' = 0 +1], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, len, ⊦ # (fis + fis0) = # fis + # fis0], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, e-01, ⊦ fv ' + fis ≠ []], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, a, ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, c, ⊦ fv + fis = fv ' + fis])]]