| ri-cons(ri, fs), key ∈ ri ⊦ ri-cons(ri[key, adr], fs[adr, fs[ri[key]]]), adr ∈ fs |
key ∈ ri, key0 ∈ ri[key, adr], ∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]) ⊦ adr ∈ fs, (ri[key, adr][key0] = adr ∨ ri[key, adr][key0] ∈ fs) ∧ key-cons(key0, fs[adr, fs[ri[key]]][ri[key, adr][key0]])
Used simplifier rules: ri-cons: ⊦ ri-cons(ri, fs) ↔ (∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]));% ⊦ adr ∈ fs[adr1, nd] ↔ adr = adr1 ∨ adr ∈ fs; (s)