| 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 |
ri[key] = @(m, m0, m1), ri[key0] = @(m, m0, m1), key-cons(key, nodes(gstore, ginval)[@(m, m0, m1)]), key ∈ ri, key0 ∈ ri, @(m, m0, m1) ∈ gstore, ∀ key1. key1 ∈ ri → ri[key1] ∈ gstore ∧ ¬ ri[key1].lnum ∈ ginval ∧ key-cons(key1, nodes(gstore, ginval)[ri[key1]]) ⊦ key0 = key, m ∈ ginval