| m0 < # ebatbl, n < # ebatbl, n ≤ m0, ∀ n, ebatbl, v, evol, apebs, q. n < m0 ∧ n < # ebatbl ∧ m0 ≤ # ebatbl → absf(v, evol, apebs, ebatbl, q, m0)[n] = (ebatbl[n] = unmapped ⊃ (v × n ∈ q ⊃ unmapped;erased) ;mapped(apebs[ebatbl[n].pnum].data, (evol[n].mapped? ⊃ evol[n].fill;apebs[ebatbl[n].pnum].fill)) ) ⊦ absf(v, evol, apebs, ebatbl, q, m0) [m0, (ebatbl[m0] = unmapped ⊃ (v × m0 ∈ q ⊃ unmapped;erased) ;mapped(apebs[ebatbl[m0].pnum].data, (evol[m0].mapped? ⊃ evol[m0].fill;apebs[ebatbl[m0].pnum].fill)) ) ] [n ] = (ebatbl[n] = unmapped ⊃ (v × n ∈ q ⊃ unmapped;erased) ;mapped(apebs[ebatbl[n].pnum].data, (evol[n].mapped? ⊃ evol[n].fill;apebs[ebatbl[n].pnum].fill)) ), n = m0 |
n < m0, m0 < # ebatbl, n < # ebatbl, n + 1 < # ebatbl, ∀ n, ebatbl, v, evol, apebs, q. n < m0 ∧ n < # ebatbl ∧ m0 ≤ # ebatbl → absf(v, evol, apebs, ebatbl, q, m0)[n] = (ebatbl[n] = unmapped ⊃ (v × n ∈ q ⊃ unmapped;erased) ;mapped(apebs[ebatbl[n].pnum].data, (evol[n].mapped? ⊃ evol[n].fill;apebs[ebatbl[n].pnum].fill)) ) ⊦ absf(v, evol, apebs, ebatbl, q, m0)[n] = (ebatbl[n] = unmapped ⊃ (v × n ∈ q ⊃ unmapped;erased) ;mapped(apebs[ebatbl[n].pnum].data, (evol[n].mapped? ⊃ evol[n].fill;apebs[ebatbl[n].pnum].fill)) ), n = m0
Used simplifier rules: ⊦ m +1 = m + 1; (s)% ⊦ m < n → n ≠ 0; (s)%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)% ⊦ m ≠ n → evol[n, leb][m] = evol[m]; (s)