A Machine Proof System of Point Geometry Based on Coq

: An important development in geometric algebra in recent years is the new system known as point geometry, which treats points as direct objects of operations and considerably simpliﬁes the process of geometric reasoning. In this paper, we provide a complete formal description of the point geometry theory architecture and give a rigorous and reliable formal veriﬁcation of the point geometry theory based on the theorem prover Coq. Simultaneously, a series of tactics are also designed to assist in the proof of geometric propositions. Based on the theoretical architecture and proof tactics, a universal and scalable interactive point geometry machine proof system, PointGeo, is built. In this system, any arbitrary point-geometry-solvable geometric statement may be proven, along with readable information about the solution’s procedure. Additionally, users may augment the rule base by adding trustworthy rules as needed for certain issues. The implementation of the system expands the library of Coq resources on geometric algebra, which will become a signiﬁcant research foundation for the ﬁelds of geometric algebra, computer science, mathematics education, and other related ﬁelds.


Introduction
The proof of geometric theorems is one of mathematics' fundamental and most challenging tasks. In recent years, reasoning and proof have gradually moved away from the traditional paper-and-pencil model. The higher thinking activities of the human brain can be mechanized, and machines can perform tedious and complex verification. Machine proofs of geometric theorems have also played an important role in mathematical research and intelligence education, with a wide range of variations and applications. Early work on machine proofs of geometric theorems was represented by Wu's method [1] as an algebraic proof method. Algebraic methods other than Wu's method include the Gröbner basis method [2] and the numerical parallelism method [3], etc. In order to support automation, these methods often have different degrees of limitations, and the polynomial transformations that transform the reasoning of geometric problems into algebra [4] also lose the geometric meaning of the proof process, which greatly reduces the readability. Subsequently, database-based search methods have also made great progress and search methods can produce traditional mathematical proofs and discover new theorems, and these are considered to be the first choice for intelligent educational software development [5]. However, the search method is not a complete method and still suffers from difficulties in composition and a lack of auxiliary quantities in reasoning, which represent major limitations.
For the proof of geometric theorems, the number of terms that need to be expressed using coordinate-based algebraic methods is often large, so there are various problems, such as high computational complexity and difficulty in understanding complex geometric propositions. The geometric algebraic method is a method that can directly calculate geometric objects (such as points, lines, etc.) as terms, which has the characteristics of a simple expression and strong geometric meaning, so the method of geometric theorem proof based on geometric algebraic principles can overcome the above difficulties to a certain extent. In particular, the advanced invariant methods of geometric algebraic methods significantly reduce the number of terms that need to be used using coordinate-based algebraic methods, but strong expertise is also required to read the proofs [6]. In addition, the combination of physics and mathematics, prime geometry, has obvious geometric significance and advances the development of geometric algebra. In 2018, Zhang proposed an intuitive new geometric algebraic system called "point geometry", which has a simple theoretical system, easy-to-understand laws and properties, and geometric algebraic methods such as prime geometry, the coordinate method, and the vector method [7,8]. For example, the proof of the triangle median theorem can be completed with only one line of proof, as in Example 1.
Example 1 (The triangle median theorem). As shown in Figure 1, the three midlines AM, BN, CP of triangle ABC intersect to a point. To prove this, we assume point A is the origin O, and we let point G be the intersection of midline BN and midline CP. Firstly, given that B = 2P and C = 2N, it follows that 2M = B + C = 2P + C = 2N + B = 3G. Then, we can conclude that point G is on the line AM and that 3AG = 2AM. Theorem proving is a powerful technique in computer science and mathematics that expresses and verifies systems in a machine-readable form, providing significant advantages in terms of correctness and precision, particularly for complex problems. Theorem proving can reduce errors and tedious reasoning processes and provides mathematicians and computer scientists with a more intuitive and reliable means of verification, playing a crucial role in computer science and mathematics [9][10][11][12]. However, for sufficiently complex problems, complete automation is often challenging, and for complicated proof procedures, relying solely on pen and paper is no longer reliable. Therefore, interactive theorem proving has become a more reliable and efficient means of proof. There are many advanced interactive theorem provers available, such as Coq [13,14], Isabelle [15], HOL [16], etc. Among them, Coq, based on the calculus of inductive constructions, is a powerful theorem prover with strong expressive power, covering multiple domains, including program verification and mathematical theorem proving. It provides an efficient, reliable, and automated proof environment. In the field of computer science, Coq has been widely used for program verification, language design, formal semantics, security protocol analysis, program repair, and many other applications, as documented in various research studies [17][18][19][20][21]. Coq is also widely used in mathematics to formalize [22,23] and verify theorems and lemmas. A comparative study by Narboux et al. [24] in 2022 explored traditional pencil-and-paper proofs versus formal proof methods in high school geometry, revealing potential challenges in formalization due to different formulas and proofs. Fortunately, however, recent research has shown that Coq's advantages in terms of verifiability and interactivity have made it widely adopted for the verification of mathematical theorems. Notably, Boldo et al. [25] fully formalized the Beppo Levi theorem and Fatou's lemma using the Coq proof assistant in 2021. Additionally, Fu et al. [26] proposed a Coq-based formalization of infinitesimal calculus, utilizing it to formally verify important results such as the Newton-Leibniz formula and Taylor's theorem. Coq has also been employed to formalize various other mathemat-ical theorems, including the topology space relation model [27], Tonelli's theorem [28], and so on. In the field of automated theorem proving for geometry, the geometry library of Coq provides a rich set of geometric concepts and theorems, covering areas such as Euclidean geometry, non-Euclidean geometry, and vector spaces, offering strong support for the automated proving of geometric theorems, as well as new possibilities for teaching and research in geometry. For instance, Julien Narboux et al. used Coq to implement the process of the area method and proposed GeoCoq, a formalized geometry theory based on the Tarski axiom system [29][30][31][32]. Furthermore, Pedro Quaresma et al. proposed a new readability criterion for formal proofs produced by automated theorem provers for geometry, inspired by their modernization of Lemoine's Geometrography, to enhance the readability of automated proofs in geometry [33]. These works have not only promoted the development of geometry but also demonstrated the importance of interactive proofs in automated theorem proving for geometry.
Our work presents a formal description and verification of a new algebraic system for point geometry using the Coq theorem prover. The result is a reliable, versatile, and extensible machine proof system for point geometry called PointGeo. The paper is divided into three main parts. The first part provides the formalization and verification of the knowledge base of point geometry, allowing geometric theorems, properties, and problems to be expressed in the Coq language and verified by the Coq kernel to ensure the validity of every step (Sections 2 and 3). The second part describes the design of the automatic proof tactics in the system. The third part discusses the overall structure and proof methods of PointGeo (Section 4).

