| m < # avols[default-volid], ebm-cons(avols), default-volid ∈ avols ⊦ ⟪ebm_unmap#(default-volid, m; avols)⟫ (default-volid ∈ avols ∧ ebm-cons(avols)) |
v = default-volid, m < # avols[default-volid], ebm-cons(avols), default-volid ∈ avols ⊦ ⟪if v ∈ avols ∧ m < # avols[v] then avols[v][m] := unmapped else abort⟫ (default-volid ∈ avols ∧ ebm-cons(avols))
Used simplifier rules: ebm_unmap#(VOLID, LNUM; AVOLS) {if VOLID ∈ AVOLS ∧ LNUM < # AVOLS[VOLID] then AVOLS[VOLID][LNUM] := unmapped else abort };