| avols = ∅ ⊦ ⟪ebm_create_volume#(default-volid, m; avols; err)⟫ (err = ESUCCESS → default-volid ∈ avols ∧ ebm-cons(avols)) |
avols = ∅, n = m, v = default-volid ⊦ ⟪if ¬ v ∈ avols then {fail_or_success#(; ; err); if err = ESUCCESS then avols[v] := fill(mkabstractvolume(n), erased)} else abort⟫ (err = ESUCCESS → default-volid ∈ avols ∧ ebm-cons(avols))
Used simplifier rules: ebm_create_volume#(VOLID, N; AVOLS; ERR) {if ¬ VOLID ∈ AVOLS then {fail_or_success#(; ; ERR); if ERR = ESUCCESS then AVOLS[VOLID] := fill(mkabstractvolume(N), erased)} else abort };