| ⌊err0⌋ ⊦ ⟨apersistence_format#(m3, LEB_SIZE, m6; ; adr1, istore1, istore2, ginval, gstore1, gstore2, log2, maxino, ns2, pstate0, isbuf1, err1)⟩ ( adr = adr1 ∧ istore0 = istore1 ∧ istore = istore2 ∧ ns0 = ginval ∧ gstore0 = gstore1 ∧ gstore = gstore2 ∧ log = log2 ∧ m = maxino ∧ ns = ns2 ∧ pstate = pstate0 ∧ (isbuf ↔ isbuf1) ∧ err0 = err1) |
m = m6, m0 = LEB_SIZE, m1 = m3, ⌊err0⌋ ⊦ ⟨if m0 = LEB_SIZE then {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 := ?} else abort⟩ ( 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: apersistence_format# (VOLSIZE, SIZE, MAXINO0 ; ; ROOTADR, ISTORE, ISTORE0, GINVAL, GSTORE, GSTORE0, NL, MAXINO, OS, PSTATE, PSYNCED, ERR ) {if SIZE = LEB_SIZE then {fail_or_success#(; ; ERR); if ERR = ESUCCESS then PSTATE := unbuffered, PSYNCED := true, MAXINO := MAXINO0, OS := ∅, NL := [], GSTORE := ∅, GSTORE0 := ∅, ISTORE := ∅, ISTORE0 := ∅, GINVAL := ∅, ROOTADR := ? else PSTATE := ?, PSYNCED := ?, MAXINO := ?, OS := ?, NL := ?, GSTORE := ?, GSTORE0 := ?, ISTORE := ?, ISTORE0 := ?, GINVAL := ?, ROOTADR := ?} else abort };