The Formal Description of Definitions
The theory of point geometry provides a more straightforward notation and advanced logic that permits direct operations on geometric points as objects. This makes it easier to solve geometric issues and provides richer geometric meaning. However, due to the complexity of geometry, it is challenging to develop a complete algorithm to solve all geometry problems automatically. For this reason, it is crucial to develop an interactive and scalable system to solve geometric problems. In this section, we will first introduce the formal description of definitions in point geometry that the Coq kernel can understand.

Type and Proof
In Coq, every item has a type, and each type is also an item. There are many different types-for example, atomic types such as the natural number type nat, the integer type Z, and the real number type R, and arrow types such as A → B. An arrow type can also be expressed as the type of a function. If the type of a function f is A → B, i.e., f: A → B, then f maps any variable of type A to a value of type B. In addition, the type operator can also construct a binary group (a, b) of type A × B, where a is of type A and b is of type B.
The description of a geometric problem includes the hypotheses and the conclusion, and its initial proof state is formed as E p , Γ ? g. E p denotes the point geometry theoretical environment of PointGeo. Γ is the context, a sequence of statements such as [x 1 : T 1 ; x 2 : T 2 ; · · · ; x n : T n ], which generally includes all hypotheses of the geometric proposition. g denotes the conclusion. The proof of the geometric problem needs to be advanced by applying the tactics interactively, and the process of proof may generate multiple subgoals g i . The proof is completed if all the goals are proven, i.e., g i = [].
In fact, CIC is a higher-order typed lambda calculus with natural support for inductive data types based on the Curry-Howard isomorphism, which ties lambda-term-type inference to natural deductive proofs in complete intuitionistic predicate logic. In other words, judgment is type reasoning. Specifically, intuitionism holds that a logical judgment is valid if and only if the constructing subject can verify it. This corresponds to what is represented in Coq: if t exists such that E, Γ t : g, then t is said to be a proof of g, where t is a lambda term of type g . In other words, the proof of g is to build a lambda item of type g. This is consistent with geometric algebra concepts such as Wu's method and the identity-based method for point geometry. The main idea is that if the conclusion polynomial can be constructed from the conditional polynomial, then the conclusion is proven. However, the identity-based method is incomplete for more sophisticated constraints, such as those of higher order or with quantifiers. Fortunately, PointGeo's platform, Coq, supports dependent types, which means that there is sufficient descriptive power here to describe geometric problems or rules and implement proofs of these problems.

