Algorithm 3.
solutions(node y)
| 1: | for each p extension-parent of ydo |
| 2: | S ← solutions(p) |
| 3: | add y to each solution in S |
| 4: | for each c inclusion-child of ydo |
| 5: | collect-inclusion-children(c) if c not included in p |
| 6: | add children to each solution in S |
| 7: | collect S |
| 8: | return all lists S if any or return collect-inclusion-children (y) |