| ⊦ ⟪index_format#(jmaxino3, LEB_SIZE, ROOT_INO + 1; ; fi0, fi, jro0, gstore0, gstore, nx, pmaxino, p_os, jvalid1, err); if err ≠ ESUCCESS then debug#("gjournal: persistence format failed"); jro := ∅⟫ ( ( err = ESUCCESS → ⟨aubifs_core_format#(jmaxino3, LEB_SIZE, jvalid2; ; ri0, fi2, ro0, fo0, fs0, log0, jvalid4, err0)⟩ ( jro.keys = ro0 ∧ p_os.keys = fo0 ∧ fi0 = ri0 ∧ fi = fi2 ∧ log0 = abs-log(nx, gstore0 ↓) ∧ fs0 = nodes(gstore0 ↓, jro0) ∧ (jvalid4 → jvalid1) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ ri, fi, ro, fo, fs, log, jvalid0. ⟨aubifs_core_format#(jmaxino3, LEB_SIZE, jvalid2; ; ri0, fi2, ro0, fo0, fs0, log0, jvalid4, err0)⟩ (ri = ri0 ∧ fi = fi2 ∧ ro = ro0 ∧ fo = fo0 ∧ fs = fs0 ∧ log = log0 ∧ (jvalid0 ↔ jvalid4) ∧ err = err0)))) |
jmaxino = ROOT_INO + 1, jmaxino0 = LEB_SIZE, jmaxino1 = jmaxino3 ⊦ ⟪if jmaxino0 = LEB_SIZE then {fail_or_success#(; ; err); if err = ESUCCESS then pmaxino := jmaxino, jvalid := true, p_os := ∅, nx := [], gstore0 := ∅, gstore := ∅, jro := ∅, fi0 := ∅, fi := ∅ else pmaxino := ?, jvalid := ?, p_os := ?, nx := ?, gstore0 := ?, gstore := ?, jro := ?, fi0 := ?, fi := ?} else abort; if err ≠ ESUCCESS then debug#("gjournal: persistence format failed"); jro1 := ∅⟫ ( ( err = ESUCCESS → ⟨aubifs_core_format#(jmaxino3, LEB_SIZE, jvalid2; ; ri0, fi2, ro0, fo0, fs0, log0, jvalid4, err0)⟩ ( jro1.keys = ro0 ∧ p_os.keys = fo0 ∧ fi0 = ri0 ∧ fi = fi2 ∧ log0 = abs-log(nx, gstore0 ↓) ∧ fs0 = nodes(gstore0 ↓, jro) ∧ (jvalid4 → jvalid) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ ri, fi, ro, fo, fs, log, jvalid0. ⟨aubifs_core_format#(jmaxino3, LEB_SIZE, jvalid2; ; ri0, fi2, ro0, fo0, fs0, log0, jvalid4, err0)⟩ (ri = ri0 ∧ fi = fi2 ∧ ro = ro0 ∧ fo = fo0 ∧ fs = fs0 ∧ log = log0 ∧ (jvalid0 ↔ jvalid4) ∧ err = err0))))
Used simplifier rules: index_format# (VOLSIZE, SIZE, PMAXINO0 ; ; PRI, PFI, PINVAL, PSTORE, PSTORE0, PNL, PMAXINO, P_OS, ISYNCED, ERR ) {if SIZE = LEB_SIZE then {fail_or_success#(; ; ERR); if ERR = ESUCCESS then PMAXINO := PMAXINO0, ISYNCED := true, P_OS := ∅, PNL := [], PSTORE := ∅, PSTORE0 := ∅, PINVAL := ∅, PRI := ∅, PFI := ∅ else PMAXINO := ?, ISYNCED := ?, P_OS := ?, PNL := ?, PSTORE := ?, PSTORE0 := ?, PINVAL := ?, PRI := ?, PFI := ?} else abort };