| a0 = st[a, d].min ⊦ a = st[a, d].min, a0 = a, (a0 ∈ st[a, d] -- st[a, d].min ↔ a0 ∈ st -- st.min) ∧ (st[a, d] -- st[a, d].min)[a0] = (st -- st.min)[a0] |
st.min < st[a, d].min, st[a, d].min ∈ st ⊦ st[a, d].min = st.min, a = st[a, d].min
Used simplifier rules: Min-min: ⊦ a ∈ st → ¬ a < st.min;%inf: ⊦ a ∈ st → a ∈ st.keys;%Keys: ⊦ a ∈ st.keys ↔ a ∈ st;% ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)% ⊦ a ∈ st -- b ↔ a ≠ b ∧ a ∈ st; (ws)% ⊦ ¬ a ∈ st → st[a] = (∅)[a]; (s)% ⊦ (st -- a)[a] = (∅)[a]; (s)% ⊦ ¬ a ∈ st -- a; (s)