| ⊦ key1 < key0, (key ∈ ri[key0, adr] ∧ ¬ key1 < key ↔ key ∈ (ri |≤ key1)[key0, adr]) ∧ (key ∈ ri[key0, adr] ∧ ¬ key1 < key → ri[key0, adr][key] = (ri |≤ key1)[key0, adr][key]) |
⊦ key ≠ key0 → ri[key0, adr][key] = ri[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 ≠ key0 → (key ∈ ri[key0, adr] ↔ key ∈ ri); (s)% ⊦ key ≠ key0 → ri[key0, adr][key] = ri[key]; (s)% ⊦ key ∈ ri[key, adr]; (s)% ⊦ ri[key, adr][key] = adr; (s) Used terms: key, adr, key0, ri |≤ key1