1) Y = set of words in every definition of the words in set X
2) X = Y - X (all words in Y that are not in X)
3) Repeat from 1 if the set of words in X has changed
Does that reduce all words down to the actual minimal set of words required to define other ones? Since you can build upwards from the resulting set X to get the original set of words.
Also, this reminds me of the knapsack problem a little bit (for example what is the minimum set of coins required to be able to make $X).
1) Y = set of words in every definition of the words in set X
2) X = Y - X (all words in Y that are not in X)
3) Repeat from 1 if the set of words in X has changed
Does that reduce all words down to the actual minimal set of words required to define other ones? Since you can build upwards from the resulting set X to get the original set of words.
Also, this reminds me of the knapsack problem a little bit (for example what is the minimum set of coins required to be able to make $X).