Auxiliary Variables for BDD-based Representation and Manipulation of Boolean Functions