| a0 ∈ (st -- a)[b, d1] ⊦ a0 = b, (st -- a)[b, d1][a0] = d1, ∃ a1. a1 ∈ st ∧ st[a1] = (st -- a)[b, d1][a0] |
a0 ∈ st ⊦ a0 = b, st[a0] = d1, a0 = a, ∃ a1. a1 ∈ st ∧ st[a1] = st[a0]
Used simplifier rules: Del-at: ⊦ a ≠ b → (st -- b)[a] = st[a]; from specification store%Del-at-strong: a ≠ b ⊦ (st -- b)[a] = st[a]; from specification store%Del-in: ⊦ a ∈ st -- b ↔ a ≠ b ∧ a ∈ st; from specification store%in-neq: ⊦ a ≠ b → (a ∈ st[b, d] ↔ a ∈ st); from specification store%At-other: ⊦ a ≠ b → st[b, d][a] = st[a]; from specification store