| valid-group-nodes(gndx) < valid-group-nodes(prefixn(n1, gndx)), valid-group-nodes(gndx) < # prefixn(n1, gndx) ⊦ gndx = [], n1 = 0 |
φ([]) ∧ (∀ gndx, gnd. φ(gndx) → φ(gndx + gnd)) ⊦ φ(gndx)
⊦ (∀ gndx, n1. [] = gndx ∧ valid-group-nodes(gndx) < valid-group-nodes(prefixn(n1, gndx)) ∧ valid-group-nodes(gndx) < # prefixn(n1, gndx) → gndx = [] ∨ n1 = 0) ∧ (∀ gndx, gnd. (∀ gndx1, n1. gndx = gndx1 ∧ valid-group-nodes(gndx1) < valid-group-nodes(prefixn(n1, gndx1)) ∧ valid-group-nodes(gndx1) < # prefixn(n1, gndx1) → gndx1 = [] ∨ n1 = 0) → (∀ gndx1, n1. gndx + gnd = gndx1 ∧ valid-group-nodes(gndx1) < valid-group-nodes(prefixn(n1, gndx1)) ∧ valid-group-nodes(gndx1) < # prefixn(n1, gndx1) → gndx1 = [] ∨ n1 = 0))
Used terms: λ gndx0. ∀ gndx, n1. gndx0 = gndx ∧ valid-group-nodes(gndx) < valid-group-nodes(prefixn(n1, gndx)) ∧ valid-group-nodes(gndx) < # prefixn(n1, gndx) → gndx = [] ∨ n1 = 0, gndx