| key1 < key0 ⊦ ∀ key. (key ∈ (ri -- key0) |> key1 ↔ key ∈ (ri |> key1) -- key0) ∧ (key ∈ (ri -- key0) |> key1 → ((ri -- key0) |> key1)[key] = ((ri |> key1) -- key0)[key]) |
key1 < key0, key1 < key, key ∈ ri ⊦ ((ri -- key0) |> key1)[key] = ri[key], key = key0
Used simplifier rules: in-gt: ⊦ key0 ∈ ri |> key1 ↔ key0 ∈ ri ∧ key1 < key0;%at-gt: ⊦ key1 < key0 ∧ key0 ∈ ri → (ri |> key1)[key0] = ri[key0];% ⊦ key ≠ key0 → (ri -- key0)[key] = ri[key]; (s)% ⊦ key ∈ ri -- key0 ↔ key ≠ key0 ∧ key ∈ ri; (s)