| log-cons(log, fs) ⊦ log-cons(log0, fs0) ↔ (∀ adr. (adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr])) → adr ∈ log0 → adr ∈ fs0 ∧ node-cons(fs0[adr].key, fs0[adr])) |
adr ∈ log0, adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr]), ∀ adr. adr ∈ log0 → adr ∈ fs0 ∧ node-cons(fs0[adr].key, fs0[adr]), ∀ adr. adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr]) ⊦ adr ∈ fs0 ∧ node-cons(fs0[adr].key, fs0[adr])
Used simplifier rules: log-cons: ⊦ log-cons(log, fs) ↔ (∀ adr. adr ∈ log → adr ∈ fs ∧ node-cons(fs[adr].key, fs[adr]));%log-adr-in: ⊦ log-cons(log, fs) ∧ adr ∈ log → adr ∈ fs;%log-node-cons: ⊦ log-cons(log, fs) ∧ adr ∈ log → node-cons(fs[adr].key, fs[adr]);