| ⟨fail_or_success#(; ; err)⟩ (err = ESUCCESS), # lpt1 = # avol, # lpt3 = # avol, awbuf-inv(avol, bleb), synced(avol), avol0 ↓ avol ⊦ ∃ err0. (⌊err0⌋ ∨ err0 = ESUCCESS) ∧ ⟨err := err0; if err = ESUCCESS then {adr1 := adr3; m1 := m3; nx := []; lpt1 := lpt3; ns5 := ns4} else isbuf := true; ns := ?⟩ (adr3 = adr1 ∧ m3 = m1 ∧ [] = nx ∧ lpt3 = lpt1 ∧ ns4 = ns5), adr3 = adr1 ∧ m3 = m1 ∧ [] = nx ∧ lpt3 = lpt1 ∧ ns4 = ns5 |
⟨choose err0 with ⌊err0⌋ ∨ err0 = ESUCCESS in err := err0⟩ (err = ESUCCESS), # lpt3 = # avol, # lpt1 = # avol, awbuf-inv(avol, bleb), synced(avol), avol0 ↓ avol ⊦ ∃ err0. (⌊err0⌋ ∨ err0 = ESUCCESS) ∧ ⟨err := err0; if err = ESUCCESS then {adr1 := adr3; m1 := m3; nx := []; lpt1 := lpt3; ns5 := ns4} else isbuf := true; ns := ?⟩ (adr3 = adr1 ∧ m3 = m1 ∧ [] = nx ∧ lpt3 = lpt1 ∧ ns4 = ns5), adr3 = adr1 ∧ m3 = m1 ∧ [] = nx ∧ lpt3 = lpt1 ∧ ns4 = ns5
Used simplifier rules: fail_or_success#(; ; ERR) {choose ERR0 with ⌊ERR0⌋ ∨ ERR0 = ESUCCESS in ERR := ERR0};