Algorithm for finding canonical cover
repeat
1. Use the union rule to replace any dependencies in
and with .
2. Find a functional dependency with an
extraneous attribute either in or in .
3. If an extraneous attribute is found, delete it from .
until F does not change