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