| gstore[m] = groupblock(gndx, lax, m2), @(m0, m1) ∈ prefixn(valid-group-nodes(gndx), lax), m ∈ gstore, @(m, m0, m1) ∈ gstore ⊦ prefixn(valid-group-nodes(gndx), gndx)[pos(@(m0, m1), lax)] = gndx[pos(@(m0, m1), lax)], m ∈ ginval |
⊦ m < n ∧ m < # gndx → prefixn(n, gndx)[m] = gndx[m]
Used simplifier rules: valid-group-nodes-entire: ⊦ # gndx ≤ valid-group-nodes(gndx) ↔ valid-group-nodes(gndx) = # gndx;% ⊦ ladr ∈ prefixn(n, lax) → pos(ladr, lax) < n; (ss)% ⊦ m < n ↔ ¬ n ≤ m; (ss)%in-prefixn-pos-smaller0: ⊦ ladr ∈ prefixn(n, lax) ∧ m ≤ pos(ladr, lax) → m ≤ n; (forward) from specification list-prefixn[laddress-list]%# gndx ≤ m ⊦ prefixn(m, gndx) = gndx; (s) Used terms: pos(@(m0, m1), lax), gndx, valid-group-nodes(gndx)