Abstract
Recent formal reasoning systems have reached IMO-level performance, yet they leave a fragmented landscape: algebra and number theory are handled in Lean, while geometry still relies on domain-specific languages with limited formal guarantees. This split increases the trusted computing base and hinders unified model development.
Existing geometry-in-Lean efforts (LeanEuclid, LeanGeo) introduce custom axiom systems incompatible with standard Mathlib, and their small scale limits their effectiveness. Euclean proposes a new approach to automate the formalization of geometry problems and achieve unified verification, enhancing the reliability of geometric reasoning and laying the groundwork for future unified model development.
Code Example
Here is a brief code example from Euclean:
// Example: Formalization of a geometric problem
class Point {
double x, y;
// Constructor
Point(double x, double y) : x(x), y(y) {}
};
class Circle {
Point center;
double radius;
// Constructor
Circle(Point center, double radius) : center(center), radius(radius) {}
};
This method illustrates how to define geometric objects in a formalized manner within Lean, providing a foundation for subsequent geometric reasoning.
Blogger's Review: The emergence of Euclean marks a significant advancement in the formalization of geometric problems, addressing the fragmentation of existing systems and offering new possibilities for unified mathematical reasoning. Such tools hold considerable value in both education and research, as integrating geometry with mathematical libraries has the potential to enhance the breadth and utility of mathematical formalization.