| (range ri | m).size = 0, ri[key] = @(m, m0, m1), inv(gstore \ ginval), key ∈ ri, ∀ key. key ∈ ri → ri[key] ∈ nodes(gstore ↓, ginval) ∧ key-cons(key, nodes(gstore ↓, ginval)[ri[key]]) ⊦ |
(range ri | m).size = 0, ri[key] = @(m, m0, m1), inv(gstore \ ginval), key ∈ ri, ∀ key0. key0 ∈ ri → ri[key0] ∈ gstore ↓ ∧ ¬ ri[key0].lnum ∈ ginval ∧ key-cons(key0, nodes(gstore ↓, ginval)[ri[key0]]) ⊦
Used simplifier rules: nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);