| key ∈ keys(fs, ax) ⊦ ∃ ax0, ax1, adr. ax = ax0 + adr ' + ax1 ∧ fs[adr].key = key ∧ ¬ fs[adr].key ∈ keys(fs, ax1) |
key ∈ keys(fs, adr + ax0), ∀ key, fs. key ∈ keys(fs, ax0) → (∃ ax2, ax1, adr. ax0 = ax2 + adr ' + ax1 ∧ fs[adr].key = key ∧ ¬ fs[adr].key ∈ keys(fs, ax1)) ⊦ ∃ ax2, ax1, adr0. adr + ax0 = ax2 + adr0 ' + ax1 ∧ fs[adr0].key = key ∧ ¬ fs[adr0].key ∈ keys(fs, ax1)
Used simplifier rules: keys-base: ⊦ keys(fs, []) = [];%address-list freely generated by [], +;;% ⊦ ¬ key ∈ []; (s)