| n < m, n < # ebatbl, m ≤ # ebatbl ⊦ absf(v, evol, apebs, ebatbl, q, m)[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 < # ebatbl, n < m0 +1, m0 +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 +1)[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)) )
Used simplifier rules: absf-base: ⊦ absf(v, evol, apebs, ebatbl, q, 0) = mkabstractvolume(# ebatbl);%nat freely generated by 0, +1;;% ⊦ 0 ≤ m; (s)% ⊦ ¬ m < 0; (s)