Next Article in Journal
Towards Higher-Order Zeroing Neural Networks for Calculating Quaternion Matrix Inverse with Application to Robotic Motion Tracking
Previous Article in Journal
Application of STEM Technologies on the Example of the Problem of a Thread with a Load
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Machine Proof System of Point Geometry Based on Coq

1
Institute of Computing Science and Technology, Guangzhou University, Guangzhou 510006, China
2
School of Mathematics, Liaoning Normal University, Dalian 116029, China
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(12), 2757; https://doi.org/10.3390/math11122757
Submission received: 27 May 2023 / Revised: 14 June 2023 / Accepted: 16 June 2023 / Published: 18 June 2023
(This article belongs to the Section Mathematics and Computer Science)

Abstract

:
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 simplifies 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 verification 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 significant research foundation for the fields of geometric algebra, computer science, mathematics education, and other related fields.

1. 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 A M , B N , C P of triangle A B C 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 B N and midline C P . Firstly, given that B = 2 P and C = 2 N , it follows that 2 M = B + C = 2 P + C = 2 N + B = 3 G . Then, we can conclude that point G is on the line A M and that 3 A G = 2 A M .
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 mathematical 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 (Section 2 and Section 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).

2. 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.

2.1. 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 n a t , 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.

2.2. 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,
P o i n t S e t R × R R _ R _ t o _ P o i n t : R R P o i n t r 1 , r 2 : P o i n t ,
where P o i n t is the type of point; S e t is the type of P o i n t . R _ R _ t o _ p o i n t is a function that maps pairs of real numbers to points. “( _ , _) ” is the Coq notion of R _ R _ t o _ p o i n t , 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 _ t o _ p o i n t ( 0 , 0 ) , i.e., O = ( 0 , 0 ) . In addition, functions P x and P y are designed to extract the first and second components of the point, respectively, and they indicate that if P = ( r 1 , r 2 ) , then P x ( P ) = r 1 , P y ( P ) = r 2 ; in other words, for any point P, we have P = ( P x ( P ) , P y ( 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 A = ( x A , y A ) , B = ( x B , y B ) , and C = ( x A + x B , x A + y B ) , 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:
P p l u s ( ( p 1 : P o i n t ) , ( p 2 : P o i n t ) ) P x p 1 + P x p 2 , P y p 1 + P y p 2 P m u l t s ( λ : R ) , ( p : P o i n t ) ( ( λ P x ( p ) ) , ( λ P y ( p ) ) )
P p l u s and P m u l t s are defined by applying the addition and multiplication operations, respectively, to the position coordinates of the point, P x and P y , 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 P o i n t 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 P n e g ( P ) = ( x , y ) ’, represents the point’s negative form. Based on the Pneg, the subtraction of points is defined as follows:
P m i n u s ( P 1 , P 2 ) P p l u s ( ( P 1 ) , P n e g ( P 2 ) )
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 geometry, A B is equivalent to O B O A , where O is the origin, O B is equivalent to B in point geometry, and O A is equal to point A in point geometry, so vector A B is equivalent to ‘ B A ’ 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 A B = B A .
The functions Vec and OutP represent vectors and two-point outer products, respectively, of type ‘ P o i n t P o i n t P o i n t ’:
V e c ( P 1 , P 2 ) P m i n u s ( P 2 , P 1 ) O u t P ( P 1 , P 2 ) P m i n u s ( P 2 , P 1 )
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:
P m i n u s ( P 1 , P 2 ) V e c ( P 2 , P 1 ) O u t ( P 2 , P 1 )
Definition 4
(Outer product of three points). If A = x A , y A , B = x B , y B , C = x C , y C , then A B C = x A y B + x B y C + x C y A x A y C x B y A x C y B .
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 A B C > 0 ; otherwise, A B C < 0 . If A, B, and C are collinear, then A B C = 0 ’. The outer product of three points is expressed using the ternary function ‘s’:
s p 1 : P o i n t ) p 2 : P o i n t ) p 3 : P o i n t ) R P x p 1 P y p 2 + P x p 2 P y p 3 + P x p 3 P y p 1 P x p 1 P y p 3 P x p 2 P y p 1 P x p 3 P y p 2
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.
Definition 5
(Scalar product). If A = ( x , y ) , B = ( u , v ) then A · B = u x + v y .
The binary function Scalarprod represents the scalar product of two points; the function symbol is ‘·’.
S c a l a r p r o d p 1 : P o i n t ) , p 2 : P o i n t ) R P x p 1 P x p 2 + P y p 1 P y p 2
For a given point P, the square of P is defined using the scalar product of the point with itself, denoted as S c a l a r p r o d ( P , P ) . We represent the square of point P as P n o r m _ s q r ( P ) , which is later expressed as P 2 for simplicity of description; P n o r m ( P ) means, i.e., | P | ; d i s t a n c e ( 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
P n o r m _ s q r ( P ) S c a l a r p r o d ( P , P )
P n o r m ( P ) S q r t ( P n o r m _ s q r ( P ) )
d i s t a n c e ( P 1 , P 2 ) S q r t ( P n o r m _ s q r ( P m i n u s ( 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 + v i , then define α A = u A + i ( u A ) .
For a complex number, z = u + i v , where ‘ + i ’ is a binary function of type R R C . Similar to P x and P y , there is C r e ( z ) = u and C i m ( z ) = v . CPmult denotes the complex number multiplied by a point:
C P m u l t ( z , p ) ( ( C r e ( z ) P x ( p ) C i m ( z ) P x ( y ) ) , ( C r e ( z ) P y ( p ) + C i m ( z ) P x ( y ) ) )

3. 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.

3.1. 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 V c o l l i n .
Predicate 1
(Vcollin). λ : R , Vec P 1 , P 2 = λ Vec P 1 , P 3 .
Since V e c ( P 1 , P 2 ) is equivalent to P m i n u s ( P 2 , P 1 ) , the collinear formalism of three points in point geometry is described as c o l l i n .
Predicate 2
(Collin). λ : R , P 2 P 1 = λ P 3 P 1 .
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 A B and C D intersect, as long as there is the equation u + v = r + s such that u P 1 + v P 2 = r P 3 + s P 4 , there is P F , P G satisfying ( u + v ) P F = u P 1 + v P 2 = r P 3 + s P 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 ’. X c o l l i n is a geometric predicate describing the intersection point of two lines.
Predicate 3
(Xcollin). u + v = r + s u P 1 + v P 2 = r P 3 + s P 4 ( r + s ) P X = r P 3 + s P 4 .
Consider the geometric meaning of the point geometry equation P 1 + P 2 = λ P 3 when λ = 1 , 2 , 3 as P 1 O P 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 O P 1 P 2 , respectively; then, the parallelogram ( P a r a l l ), the midpoint ( M i d p o i n t ), and the center of gravity of triangle ( P t r _ m e d i a n ) can be constructed.
Predicate 4
(Parall). P 1 + P 3 = P 2 + P 4 .
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 A B .
  • Hypothesis: Point N is the midpoint of segment A C .
  • Hypothesis: Point M is the midpoint of segment B C .
  • Hypothesis: B N and C P intersect at point G.
  • Conclusion: Three points, A, B, and C, are collinear.
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.
Example First_exam: ∀ A B C M N P G : Point,
   A = O → Midpoint P A B → Midpoint N A C → Midpoint M B C → Xcollin
	N B P C G → collin A G M.
		

3.2. 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.

3.2.1. Rules

Let us first consider the rule P e q for determining the equality of two points.
Rule 1
(Peq). P 1 P 2 : Point , P 1 = P 2 P x P 1 = P x P 2 P y P 1 = P y P 2 .
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.
Rule 2
(Padd_comm). P 1 P 2 : Point , P 1 + P 2 = P 2 + P 1 .
Proof of Rule 2.
According to the rule Peq, proving that the equation P 1 + P 2 = P 2 + P 1 holds is equivalent to proving that P x ( P 1 + P 2 ) = P x ( P 2 + P 1 ) P y ( P 1 + P 2 ) = P y ( P 2 + P 1 ) .    □
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.
P n e g _ 0 : O = O P m u l t _ 0 : n O = O P p l u s _ 0 _ l : O + P = P
P p l u s _ 0 _ r : P + O = P P m i n u s _ 0 _ l : O P = P P m i n u s _ 0 _ r : P O = P
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 A B and C D and F B , then we have A C D B C D = A F B F .
Proof of Rule 3 
If F is the intersection of lines A B and C D , and F B , then for all u, v, r, s, as long as u + v = r + s , we have ( u + v ) F = u A + v B = r C + s D . We also have the equation u A C D + v B C D = 0 when we use C D as the outer product. Furthermore, since ( u + v ) F = u A + v B , it follows that u ( F A ) + v ( F B ) = 0 . Therefore, we can conclude that | A C D | | B C D | = | A F | | B F | 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.

3.2.2. 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.
  • intros: Adds assumptions to the current context.
  • apply H: Applies the hypothesis or rule H.
  • rewrite: A tactic for replacement.
  • unfold d e f : Used to expand the definition.
  • destruct: For discussion by the situation.
Now, consider the proof of Example 1; the state before the start of the proof is shown below.
1 goal
---------------------------------------------------------------------------
∀ A B N C P G M : Point, A = O → Midpoint P A B → Midpoint N A C →
    Midpoint M B C → Xcollin N B P C G → collin A G M.
         
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.
unfold Midpoint, Xcollin, collin in *;
rewrite H, Pplus_0_l in *;
do 2 rewrite Pminus_0_r.   
The proof state enters the geometric-algebraic state, as in the right-hand side of the proof state presented below.
 
- A, B, N, C, P, G, M: Point
- A, B, N, C, P, G, M :
- H : A = O
   Point
- H0: B = 2 * P
- H : A = O
- H1: C = 2 * N
- H0: Midpoint P A B
- H2: B + C = 2 * M
- H1: Midpoint N A C
- H3: ∀ u v r s: R, (u + v) = (r + s) → u * N
- H2: Midpoint M B C
  + v * B = r * P + s * C →  (r + s) * G = r
- H3: Xcollin N B P C G
  * P + s * C
--------------------------
-----------------------------------------------
  collin A G M
  ∃ m, G = m * M
For example, the equation corresponding to hypothesis H 0 is 2 P = A + B . Using the rewrite tactic, according to hypothesis H, replacing the origin A with O, there is 2 P = O + B . Moreover, using the Pplus_0_l rule, the rewrite tactic can replace O + B with B, yielding H 0 .
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 N B and P C . 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 H X : 2 N + B = 2 P + 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 H X and H 3 , we know that 3 G = 2 P + C , and from H 0 and H 2 , we know that B + C = 2 M , 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.

4. 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.

4.1. Oelim

4.1.1. 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, P a r a l l ( 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.
P 1 = O , P a r a l l P 1 P 2 P 3 P 4 P 2 = P 3 + P 4
1 P 1 = O P r e m i s e 2 P a r a l l P 1 P 2 P 3 P 4 P r e m i s e 3 P 1 + P 2 = P 3 + P 4 u n f o l d P a r a l l , 2 4 O + P 2 = P 3 + P 4 r e w r i t e 1 , 3 5 P 2 = P 3 + P 4 r e w r i t e P p l u s _ 0 _ l , 4

4.1.2. 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 s t , 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 s t e O . The method is as in Algorithm 1.
Algorithm 1Oelim
 
Input: Current proof state s t .
Output: Algebraic proof state s t e O
1: Expand the geometric predicate and introduce the hypothesis into the context.
2: if Γ ( H : ? P = O ) then
3:     for  each i { 1 , , m + 1 } do
m is the number of hypotheses
4:         if  P V H p i then
▹ Conclusion g is H p m + 1
5:             term H p i : = term H p i ( P / O ) ;
6:            Elim O with rules of O; return;
7:         end if
8:     end for
9: else
10:     Elim O with rules of O; return;
11: end if
 
If the current proof state is denoted as s t , 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
s t = E p , Γ ? v 1 : T 1 v 2 : T 2 v n : T n , H p 1 H p 2 H p m + 1
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
s t ˜ : E p , Γ : : [ ( v i : T i ) ] i = 1 n : : [ ( H j : H p ˜ j ) ] j = 1 m ? g ˜
If a point is given as the origin in the hypothesis, i.e., there is an item “ H : ? P = 0 ” in the context, then we use the rewrite tactic to replace all occurrences of point P in the context with point O and apply origin elimination rules to remove the origin. If not, then we apply the rule to eliminate the origin directly. At this point, if we use H p i e O to denote the hypothesis and g e O to denote the conclusion, then we have Γ e O = [ ( v i : T i ) ] i = 1 n : : [ ( H j : H p ˜ j e O ) ] j = 1 m , and the proof state after applying the Oelim tactic is as follows:
s t e O = E p , Γ : : Γ e O ? g e O
It is easy to see that the origin of all terms in the algebraic state of s t e O has been eliminated. Oelim uses tactics such as i n t r o s , u n f o l d , and r e w r i t e 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., s t s t e O .

4.2. 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 C o n e ( 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 P e q (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 n o t ( s t ) . 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 ‘ I n t r o ( s t ) ’ in this context. Let APPL P e q ( s t ) denote the application of the Peq rule to expand all point geometric equalities in the proof state s t . Therefore, the new proof state obtained by applying the Peq rule to the current state is ‘ APPL P e q ( I n t r o ( s t ) ) ’. 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 i d denotes the new sequence of declarations generated after applying the destruct tactic. The state obtained by applying the Peq rule is represented as APPL P e q ( Intro ( s t ) ) . 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.
Algorithm 2Psolver
  • Input: Current proof state s t .
  • Output: If s t = E p , Γ ? [ ] , then the goal is proven; otherwise, do nothing
1:
Procedure Pfactor ( s t )
2:
s t = UF n o t ( s t ) ;
3:
ifg in pattern of  then
4:
     s t = APPL P e q ( Intro ( s t ) ) ;
5:
    Pfactor ( s t );
6:
else
7:
    for each i d that Γ i d : P o i n t or i d : ( _ _ ) or i d : ( _ _ ) or ( _ _ )  do
8:
         i d = Destr ( i d ) ;
9:
        if g is in pattern of (_ ↔ _) or ( _ _ )  then
10:
            g i = S P ( g ) i ;
11:
            s t = A P P L P e q s t g / g i ;
12:
           Pfactor ( s t );
13:
        else if g is in pattern of ( _ _ )  then;
14:
            s t = s t ( g / LAR ( g ) ) ;
15:
           Pfactor  ( A P P L P e q ( s t ) ) ;
16:
        end if
17:
    end forreturn;
18:
end if
19:
Procedure Psolver ( s t )
20:
Psolver(Pfactor( s t ));

4.3. 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.

4.3.1. 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 s t e O proof state is retained.
Algorithm 3 Framework of HilbertX 
Input: Current proof state s t and optional parameters a b c d.
Output: “Done” if the goal is proven, s t e O otherwise
1: s t e O : = Oelim ( s t ) ;
▹ return information
2: if type of a = l t a c _ N o _ a r g  then
3:      s t P : = Psolver s t e O ;
4:     if  s t P = E p , Γ ? [ ]  then return “Done”;
5:     else return;
6:     end if
7: else
8:      s t K : = Hilxcol_K ( s t e o , a , b , c , d ) ;
9:      s t P : = P s o l v e r s t K ;
10:     if  s t P = E p , Γ ? [ ]  then return “Done”;
▹ return information
11:     else return;
12:     end if
13: end if
 

4.3.2. Generation of Intersection Information Items

If the line A B intersects the line C D , then their intersection K is unique and fixed, and the X c o l l i n 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 t e r m k of the intersection K of A B and C D . 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 t e r m k is the equation ( r + s ) K = r C + s D or u + v K = u A + v B obtained by X c o l l i n .

4.3.3. Step-by-Step Proof and Proof by Tactic

Example 3.
In parallelogram A B C D , M is the midpoint of A B and P is the intersection of A C and B D . Then, A C = 3 A P . The predicates corresponding to the conditions and conclusions are represented as follows.
  • parallelogram ABCD: P a r a l l e l A B C D .
  • M is the midpoint of AB: M i d p o i n t M A B .
  • P is the intersection of AC and BD: X c o l l i n A C M D P .
  • A C = 3 A P : V e c A C = 3 V e c A P
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.
  • Lemma Para_exam: ∀ A B C D M P : Point,
  • A=O → Parall A B C D → Midpoint M A B → Xcollin A C M D P → Vec A C = 3 * Vec A P.
  • Proof. HilbertX 2 1 2 1. Qed.
  • ------------------------------------
  • After unfolding predictions and eliminating the 0, we obtain the following hypotheses:
  • H: A = O.
  • H0: C = B + D.
  • H1: B = 2 * M.
  • H2: ∀ u v r s : R,
  • u + v = r + s → u * O + v * C = r * M + s * D → (r + s ) * P = r * M + s * D.
  • We begin to prove the goal: C = 3 * P.
  • Firstly, we construct the equation Hx: 2 * O + 1 * C = 2 * M + 1 * D.
  • By the rule of Xcollin, we obtain the equation of P: Hx: (2 + 1) * P = 2 * M + 1 * D.
  • Finally, the proposition can be proven by the algebraic operations of points. Done.
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.
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.

5. 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.

5.1. 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.

5.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 Δ A B C , let P, Q, and R be the intersection points of the trisection of two angles of the triangle. Then, triangle Δ P Q R 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:
  • ∀ (A B C’ P Q R’ : Point) (a b r : R) (w u v : C),
  • A = O → triangle0 A B C’ (3 * a) (3 * b) → triangle0 A B R’ a b → triangle0 A Q C’ a (PI - a - r) → triangle0 B C’ P b r → w = Cexp (0 +i (PI / 3) → u = Cexp (0 +i (- 2 * a) → v = Cexp (0 +i (- 2 * b) → r = (PI / 3 - a - b)  → (CPmult w Q) - R’ = CPmult (w ^ 2) P.
  • Proof.... Qed.
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 R C and E Q intersect at point E, i.e., if the condition X c o l l i n ( R C E Q ) is satisfied, then applying the CommEdg rule yields the equation R a b s ( s R E Q ) R a b s ( s C E Q ) = d i s t a n c e E R d i s t a n c e E C , i.e.,
| R E Q | | C E Q | = | R E | | C E | : X c o l l i n R C E Q E s C E Q 0 Rabs ( s REQ ) Rabs ( s C E Q ) = distance E R distance E C .
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.

6. 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.

Author Contributions

Conceptualization, Y.R. and J.J.; methodology, Y.R.; software, S.L. and H.G.; validation, S.L., Y.R. and Y.Z.; formal analysis, S.L.; investigation, Y.Z. and H.G.; resources, J.J.; data curation, S.L. and Y.R.; writing—original draft preparation, S.L.; writing—review and editing, Y.R. and J.J.; visualization, S.L.; supervision, Y.R.; project administration, Y.Z.; funding acquisition, Y.R. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (No. 62172116, 61972109) and the National Key R&D Program of China (No. 2018YFB1005100).

Data Availability Statement

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

Acknowledgments

We are grateful to the anonymous reviewers, whose comments greatly helped to improve the presentation of our research in this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gao, X.S. An introduction to Wu’s method of mechanical geometry theorem proving. In Proceedings of the IFIP TC12/WG12. 3 International Workshop on Automated Reasoning, Beijing, China, 13–16 July 1992. [Google Scholar]
  2. Deepak, K.; Sun, Y.; Wang, D.K. An efficient method for computing comprehensive Grobner base. J. Symb. Comput. 2013, 52, 124–142. [Google Scholar]
  3. Mehne, H.H.; Mirjalili, S. A parallel numerical method for solving optimal control problems based on whale optimization algorithm. Knowl.-Based Syst. 2018, 151, 59–87. [Google Scholar] [CrossRef]
  4. Plotkin, B. Universal Algebra, Algebraic Logic, and Databases; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  5. Shi, H. On the resultant formula for mechanical theorem proving. Math. Mech. Res. Prepr. 1989, 4, 77–86. [Google Scholar]
  6. Chou, S.C.B.; Gao, X.S.; Zhang, J.-Z. Automated generation of readable proofs with geometric invariants: II. theorem proving with full-angles. J. Autom. Reason. 1996, 17, 349–370. [Google Scholar] [CrossRef]
  7. Zhang, J. Outlines for point-geometry. Stud. Coll. Math. 2018, 21, 1–8. [Google Scholar]
  8. Zhang, J.; Peng, X.; Chen, M. Self-evident automated proving based on point geometry from the perspective of Wu’s method identity. J. Syst. Sci. Complex. 2019, 32, 78–94. [Google Scholar] [CrossRef]
  9. Fang, B.; Sighireanu, M.; Pu, G.G. Formal modelling of list based dynamic memory allocators. Sci. China Inf. Sci. 2018, 61, 122103. [Google Scholar] [CrossRef] [Green Version]
  10. Jiang, D.C.; Li, W. The verification of conversion algorithms between finite automata. Sci. China Inf. Sci. 2018, 61, 028101. [Google Scholar] [CrossRef] [Green Version]
  11. Liu, W.Y.; Bai, Y.J.; Jiao, L. Safety guarantee for time-delay systems with disturbances. Sci. China Inf. Sci. 2023, 66, 132102. [Google Scholar] [CrossRef]
  12. Rao, Y.; Xie, L.; Guan, H.; Li, J.; Zhou, Q. A Method for Expanding Predicates and Rules in Automated Geometry Reasoning System. Mathematics 2022, 10, 1177. [Google Scholar] [CrossRef]
  13. Castéran, P.; Bertot, Y. Interactive Theorem Proving and Program Development. coq’art: The Calculus of Inductive Constructions; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
  14. Chlipala, A. Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant; MIT Press: Cambridge, MA, USA, 2022. [Google Scholar]
  15. Nipkow, T.; Wenzel, M.; Paulson, L.C. Isabelle/HOL: A Proof Assistant for Higher-Order Logic; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  16. Harrison, J. Hol light: An overview. In Proceedings of the Theorem Proving in Higher Order Logics: 22nd International Conference, Munich, Germany, 17–20 August 2009. [Google Scholar]
  17. Wang, J.; Fu, M.; Qiao, L.; Feng, X. Formalizing sparcv8 instruction set architecture in coq. Sci. Comput. Program. 2020, 187, 102371. [Google Scholar] [CrossRef]
  18. Fervari, R.; Trucco, F.; Ziliani, B. Verification of dynamic bisimulation theorems in Coq. J. Log. Algebr. Methods Program. 2021, 120, 100642. [Google Scholar] [CrossRef]
  19. Tran, D.D.; Ogata, K. Formal verification of tls 1.2 by automatically generating proof scores. Comput. Secur. 2022, 123, 102900. [Google Scholar] [CrossRef]
  20. Barrière, A.; Blazy, S.; Pichardie, D. Formally Verified Native Code Generation in an Effectful JIT: Turning the CompCert Backend into a Formally Verified JIT Compiler. Proc. ACM Program. Lang. 2023, 7, 249–277. [Google Scholar] [CrossRef]
  21. Zúñiga, A.; Bel-Enguix, G. On Coevaluation Behavior and Equivalence. Mathematics 2022, 10, 3800. [Google Scholar] [CrossRef]
  22. Vladimir, V. An experimental library of formalized mathematics based on the univalent foundations. Math. Struct. Comput. Sci. 2015, 25, 1278–1294. [Google Scholar]
  23. Álvaro, P.; Vladimir, V.; Michael, A.W. A univalent formalization of the p-adic numbers. Math. Struct. Comput. Sci. 2015, 25, 1147–1171. [Google Scholar]
  24. Narboux, J.; Durand-Guerrier, V. Combining pencil/paper proofs and formal proofs, a challenge for Artificial Intelligence and mathematics education. In Mathematics Education in the Age of Artificial Intelligence: How Artificial Intelligence Can Serve Mathematical Human Learning; Richard, P.R., Vélez, M.P., Van, V.S., Eds.; Springer International Publishing: Cham, Switzerland, 2022; pp. 167–192. [Google Scholar]
  25. Boldo, S.; Clément, F.; Martin, V.; Mayero, M.; Mouhcine, H. A Coq Formalization of Lebesgue Induction Principle and Tonelli’s Theorem. In Proceedings of the 25th International Symposium on Formal Methods (FM 2023), Lübeck, Germany, 7–9 March 2023. [Google Scholar]
  26. Fu, Y.; Yu, W. Formalizing Calculus without Limit Theory in Coq. Mathematics 2021, 9, 1377. [Google Scholar] [CrossRef]
  27. Yan, S.; Yu, W. Formal Verification of a Topological Spatial Relations Model for Geographic Information Systems in Coq. Mathematics 2023, 11, 1079. [Google Scholar] [CrossRef]
  28. Boldo, S.; Clément, F.; Faissole, F.; Martin, V.; Mayero, M. A Coq formalization of Lebesgue integration of nonnegative functions. J. Autom. Reason. 2022, 66, 175–213. [Google Scholar] [CrossRef]
  29. Narboux, J. A decision procedure for geometry in coq. In Proceedings of the International Conference on Theorem Proving in Higher Order Logics, Park City, UT, USA, 14–17 September 2004; pp. 225–240. [Google Scholar]
  30. Beeson, M.; Narboux, J.; Wiedijk, F. TProof-checking euclid. Ann. Math. Artif. Intell. 2019, 85, 213–257. [Google Scholar] [CrossRef] [Green Version]
  31. Boutry, P.; Gries, C.; Narboux, J.; Schreck, P. Parallel postulates and continuity axioms: A mechanized study in intuitionistic logic using coq. J. Autom. Reason. 2019, 62, 1–68. [Google Scholar] [CrossRef] [Green Version]
  32. Boutry, P.; Braun, G.; Narboux, J. Formalization of the arithmetization of euclidean plane geometry and applications. J. Symb. Comput. 2019, 90, 149–168. [Google Scholar] [CrossRef] [Green Version]
  33. Quaresma, P.; Graziani, P. Measuring the Readability of Geometric Proofs: The Area Method Case. J. Autom. Reason. 2023, 67, 5. [Google Scholar] [CrossRef]
  34. Fritz, T. A generalization of Strassen’s Positivstellensatz. Commun. Algebra 2021, 49, 482–499. [Google Scholar] [CrossRef]
Figure 1. The geometric diagram of the triangle median theorem.
Figure 1. The geometric diagram of the triangle median theorem.
Mathematics 11 02757 g001
Figure 2. Flowchart of HilbertX proof method.
Figure 2. Flowchart of HilbertX proof method.
Mathematics 11 02757 g002
Figure 3. Diagram of the Pappus theorem and the splitting diagram of the ratio of the area to the sides of all the sides used in the proof. (a) A diagram illustrating Pappus’ theorem. (bn) Subgraphs derived from (a), representing the graphs associated with the common-edge theorem utilized in each proof step.
Figure 3. Diagram of the Pappus theorem and the splitting diagram of the ratio of the area to the sides of all the sides used in the proof. (a) A diagram illustrating Pappus’ theorem. (bn) Subgraphs derived from (a), representing the graphs associated with the common-edge theorem utilized in each proof step.
Mathematics 11 02757 g003
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.
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.
Geometry PropositionsProof Mode Line NumbersTactic Line Numbers
First_exam71
Para_exam141
Table 2. The content of PointGeo.
Table 2. The content of PointGeo.
PointGeoContentLine NumbersOutline
PF.vBasic definition9532
Pbasics.vProperties30467
Plemma.vRules27361
Pconstruct.vPredicates7626
PTactic.vProof tactics31641
Proj.vMachine proof1783188
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Lei, S.; Guan, H.; Jiang, J.; Zou, Y.; Rao, Y. A Machine Proof System of Point Geometry Based on Coq. Mathematics 2023, 11, 2757. https://doi.org/10.3390/math11122757

AMA Style

Lei S, Guan H, Jiang J, Zou Y, Rao Y. A Machine Proof System of Point Geometry Based on Coq. Mathematics. 2023; 11(12):2757. https://doi.org/10.3390/math11122757

Chicago/Turabian Style

Lei, Siran, Hao Guan, Jianguo Jiang, Yu Zou, and Yongsheng Rao. 2023. "A Machine Proof System of Point Geometry Based on Coq" Mathematics 11, no. 12: 2757. https://doi.org/10.3390/math11122757

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop