| # gndx = # lax, gstore[n] = groupblock(gndx, lax, n0), gndx[pos(@(m1, m2), lax)] = mkgnode(nd0, m, boolvar1, boolvar2), prefixn(valid-group-nodes(gndx), gndx)[pos(@(m1, m2), lax + ladr ')] = mkgnode(nd1, m4, boolvar3, boolvar4), pos(@(m1, m2), lax) < # lax, pos(@(m1, m2), lax) < valid-group-nodes(gndx), @(m1, m2) ∈ lax, @(m1, m2) ∈ prefixn(valid-group-nodes(gndx), lax), n ∈ gstore, n0 ≤ m0, valid-group-nodes(gndx) ≤ # lax ⊦ lax = [], nd0 = nd1, n ∈ ginval |
# gndx = # lax, gndx[pos(@(m1, m2), lax)] = mkgnode(nd0, m, boolvar1, boolvar2), gstore[n] = groupblock(gndx, lax, n0), prefixn(valid-group-nodes(gndx), gndx)[pos(@(m1, m2), lax)] = mkgnode(nd1, m4, boolvar3, boolvar4), pos(@(m1, m2), lax) < valid-group-nodes(gndx), n ∈ gstore, @(m1, m2) ∈ prefixn(valid-group-nodes(gndx), lax), @(m1, m2) ∈ lax, valid-group-nodes(gndx) ≤ # lax, n0 ≤ m0 ⊦ lax = [], nd0 = nd1, n ∈ ginval
Used simplifier rules: ⊦ ladr ∈ lax → pos(ladr, lax) < # lax; (s)%a: ⊦ (lax + lax0) + lax1 = lax + lax0 + lax1; from specification list[laddress-list]% ⊦ ladr ∈ lax → pos(ladr, lax + lax0) = pos(ladr, lax); (s)