| ⊦ st.min < a ∧ st ≠ ∅ → st.butmin[a, d] = st[a, d].butmin |
st.keys.min < a, st.keys.min ∈ st ⊦ st = ∅, (st -- st.keys.min)[a, d] = st[a, d] -- st.keys.min
Used simplifier rules: Butmin: ⊦ st.butmin = st -- st.min;%min-def: ⊦ st ≠ ∅ → st.min = st.keys.min;%min-put-ls: ⊦ st.min < a ∧ st ≠ ∅ → st[a, d].min = st.min;%Min-in: ⊦ st ≠ ∅ → st.min ∈ st;%Min-min: ⊦ a ∈ st → ¬ a < st.min;%inf: ⊦ a ∈ st → a ∈ st.keys;%Keys: ⊦ a ∈ st.keys ↔ a ∈ st;%irreflexivity: ⊦ ¬ a < a; from specification oelem