| # lax = # gndx1 + # gndx, jvalid ↔ false, gstore2[n] = groupblock(gndx1 + gndx, lax, m), ax = [], ax = ax0 + prefixn(# gndx1, lax).to-adr(n), gndx2 = gndx1, valid-group-nodes(gndx1) = valid-group-nodes(gndx1 + gndx), inv(gstore2 \ ginval), inv(groupblock(gndx1 + gndx, lax, m)), n ∈ gstore2 ⊦ gndx1 = [], gndx2 = [], gndx2.last.end, n ∈ ginval |
# lax = # gndx1 + # gndx, gstore2[n] = groupblock(gndx1 + gndx, lax, m), prefixn(# gndx1, lax) = [], valid-group-nodes(gndx1) = valid-group-nodes(gndx1 + gndx), inv(gstore2 \ ginval), inv(groupblock(gndx1 + gndx, lax, m)), n ∈ gstore2 ⊦ gndx1 = [], gndx1.last.end, n ∈ ginval
Used simplifier rules: a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ lax.to-adr(n) = [] ↔ lax = []; (s)% ⊦ ax + ax0 = [] ↔ ax = [] ∧ ax0 = []; (as)