| gnd.nd ' + gndx0.nds = ndx0 + ndx1, ∀ ndx0, ndx1. gndx0.nds = ndx0 + ndx1 → (∃ gndx2, gndx1. gndx0 = gndx2 + gndx1 ∧ ndx0 = gndx2.nds ∧ ndx1 = gndx1.nds), gnd.nd ∈ ndx0 ∨ gnd.nd ∈ ndx1 ⊦ ∃ gndx, gndx1. gnd ' + gndx0 = gndx + gndx1 ∧ ndx0 = gndx.nds ∧ ndx1 = gndx1.nds |
nd ' + gndx0.nds = ndx0 + ndx1, gnd = mkgnode(nd, m, boolvar, boolvar0), ∀ ndx0, ndx1. gndx0.nds = ndx0 + ndx1 → (∃ gndx2, gndx1. gndx0 = gndx2 + gndx1 ∧ ndx0 = gndx2.nds ∧ ndx1 = gndx1.nds), nd ∈ ndx0 ∨ nd ∈ ndx1 ⊦ ∃ gndx, gndx1. gnd ' + gndx0 = gndx + gndx1 ∧ ndx0 = gndx.nds ∧ ndx1 = gndx1.nds
Used simplifier rules: ⊦ ((nd = gnd.nd ∧ m = gnd.sqnum) ∧ (boolvar ↔ gnd.start)) ∧ (boolvar0 ↔ gnd.end) ↔ gnd = mkgnode(nd, m, boolvar, boolvar0); (elim) Used terms: gnd, nd, m, boolvar, boolvar0