| # gndx < n0, (gnd.end ⊃ # gndx + 1;valid-group-nodes(gndx)) < valid-group-nodes(prefixn(n, gndx + gnd ')), (gnd.end ⊃ # gndx + 1;valid-group-nodes(gndx)) < # prefixn(n, gndx + gnd '), n ≤ n0, ∀ n0, n1. valid-group-nodes(prefixn(n0, gndx)) < valid-group-nodes(prefixn(n1, gndx)) ∧ valid-group-nodes(prefixn(n0, gndx)) < # prefixn(n1, gndx) ∧ n1 ≤ n0 → gndx = [] ∨ n1 = 0 ⊦ n = 0 |
gnd = mkgnode(nd, m, boolvar, boolvar0), (boolvar0 ⊃ # gndx + 1;valid-group-nodes(gndx)) < # prefixn(n, gndx + gnd '), (boolvar0 ⊃ # gndx + 1;valid-group-nodes(gndx)) < valid-group-nodes(prefixn(n, gndx + gnd ')), # gndx < n0, n ≤ n0, ∀ n0, n1. valid-group-nodes(prefixn(n0, gndx)) < valid-group-nodes(prefixn(n1, gndx)) ∧ valid-group-nodes(prefixn(n0, gndx)) < # prefixn(n1, gndx) ∧ n1 ≤ n0 → gndx = [] ∨ n1 = 0 ⊦ n = 0
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