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