| n0 ∈ gstore0 \ (∅ ++ n) ↔ n0 ∈ gstore1 \ (∅ ++ n), (gstore0 \ (∅ ++ n))[n0] = (gstore1 \ (∅ ++ n))[n0], n0 ∈ gstore0, n0 ∈ gstore1, n ∈ gstore0 ⊦ gstore1[n0] = gstore0[n, gstore1[n]][n0] |
⊦ n ≠ n0 → gstore[n0, gblock][n] = gstore[n]
n0 ∈ gstore0 \ (∅ ++ n) ↔ n0 ∈ gstore1 \ (∅ ++ n), (gstore0 \ (∅ ++ n))[n0] = (gstore1 \ (∅ ++ n))[n0], n ∈ gstore0, n0 ∈ gstore1, n0 ∈ gstore0 ⊦ gstore1[n0] = gstore0[n0], n0 = n
Used simplifier rules: ⊦ n ∈ gstore \ ns ↔ n ∈ gstore ∧ ¬ n ∈ ns; (ws)% ⊦ n ∈ ∅ ++ n0 ↔ n = n0; (s)% ⊦ gstore[n, gblock][n] = gblock; (s) Used terms: n0, gstore1[n], n, gstore0