| ndx0.keys = kx + kx1, ndx0.keys = kx + kx1 → (∃ ndx2, ndx1. ndx0 = ndx2 + ndx1 ∧ ndx2.keys = kx ∧ ndx1.keys = kx1) ⊦ ∃ ndx, ndx1. nd ' + ndx0 = ndx + ndx1 ∧ ndx.keys = nd.key ' + kx ∧ ndx1.keys = kx1 |
⊦ ∃ ndx3, ndx2. nd ' + ndx + ndx1 = ndx3 + ndx2 ∧ ndx3.keys = nd.key ' + ndx.keys ∧ ndx2.keys = ndx1.keys
Used simplifier rules: keys-app: ⊦ (ndx0 + ndx1).keys = ndx0.keys + ndx1.keys;%a: ⊦ (kx + kx0) + kx1 = kx + kx0 + kx1; from specification list[key-list-set]% ⊦ kx + kx0 = kx + kx1 ↔ kx0 = kx1; (s)%a: ⊦ (ndx + ndx0) + ndx1 = ndx + ndx0 + ndx1; from specification list[node-list]