| ∀ n, sk, val. fis0[n] = sk × val ∧ n < # fis0 → (fis0 .keys)[n] = sk ∨ fis0 = [], (fv + fis0)[n] = sk × val, n < # (fv + fis0) ⊦ ((fv + fis0) .keys)[n] = sk, fv + fis0 = [] |
⊦ (fis + fis0) .keys = fis .keys + fis0 .keys
⊦ fv ' .keys = fv .1 '
(fv ' + fis0)[n] = sk × val, n ≤ # fis0, ∀ n0, sk0, val0. fis0[n0] = sk0 × val0 ∧ ¬ # fis0 ≤ n0 → (fis0 .keys)[n0] = sk0 ∨ fis0 = [] ⊦ (fv .1 ' + fis0 .keys)[n] = sk
[[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])]]