Representing Boolean formulas by using trees of implicants and implicates