| 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), adr ∈ gstore, ¬ dups(nx), ¬ adr.lnum ∈ ginval ⊦ ⟪index_read_gnd#(adr, fi, fi0, ginval, gstore, gstore0, nx, maxino, ginval0, syn; gnd; err)⟫ true |
adr = @(m, m0, m1), remove-refsize0(gstore0) = gstore0, elems nx ∩ ginval = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore0), inv(gstore \ ginval), ri-inj(fi0), ri-inj(fi), adr ∈ gstore ⊦ ⟪index_read_gnd#(adr, fi, fi0, ginval, gstore, gstore0, nx, maxino, ginval0, syn; gnd; err)⟫ true, dups(nx), m ∈ ginval
Used simplifier rules: ⊦ (m = adr.lnum ∧ m0 = adr.pos) ∧ m1 = adr.size ↔ adr = @(m, m0, m1); (elim) Used terms: adr, m, m0, m1