| gstore[n] = groupblock(gndx, lax, m) ⊦ (n ∈ gstore ∧ m ≠ 0 ↔ n ∈ gstore ↓ ∧ gstore ↓[n].ref-size ≠ 0) ∧ (n ∈ gstore ∧ m ≠ 0 → groupblock(prefixn(valid-group-nodes(gndx), gndx), prefixn(valid-group-nodes(gndx), lax), m) = remove-refsize0(gstore ↓)[n]) |
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
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);% ⊦ groupblock(gndx, lax, m).ref-size = m; (s)