public boolean satisfies(ArrayList<Boolean> b)
    {
        for(Clause c: clauses)
        {
            //since a formula is a conjuction, if one clause returns
            //false, the whole formula is false.
            if(!(c.satisfies(b)))
                return false;       
        }
        return true;
    }