| key1 < key0 ⊦ ∀ key. (key ∈ ri[key0, adr] |≤ key1 ↔ key ∈ ri |≤ key1) ∧ (key ∈ ri[key0, adr] |≤ key1 → (ri[key0, adr] |≤ key1)[key] = (ri |≤ key1)[key]) |
key1 < key0 ⊦ (key ∈ ri ∧ ¬ key1 < key → key ∈ ri[key0, adr]) ∧ (key ∈ ri[key0, adr] ∧ ¬ key1 < key → ri[key0, adr][key] = (ri |≤ key1)[key])
Used simplifier rules: in-le: ⊦ key0 ∈ ri |≤ key1 ↔ key0 ∈ ri ∧ ¬ key1 < key0;%at-le: ⊦ ¬ key1 < key0 ∧ key0 ∈ ri → (ri |≤ key1)[key0] = ri[key0];% ⊦ key ∈ ri[key0, adr] ↔ key = key0 ∨ key ∈ ri; (ws)