| ⌊err0⌋ ⊦ ⟨fail_or_success#(; ; err); if err = ESUCCESS then pstate := unbuffered, isbuf := true, maxino := m, ns := ∅, log := [], gstore0 := ∅, gstore := ∅, istore0 := ∅, istore := ∅, ginval := ∅, adr := ? else pstate := ?, isbuf := ?, maxino := ?, ns := ?, log := ?, gstore0 := ?, gstore := ?, istore0 := ?, istore := ?, ginval := ?, adr := ?⟩ ( adr0 = adr ∧ istore3 = istore0 ∧ istore4 = istore ∧ ns0 = ginval ∧ gstore3 = gstore0 ∧ gstore4 = gstore ∧ log0 = log ∧ m = maxino ∧ ns1 = ns ∧ pstate1 = pstate ∧ (isbuf0 ↔ isbuf) ∧ err0 = err) |
⌊err0⌋ ⊦ ⟨choose err0 with ⌊err0⌋ ∨ err0 = ESUCCESS in err := err0; if err = ESUCCESS then pstate := unbuffered, isbuf := true, maxino := m, ns := ∅, log := [], gstore0 := ∅, gstore := ∅, istore0 := ∅, istore := ∅, ginval := ∅, adr := ? else pstate := ?, isbuf := ?, maxino := ?, ns := ?, log := ?, gstore0 := ?, gstore := ?, istore0 := ?, istore := ?, ginval := ?, adr := ?⟩ ( adr0 = adr ∧ istore3 = istore0 ∧ istore4 = istore ∧ ns0 = ginval ∧ gstore3 = gstore0 ∧ gstore4 = gstore ∧ log0 = log ∧ m = maxino ∧ ns1 = ns ∧ pstate1 = pstate ∧ (isbuf0 ↔ isbuf) ∧ err0 = err)
Used simplifier rules: fail_or_success#(; ; ERR) {choose ERR0 with ⌊ERR0⌋ ∨ ERR0 = ESUCCESS in ERR := ERR0};