How to solve multiple minimal covers for functional dependencies?
Starting from the dependencies:

b-&gt;c, dg-&gt;ce, bc-&gt;dg, e-&gt;a, g-&gt;bd


and splitting the right hand side, one obtain:

b-&gt;c, dg-&gt;c, dg-&gt;e, bc-&gt;d, bc-&gt;g, e-&gt;a, g-&gt;b, g-&gt;d


(Note that you have written bd-&gt;d instead of bc-&gt;d).

Then you have correctly found that the attribute d is  extraneous both in dg-&gt;c and dg-&gt;e, while c is extraneous both in bc-&gt;d and in bc-&gt;g. So that the set of dependencies is now:

b-&gt;c, g-&gt;c, g-&gt;e, b-&gt;d, b-&gt;g, e-&gt;a, g-&gt;b, g-&gt;d


Then you say:


  For g-&gt;bd the attribute d is extraneous because if we have g-&gt;b then g+ = {gbcd} which contains d


but no dependency g-&gt;bd exists (it has already been split in the two dependencies g-&gt;d and g-&gt;b).

The last step is to find the superfluous dependencies in:

b-&gt;c, g-&gt;c, g-&gt;e, b-&gt;d, b-&gt;g, e-&gt;a, g-&gt;b, g-&gt;d


that are b-&gt;d and b-&gt;c. So at the end we have:

g-&gt;c, g-&gt;e, b-&gt;g, e-&gt;a, g-&gt;b, g-&gt;d


which is exactly the answer given by the tool.

Finally, consider that actually a set of functional dependencies could have more than one minimal cover: this depends on the order in which the attributes and the dependencies are considered for the elimination.