Minimal covers revisited
Jim Diederich · ACM SIGMOD Record · 1991
In [1] Nummenmaa and Tanisch show that the algorithm in [2] for computing minimal covers is incorrect even though it purports to correct the algorithms in [3-6]. As they illustrate with F = { A B → C}, the algorithm in [2] allows B to be eliminated as an extraneous attribute since the dependency AB → C is implied by A → C using augmentation. Thus F is replaced by F′ = [A → C], which is clearly not equivalent to F. The problematic step of the algorithm in [2] that allows this to occur is Consider each dependency X → A in some order. If Z is a subset of X such that F is contained in the closure of (F - {X → A}) ∪ {Z → A], then immediately replace X → A by Z → A in F. This step continues until no left side of any dependency in F can be reduced