| gstore[m] ↓ = groupblock(gndx, lax, m2), @(m0, m1) ∈ lax, m ∈ gstore ⊦ @(m0, m1) ∈ gstore[m].ladrlist |
Used simplifier rules: down-block-explicit: ⊦ groupblock(gndx, lax, m0) ↓ = groupblock (prefixn(valid-group-nodes(gndx), gndx), prefixn(valid-group-nodes(gndx), lax), m0);%valid-group-nodes-entire: ⊦ # gndx ≤ valid-group-nodes(gndx) ↔ valid-group-nodes(gndx) = # gndx;%⊦ groupblock(gndx, lax, m) = groupblock(gndx0, lax0, m0) ↔ gndx = gndx0 ∧ lax = lax0 ∧ m = m0; (ws)% ⊦ ¬ ladr ∈ lax → ¬ ladr ∈ prefixn(n, lax); (s)%# gndx ≤ m ⊦ prefixn(m, gndx) = gndx; (s)%⊦ (gndx = gblock.gndlist ∧ lax = gblock.ladrlist) ∧ m = gblock.ref-size ↔ gblock = groupblock(gndx, lax, m); (elim) Used terms: gstore[m], gndx0, lax0, m3