A minimal cover is a simplified and reduced version of the given set of functional dependencies. 
Since it is a reduced version, it is also called as Irreducible set. 
It is also called as Canonical Cover. Steps to Find Minimal Cover 1) Split the right-hand attributes of all FDs. 
Example 
A->XY => A->X, A->Y 2) Remove all redundant FDs. 
Example 
< A->B, B->C, A->C > 
Here A->C is redundant since it can already be achieved using the Transitivity Property. 3) Find the Extraneous attribute and remove it. 
Example 
AB->C, either A or B or none can be extraneous. 
If A closure contains B then B is extraneous and it can be removed. 
If B closure contains A then A is extraneous and it can be removed. Example 1 
Minimize C, AC->D, E->H, E->AD> Step 1: C, AC->D, E->H, E->A, E->D> Step 2: C, AC->D, E->H, E->A> 
Here Redundant FD : D> Step 3: D> 
+ =  
Therefore C is extraneous and is removed. 
D> Minimal Cover = C, A->D, E->H, E->A> Example 2 
Minimize C, D->E, AB->E, E->C> Step 1: C, D->E, AB->E, E->C> Step 2: E, AB->E, E->C> 
Here Redundant FD = C> Step 3: E> 
+ =  
+ =  
There is no extraneous attribute. Therefore, Minimal cover = E, AB->E, E->C>