Basic Definition of Point Geometry and Its Formal Description
To precisely describe points in point geometry theory, they are uniquely specified here by pairs of real number information regarding the point's position, where Point is the type of point; Set is the type of Point. R_R_to_point is a function that maps pairs of real numbers to points. "( _ , _) " is the Coq notion of R_R_to_point, i.e., if r 1 , r 2 belong to R, then (r 1 , r 2 ) is a point. Specifically, the origin O is described as R_R_to_point(0, 0), i.e., O = (0, 0). In addition, functions Px and Py are designed to extract the first and second components of the point, respectively, and they indicate that if P = (r 1 , r 2 ), then Px(P) = r 1 , Py(P) = r 2 ; in other words, for any point P, we have P = (Px(P), Py(P)).
The basic operations of point geometry depend on the choice of the origin. The relationship between the coordinates of the points relative to the origin represents the relationship between the points. The definition of addition and scalar multiplication in point geometry is as follows.

Definition 1 (Addition of points). If
, then the addition of A and B is C, which is denoted by A + B = C. Definition 2 (Scalar multiplication). If A = (x, y), B = (λx, λy), then the scalar multiplication of A is denoted by B = λA.
Corresponding to the addition and scalar multiplication of points in PointGeo are the binary functions Pplus and Pmults: Pplus((p 1 : Point), (p 2 : Point)) ((Px(p 1 ) + Px(p 2 )), (Py(p 1 ) + Py(p 2 ))) Pmults(λ : R), (p : Point) ((λ * Px(p)), (λ * Py(p))) Pplus and Pmults are defined by applying the addition and multiplication operations, respectively, to the position coordinates of the point, Px and Py, through the R_R_to_Point function. In the scope of points, the function symbols for the addition and scalar multiplication of points are '+' and ' * ', respectively, written 'p 1 + p 2 ' and 'λ * p', where p, p 1 , and p 2 are of type Point and λ is of type R. The addition and scalar multiplication of points inherit the relevant laws of the real numbers, such as the law of union and distribution, and these laws have been verified in Coq. The source code of basic rules is given in the file Basics.v (the components of this work will be discussed in Section 5). In addition, the source code for this work can be obtained from https://github.com/RanranL/Pointgeo (accessed on 6 May 2023).
Additionally, the monomial function Pneg, defined as 'If P = (x, y), then Pneg(P) = (−x, −y)', represents the point's negative form. Based on the Pneg, the subtraction of points is defined as follows: The function symbol for Pminus is '−', written 'p 1 − p 2 '. For instance, for points p 1 and p 2 , the expression 'p 1 − p 2 ' can be considered equivalent to 'p 1 + (−p 2 )'. In vector in point geometry. It follows that vector geometry and point geometry are interconvertible.
The outer product of the points is also defined by subtraction.
Definition 3 (Outer product). The outer product of the two points of the convention is AB = B − A.
The functions Vec and OutP represent vectors and two-point outer products, respectively, of type 'Point → Point → Point': The outer product of points also satisfies the law of union and distribution, and its function symbol is '×', written 'p 1 × p 2 '. Furthermore, it is clear from the definition that the outer product of two points and the subtraction of points, vectors, and points are equivalent: The outer product of three points is also the area of the triangle formed by the three points with the sign, and its intuitive geometric meaning is as follows: 'In the right-handed coordinate system, if the triangle vertices A, B, and C are in anti-clockwise order, then ABC > 0; otherwise, ABC < 0. If A, B, and C are collinear , then ABC = 0'. The outer product of three points is expressed using the ternary function 's': For addition in point geometry, not only the scalar multiplication and the outer product but also the inner product is an operation that satisfies the distributive law, which is defined as follows.
The binary function Scalarprod represents the scalar product of two points; the function symbol is '·'.
For a given point P, the square of P is defined using the scalar product of the point with itself, denoted as Scalarprod(P, P). We represent the square of point P as Pnorm_sqr(P), which is later expressed as √ P 2 for simplicity of description; Pnorm(P) means, i.e., |P|; distance(P 1 , P 2 ) means the length of the line segment P 1 P 2 . The point square, the modulus, and the length of the line segment at two points are defined formally as Pnorm_sqr(P) Scalarprod(P, P) Pnorm(P) Sqrt(Pnorm_sqr(P)) distance(P 1 , P 2 ) Sqrt(Pnorm_sqr(Pminus(P 2 , P 1 ))) One innovative approach to solving difficulties with angles is to multiply points with complex numbers; the definition of the multiplication of complex and point is as follows.
Definition 6 (Multiplication of complex and point). If A = (x, y) in the Cartesian coordinate system and the complex α = u + vi, then define αA = uA + i(uA).
For a complex number, z = u + iv, where '+i' is a binary function of type R → R → C. Similar to Px and Py, there is Cre(z) = u and Cim(z) = v. CPmult denotes the complex number multiplied by a point:

