| ri-cons(ri0[key, @(n, m0, m1)], fs), ∀ adr. adr ∈ ax.toSet ↔ adr ∈ (range ri0 | n) ++ @(n, m0, m1) ⊦ key ∈ ri0, @(n, m0, m1) ∈ ax ∧ fs[@(n, m0, m1)].key = key |
ri-cons(ri0[key, @(n, m0, m1)], fs), ∀ adr. adr ∈ ax ↔ adr = @(n, m0, m1) ∨ adr ∈ range ri0 | n ⊦ key ∈ ri0, @(n, m0, m1) ∈ ax ∧ fs[@(n, m0, m1)].key = key
Used simplifier rules: ⊦ adr ∈ as ++ adr0 ↔ adr = adr0 ∨ adr ∈ as; (s)% ⊦ adr ∈ ax.toSet ↔ adr ∈ ax; (s)