title: Minimal Cover and functional dependencies
body: <p>Given the following functional dependencies how would I compute the minimal cover:</p>
  
  <p><code>A -&gt; B, ABCD -&gt; E, EF -&gt; GH, ACDF -&gt; EG</code></p>
  
  <p>In the lecture notes it gives the derivation for the minimal cover but I do not understand it.</p>
  
  <p>For example for getting rid of <strong>ACDF -> E</strong>:</p>
  
  <p><code>A -&gt; B =&gt; AACD -&gt; BACD -&gt; E =&gt; ACD -&gt; E =&gt; ACDF -&gt; E</code></p>
  
  <p>And then they say, similarly we do not keep <strong>ACDF -> G</strong></p>
  
  <p>And then I understand that <strong>ABCD -> E</strong> is deduced to <strong>ACD -> E</strong> because <strong>A -> B</strong>, but I do not understand the formal process of how to get to that.</p>
  
  <p>So my question is, can anyone provide an explanation of how to generate the minimal cover for a set  functional dependencies? </p>