Formal Description and Proof of Geometric Propositions
This section will give a brief introduction to the proof model. We start by describing the geometric construction, a set of geometric predicates used to describe a geometric proposition.We then continue with a group of rules for proofs and finally show how to complete a proof for a geometric proposition.

Geometric Predicates
Geometric objects come first, followed by the relationships between them. Geometric predicates are intuitive predicates used to express static relations. Complex geometries are often constructed from simple geometries, and in order to describe geometric propositions, this subsection describes the construction of the main geometric predicates in point geometry.
Starting from the collinearity of three points, if there exists a real number λ such that − − → P 1 P 2 = λ − − → P 1 P 3 , then, in vector geometry, it can be concluded that the three points P 1 , P 2 , and P 3 are collinear, so the formal representation of vector collinearity is Vcollin.
Since Vec(P 1 , P 2 ) is equivalent to Pminus(P 2 , P 1 ), the collinear formalism of three points in point geometry is described as collin.
Note that if P 1 is the origin O, then clearly O, P 2 , and P 3 are collinear if and only if there exists a λ with P 2 = λ * P 3 .
If two lines AB and CD intersect, as long as there is the equation u + v = r + s such that uP 1 + vP 2 = rP 3 + sP 4 , there is P F , P G satisfying (u + v)P F = uP 1 + vP 2 = rP 3 + sP 4 = (r + s)P G . In fact, it is easy to see from the above linear combination of two points that as long as u + v = r + s = 0, the points P F and P G are on the lines P 1 P 2 and P 3 P 4 , which also implies P F = P G . Therefore, P F (P G ) is the intersection point of P 1 P 2 and P 3 P 4 . In conclusion, the information of the intersection point P F of two lines can be derived from the linear combination of four points, such as 'P F = (u/(u + v))P 1 + (v/(u + v))P 2 '. Xcollin is a geometric predicate describing the intersection point of two lines.
Consider the geometric meaning of the point geometry equation P 1 + P 2 = λP 3 when λ = 1, 2, 3 as P 1 OP 2 P 3 as a parallelogram, P 3 as the midpoint of P 1 P 2 , and P 3 as the center of gravity of triangle OP 1 P 2 , respectively; then, the parallelogram (Parall), the midpoint (Midpoint), and the center of gravity of triangle (Ptr_median) can be constructed.
Predicate 5 (Midpoint). P 1 + P 2 = 2 * P 3 . Predicate 6 (Tra_median). 3 * P G = P 1 + P 2 + P 3 . Now, we can specify the geometric proposition that we wish to verify using geometric predicates. Geometric figures and propositions contain a great deal of information, so it is only necessary to add the relevant information to the context. The relevant hypothesis and conclusion in Example 1 are shown as follows.
• Hypothesis: Point P is midpoint of segment AB. The conclusion in Example 1 is equivalent to proving that the points A, G, and M are collinear , i.e., they satisfy the 'collin (A, G, M)' relation. The description of Example 1 is as follows.

