| ri-cons(ri0[key, @(n, m0, m1)], fs), @(n, m0, m1) ∈ ax ⊦ fs[@(n, m0, m1)].key = key, key ∈ ri0 |
⊦ ri-cons(ri, fs) ↔ (∀ key. key ∈ ri → ri[key] ∈ fs ∧ key-cons(key, fs[ri[key]]))
@(n, m0, m1) ∈ ax, ∀ key0. key0 ∈ ri0[key, @(n, m0, m1)] → ri0[key, @(n, m0, m1)][key0] ∈ fs ∧ key-cons(key0, fs[ri0[key, @(n, m0, m1)][key0]]) ⊦ fs[@(n, m0, m1)].key = key, key ∈ ri0
Used terms: fs, ri0[key, @(n, m0, m1)]