| nd ' + gndx0.nds = ndx0 + ndx1, ndx0 = nd0 + ndx, ∀ ndx0, ndx1. gndx0.nds = ndx0 + ndx1 → (∃ gndx2, gndx1. gndx0 = gndx2 + gndx1 ∧ ndx0 = gndx2.nds ∧ ndx1 = gndx1.nds), nd ∈ ndx0 ∨ nd ∈ ndx1 ⊦ ∃ gndx, gndx1. mkgnode(nd, m, boolvar, boolvar0) ' + gndx0 = gndx + gndx1 ∧ ndx0 = gndx.nds ∧ ndx1 = gndx1.nds |
gndx0.nds = ndx + ndx1, ∀ ndx0, ndx1. gndx0.nds = ndx0 + ndx1 → (∃ gndx2, gndx1. gndx0 = gndx2 + gndx1 ∧ ndx0 = gndx2.nds ∧ ndx1 = gndx1.nds) ⊦ ∃ gndx, gndx1. mkgnode(nd0, m, boolvar, boolvar0) ' + gndx0 = gndx + gndx1 ∧ nd0 ' + ndx = gndx.nds ∧ ndx1 = gndx1.nds
Used simplifier rules: ⊦ nd ∈ nd0 ' + ndx ↔ nd = nd0 ∨ nd ∈ ndx; (s)% ⊦ nd ' + ndx = nd0 ' + ndx0 ↔ nd = nd0 ∧ ndx = ndx0; (ws)%a: ⊦ (ndx + ndx0) + ndx1 = ndx + ndx0 + ndx1; from specification list[node-list]% ⊦ nd + ndx = nd ' + ndx; (s)