allow CanProve to exit early

CanProve currently attempts to prove all, but then checks to see if there's at least one solution.  This seems wasteful