Rules and Proof Mode
Thus far, we have seen how to describe geometric propositions in Coq based on the definition of point geometry and geometric predicates. However, this is insufficient to prove a geometric proposition. Additional reliable proof rules and proof tactics are required. We will show how to prove a geometric proposition after giving some typical rules.

Rules
Let us first consider the rule Peq for determining the equality of two points.
The Peq rule, which expands the equality in point geometry to the equality of the corresponding real coordinates, is used to verify the validity of fundamental rules. Take the verification of the exchange law of the addition of points (Rule 2) as an example.
Furthermore, the origin in point geometry is a rather particular point, and there are several rules about the origin that are easily verified by Peq's rule.
With the basic rules of point geometry as a basis, some more complex geometric propositions can be proven directly based on points, without expanding the coordinates of the points. For example, the co-side theorem, expressed by the product of three points, bridges point geometry and the area method by converting the ratio of triangle areas into the ratio of sides. A variation of the co-side theorem is offered here to simplify the demonstration of the pertinent geometric propositions.

Rule 3 (CommonEdg).
If F is the intersection of lines AB and CD and F = B, then we have |ACD| |BCD| = |AF| |BF| .

Proof of Rule 3.
If F is the intersection of lines AB and CD, and F = B, then for all u, v, r, s, as long as u + v = r + s, we have (u + v)F = uA + vB = rC + sD. We also have the equation uACD + vBCD = 0 when we use CD as the outer product. Furthermore, since (u + v)F = uA + vB, it follows that u(F − A) + v(F − B) = 0. Therefore, we can conclude that |ACD| |BCD| = |AF| |BF| based on the previous deductions.
Other laws, such as the laws of addition, scalar multiplication, outer products, the complex multiplication of points, and the logical relationships between geometric predicates, are already established in Coq. Moreover, the user may add rules as needed, and when the rules are verified in point geometry theory, they can be used to prove more geometric propositions.

