| ri[key0] = ri[key], key-cons(key, nodes(gstore, ginval)[ri[key]]), key ∈ ri, key0 ∈ ri, ri[key] ∈ gstore, ∀ key1. key1 ∈ ri → ri[key1] ∈ gstore ∧ ¬ ri[key1].lnum ∈ ginval ∧ key-cons(key1, nodes(gstore, ginval)[ri[key1]]) ⊦ key0 = key, ri[key].lnum ∈ ginval |
ri[key0] = ri[key], ri[key] = @(m, m0, m1), key-cons(key, nodes(gstore, ginval)[ri[key]]), ri[key] ∈ gstore, key0 ∈ ri, key ∈ ri, ∀ key1. key1 ∈ ri → ri[key1] ∈ gstore ∧ ¬ ri[key1].lnum ∈ ginval ∧ key-cons(key1, nodes(gstore, ginval)[ri[key1]]) ⊦ key0 = key, m ∈ ginval
Used simplifier rules: ⊦ (m = adr.lnum ∧ m0 = adr.pos) ∧ m1 = adr.size ↔ adr = @(m, m0, m1); (elim) Used terms: ri[key], m, m0, m1