| ri[key] = @(n, m1, m2), gstore[n] = groupblock(gndx, lax, m), key ∈ ri, n ∈ gstore, ∀ key0. key0 ∈ ri → ri[key0] ∈ gstore ↓ ∧ ¬ ri[key0].lnum ∈ ginval ∧ key-cons(key0, nodes(gstore ↓, ginval)[ri[key0]]) ⊦ @(m1, m2) ∈ lax, n ∈ ginval |
Used simplifier rules: down-store-adr-in-explicit: ⊦ @(m0, m1, m2) ∈ gstore ↓ ↔ m0 ∈ gstore ∧ @(m1, m2) ∈ gstore ↓[m0].ladrlist;%down-store-at: ⊦ n ∈ gstore → gstore ↓[n] = gstore[n] ↓;%down-block-explicit: ⊦ groupblock(gndx, lax, m0) ↓ = groupblock (prefixn(valid-group-nodes(gndx), gndx), prefixn(valid-group-nodes(gndx), lax), m0);% ⊦ @(m, m0, m1).lnum = m; (s)% ⊦ groupblock(gndx, lax, m).ladrlist = lax; (s)% ⊦ ¬ ladr ∈ lax → ¬ ladr ∈ prefixn(n, lax); (s) Used terms: key