| syn, inv-journal(nx, gstore, gstore0, ginval), ri-inj(fi0), ri-inj(fi) ⊦ ⟪index_allocate_gnd#(fi, fi0, gstore0, maxino, ginval0, syn; ginval, gstore, nx; err)⟫ inv-journal(nx, gstore, gstore0, ginval) |
remove-refsize0(gstore0) = gstore0, elems nx ∩ ginval = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore \ ginval), inv(gstore0), ri-inj(fi), ri-inj(fi0), ¬ dups(nx) ⊦ ⟪index_allocate_gnd#(fi, fi0, gstore0, maxino, ginval0, true; ginval, gstore, nx; err)⟫ (inv(gstore \ ginval) ∧ elems nx ∩ ginval = ∅ ∧ ¬ dups(nx) ∧ dom gstore0 ∪ elems nx = dom gstore ∪ ginval)
Used simplifier rules: ⊦ inv-journal(nx, gstore, gstore0, ginval) ↔ inv(gstore \ ginval) ∧ inv(gstore0) ∧ elems nx ∩ ginval = ∅ ∧ ¬ dups(nx) ∧ dom gstore0 ∪ elems nx = dom gstore ∪ ginval ∧ remove-refsize0(gstore0) = gstore0; (s)