Proof Mode
This part aims to elaborate on a proof mode for a geometric proposition, which can be accomplished by interacting with tactics. The reliability of this proof process is guaranteed by Coq, an interactive proof assistant tool whose kernel ensures the correctness of tactics. To assist with the development of proofs, Coq offers a robust decision process and a library of automated proof tactics. Several proof tactics commonly used in interactive proof development are listed below.  The area above the dashed line represents the context Γ, where Γ = [] at this point, and the area below the dashed line represents the geometric proposition to be proven. Firstly, with the exception of the conclusion 'collin A G M', which remains to be proven, all other statements will be introduced into the context through the tactic 'intros'. The left-hand side of the proof state presented below is the result of using the 'intros', and this state is the initial proof state. Then, with the following tactics, the geometric predicate will be expanded, and the origin will be eliminated according to the following rules.
The proof state enters the geometric-algebraic state, as in the right-hand side of the proof state presented below. The current goal is to introduce a term of G as a proof according to the context. From the geometric proposition, it is clear that point G is the intersection of the lines NB and PC. However, there is no expression in the context that directly expresses the relationship between G and M. It is necessary to establish the equidistant relationships among points N, B, P, and C in order to deduce the expression for point G based on H 3 . From assumptions H 0 , H 1 , and H 2 , we know that N, B, P, and C satisfy the equation HX : 2N + B = 2P + C. The addition of this equation is performed by the tactic assert below.
assert HX: 2 * N +1 * B = 2 * P + 1 * C). { rewrite <-H1, H0. Psolver. } The content in "{ }" is proof of HX, and the tactic 'Psolver' is a decision procedure that can solve linear arithmetic problems with points, which will be introduced in detail in Section 4. From HX and H 3 , we know that 3G = 2P + C, and from H 0 and H 2 , we know that B + C = 2M, so it is easy to determine that m = 2/3; the conclusion can be proven, and this part of the proof is realized by the following tactics. apply H3 in HX; auto. exists (2/3); Psolver.
The preceding proof is similar to a step-by-step proof and is hence time-consuming. In the next part, we will introduce numerous automatic tactics to make proofs easier.

Proof Tactics
The previous sections focused on the formal description and verification of point geometry theory, including definitions, geometric predicates, rules, and proof models for geometric propositions. We can also design automatic solving and programmable tactics to prove specific types of complicated geometric problems. This section details the functions and methods of several essential geometric proof tactics.

Origin
In point geometry, any point can be chosen as the origin, and the geometric relations between points can be constructed with reference to the origin, which is the cleverness of point geometry. For example, Parall(P 1 P 2 P 3 P 4 ) means parallelogram P 1 P 2 P 3 P 4 , which means that wherever the origin is, as long as the four points P 1 , P 2 , P 3 , and P 4 satisfy P 1 + P 2 = P 3 + P 4 , it means that the quadrilateral P 1 P 2 P 3 P 4 is a parallelogram. In particular, if P 1 is taken as the origin, then P 2 = P 3 + P 4 . The flexibility in the choice of origin makes the point geometry solution process more concise.
For a geometric proposition, once the origin is determined, all points set as the origin in this proposition can be eliminated by the six rules about the origin in Section 3.2.1.

Example 2.
Below is an example of origin elimination.

Method of Eliminating the Origin
OELIM is a tactic that automates a process similarly to the elimination of the origin in Example 2. If the current proof state is st, OELIM unfolds the geometric predicate's definition, introduces the conditions and assumptions into the context, and then eliminates the origin. The proof state after the elimination of the origin by the OELIM tactic is denoted as st eO . The method is as in Algorithm 1. If the current proof state is denoted as st, with Γ as the current context and the geometric proposition P : ∀(v 1 : T 1 )(v 2 : T 2 ) · · · (v n : T n ), (H p 1 → H p 2 → · · · → H p m+1 ) as the current goal, then the current state is denoted as

Algorithm 1 OELIM
where H p m+1 is the proof goal g of the geometric proposition. First, let H p i denote the point geometric algebraic state of each H p i after unfolding the geometric predicate, where H p m+1 denotes the point geometric algebraic form g of conclusion g; then, step 1 unfolds the geometric predicate by applying the 'unfold' and introduces the hypothesis into the context by using the 'intros', so that the proof state becomes It is easy to see that the origin of all terms in the algebraic state of st eO has been eliminated. OELIM uses tactics such as intros, un f old, and rewrite to introduce the hypothesis into the context, expand the geometric predicate, and apply the origin-related rules to replace the eliminated origin so that the proof of the topic enters the simplified algebraic state, i.e., st =⇒ st eO .

