Butchart-Moser theorem Pythagorean theorem Ramsey theorem Barbier theorem Butchart-Moser定理 Kummer theorem