| # gndx = # lax, # gndx1 = # lax1, gstore[n] = groupblock(gndx, lax, m0), n ∈ gstore, m ∈ gstore, @(m1, m2) ∈ gstore[m] ↓.ladrlist ⊦ m ∈ ginval, @(m, m1, m2) ∈ gstore ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)] ∧ nodes(gstore ↓, ginval)[@(m, m1, m2)] = nodes(gstore ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval)[@(m, m1, m2)] |
# gndx1 = # lax1, # gndx = # lax, gstore[n] = groupblock(gndx, lax, m0), gstore[m] ↓ = groupblock(gndx0, lax0, m3), @(m1, m2) ∈ lax0, m ∈ gstore, n ∈ gstore ⊦ m ∈ ginval, @(m, m1, m2) ∈ gstore ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)] ∧ nodes(gstore ↓, ginval)[@(m, m1, m2)] = nodes(gstore ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)], ginval)[@(m, m1, m2)]
Used simplifier rules: ⊦ (gndx = gblock.gndlist ∧ lax = gblock.ladrlist) ∧ m = gblock.ref-size ↔ gblock = groupblock(gndx, lax, m); (elim) Used terms: gstore[m] ↓, gndx0, lax0, m3