Linear Point Geometry Decision Procedures Based on Real Numbers
Positivstellensatz generalizes Hilbert's zero theorems for a finite set S of polynomials, and it searches for the refutation of Cone(S) to prove a nonlinear arithmetic problem [34]. PSOLVER is a tactic used to solve point geometry problems using a Positivstellensatz-based decision procedure on linear algebra over the field of real and rational numbers, where the transformation of real numbers to points is implemented by Peq (Rule 1).
The method of PSOLVER is implemented by Algorithm 2. Firstly, the method unfolds all not (¬) in the current state, and its resultant state is represented by UF not (st). Then, PFACTOR initiates the recursive expansion of the formula structure. Firstly, if the goal to be proven, g, has the pattern '(_ → _)', the 'intros' tactic is used to introduce a new declaration into the context, resulting in a new proof state denoted as 'Intro(st)' in this context. Let APPLPeq(st) denote the application of the Peq rule to expand all point geometric equalities in the proof state st. Therefore, the new proof state obtained by applying the Peq rule to the current state is 'APPLPeq(Intro(st))'. For the context Γ in the current proof state, for all declarations with type pattern '(_ ∧ _)', '(_ ∨ _)' or '(_ ↔ _)' that need to be discussed on a case-by-case basis, the method uses the destruct tactic , such that id ∼ denotes the new sequence of declarations generated after applying the destruct tactic. The state obtained by applying the Peq rule is represented as APPL Peq (Intro(st)). In the same way, the problem is solved by deconstructing and transforming the goal to be proven with patterns '(_ ↔ _)', '(_ ∧ _)' and '(_ ∨ _)', and the proof state obtained is a real algebraic state. for each id that Γ id : Point or id : (_ ∧ _)or id : (_ ∨ _)or (_ ↔ _) do 8:

A Proof Method for a Hilbert Intersection Problem
One of the proofs of Example 1 mentioned in Section 3 is tedious. In fact, PointGeo can use only one tactic, HilbertX, to complete the proof and return the solution process. Designing automatic proof tactics such as this can enhance the readability of machine proofs and improve the efficiency in solving them.

Framework of HILBERTX
HILBERTX is an incomplete Hilbert intersection class proof method as in Algorithm 3. For a Hilbert intersection class problem P, the HILBERTX tactic deduces the hidden intersection information and returns the solution process information to efficiently assist in solving the geometric problem. The proof method of the HILBERTX tactic is shown in Figure 2.
HILBERTX solves the problem with intersections and returns the solution information, which is output on lines 1 and 8, respectively. The tactic accepts four optional parameters, a, b, c, and d. The four parameters are entered if and only if there are two intersections in the problem. For a geometric proposition, OELIM is first invoked to eliminate the origin and transform the proof state into a geometric algebraic state. Then, the hidden information term is obtained by HILXCOL_K (Section 4.3.2) and automatically solved by the point geometric linear arithmetic decision process. If the geometric proposition is not solved, the st eO proof state is retained.

Generation of Intersection Information Items
If the line AB intersects the line CD, then their intersection K is unique and fixed, and the Xcollin rule can be obtained from the algebraic relations of A, B, C, and D to their algebraic relations with K, i.e., the information term term k of the intersection K of AB and CD. The algebraic relation of the four points here means finding a set of values of u, v, r, and s such that u + v = r + s → u * A + v * B = r * C + s * D holds and the information term term k is the equation (r + s)K = r * C + s * D or (u + v)K = u * A + v * B obtained by Xcollin.

