| gstore[n] = groupblock(gndx, lax, m), n ∈ gstore ⊦ groupblock(prefixn(valid-group-nodes(gndx), gndx), prefixn(valid-group-nodes(gndx), lax), m) = remove-refsize0(gstore ↓)[n], m = 0 |
⊦ n ∈ gstore ∧ gstore[n].ref-size ≠ 0 → remove-refsize0(gstore)[n] = gstore[n]
Used simplifier rules: down-store-in: ⊦ n ∈ gstore ↓ ↔ n ∈ gstore;%down-store-at: ⊦ n ∈ gstore → gstore ↓[n] = gstore[n] ↓;%down-block-explicit: ⊦ groupblock(gndx, lax, m0) ↓ = groupblock (prefixn(valid-group-nodes(gndx), gndx), prefixn(valid-group-nodes(gndx), lax), m0);%down-store-at: ⊦ n ∈ gstore → gstore ↓[n] = gstore[n] ↓;%down-store-in: ⊦ n ∈ gstore ↓ ↔ n ∈ gstore;%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;%# gndx ≤ m ⊦ prefixn(m, gndx) = gndx; (s)% ⊦ groupblock(gndx, lax, m).ref-size = m; (s) Used terms: n, gstore ↓