| m0 < # 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) [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)) ) ] [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)) ), m0 < # absf(v, evol, apebs, ebatbl, q, m0) |
m0 < # ebatbl, # absf(v, evol, apebs, ebatbl, q, m0) < # ebatbl, # absf(v, evol, apebs, ebatbl, q, m0) ≤ 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)) ) ] [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)) )
Used simplifier rules: fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m < n ↔ ¬ n ≤ m; (ss)