Step-by-Step Proof and Proof by Tactic
Since Example 3 is a Hilbert intersection class problem, HilbertX can prove this proposition. The proposition description, proof, and proof process information of Example 3 are as follows. The proof of Example 1 mentioned in Section 3.2.2 is tedious and is equivalent to a step-by-step proof. In fact, it is also a Hilbert intersection class problem, which can be proven using only one tactic, HilbertX, which can also return information about the solution process. Table 1 compares the code lengths of the step-by-step proof and the tactic proof for Example 1 and Example 3, and it is clear that the number of proof lines required for the step-by-step proof using the rule is 14, while the tactic requires only one line, which is more convenient and faster. Table 1. The number of proof lines required for a step-by-step proof using the rule is 14, and the proof can be completed in only one line using the tactic, which also returns information about the solution process. Consider the comparison of the lengths of the step-by-step proofs and the tactic proofs for the two proof topics, as shown in the following table.

Proof System
We propose a point geometric machine proof system, PointGeo, which is capable of integrating multiple geometric-theorem-proving methods and allowing users to add content as needed. Based on a verified point-based geometric theory framework, PointGeo can prove any solvable geometric proposition in point geometry. The design of this system aims to provide an efficient and accurate method of proof, and it provides a new tool and perspective for research in the field of point geometry.

Structure of the System
PointGeo consists of five main parts, namely basic definitions, fundamental properties, and common rules of point geometry; geometric predicates; proof tactics; and propositional proofs, which are distributed as shown in Table 2.

Proof Method
PointGeo is a scalable proof system that accepts a variety of methods. It is possible to prove geometric propositions based on the basic theory of point geometry, such as Hilbert-intersection-like problems and geometric problems on angular rotations, similar to Morley's theorem.
Example 4 (Morley's theorem). In ∆ABC, let P, Q, and R be the intersection points of the trisection of two angles of the triangle. Then, triangle ∆PQR is an equilateral triangle.
In order to prove the conclusion of Morley's Theorem, which states that e iπ 3 (Q − P) = R − P, we can introduce the notation e iπ 3 = ω. The objective is then to demonstrate that ωQ − R = ω 2 P. The description of Morley's theorem is presented as follows, and its proof is also completed in PointGeo.
Theorem Morley : The definition of the outer product of three points in point geometry theory relates the area to the points. This leads to the co-side theorem, an essential theorem in the area method, in point geometry theory. Therefore, PointGeo supports the use of the area method to prove geometric propositions. Solving geometric propositions using the area method has higher readability and can avoid complex parameters. This feature is well illustrated in the proof of Pappus's theorem, as shown in Example 5.
Example 5 (Pappus' theorem). Let points A, B, and C be collinear; D, E, and F be collinear; the lines AE and BD intersect at P; AF and CD intersect at Q; and CE and BF intersect at R. Then, P, Q, and R are collinear, as in Figure 3.
The CommEdg rule derived from the properties of the outer product provides a proof rule for the area-based proof of Pappus's theorem. For example, as shown in Figure 3b, if RC and EQ intersect at point E, i.e., if the condition Xcollin(R C E Q) is satisfied, then applying the CommEdg rule yields the equation Similarly, the new problem-solving information for (c)~(n) in Figure 3 can be inferred through CommEdg. The formal description and a more detailed formal proof of the Pappus theorem have been completed in PointGeo. Propositional descriptions and proofs based on point geometry theory can also be converted into vectors and proven using the vector method. However, the rules related to vectors are not yet complete. Fortunately, it can be solved quickly by the PSOLVER using the real-related decision process.

Conclusions
We formalized and verified the new algebraic geometry system, point geometry, and constructed an interactive geometry-theorem-proving system based on point geometry theory. The system guarantees the reliability of proofs and supports user-generated content with scalability. Moreover, we designed automatic proof tactics to enhance the automation level of interactive proof and enabled the automatic presentation of the proof process by recording the proof status, providing readability. The system also supports multiple geometric-theorem-proving methods. Our next step is to improve various automatic proof methods in PointGeo, such as the point elimination algorithm based on the area method, to make the system more versatile, efficient, and readable.

Data Availability Statement:
No new data were created or analyzed in this study. Data sharing is not applicable to this article.