GraATP: A Graph Theoretic Approach for Automated Theorem Proving in Plane Geometry

Automated Theorem Proving (ATP) is an established branch of Artificial Intelligence. The purpose of ATP is to design a system which can automatically figure out an algorithm either to prove or disprove a mathematical claim, on the basis of a set of given premises, using a set of fundamental postulates and following the method of logical inference. In this paper, we propose GraATP, a generalized framework for automated theorem proving in plane geometry. Our proposed method translates the geometric entities into nodes of a graph and the relations between them as edges of that graph. The automated system searches for different ways to reach the conclusion for a claim via graph traversal by which the validity of the geometric theorem is examined.



There are no comments yet.


page 1

page 2

page 3

page 4


Integrating an Automated Prover for Projective Geometry as a New Tactic in the Coq Proof Assistant

Recently, we developed an automated theorem prover for projective incide...

Detecting truth on components

We investigate and generalize to an extended framework the notion of 'tr...

Evidence Algorithm and System for Automated Deduction: A Retrospective View

A research project aimed at the development of an automated theorem prov...

Proceedings of the 13th International Conference on Automated Deduction in Geometry

Automated Deduction in Geometry (ADG) is a forum to exchange ideas and v...

Mechanization of Incidence Projective Geometry in Higher Dimensions, a Combinatorial Approach

Several tools have been developed to enhance automation of theorem provi...

Generating theorem proving procedures from axioms of Truncated Predicate Calculus

We present a novel approach to the problem of automated theorem proving....

The Theorem Prover Museum -- Conserving the System Heritage of Automated Reasoning

We present the Theorem Prover Museum, and initiative to conserve -- and ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

In a geometric theorem, basically we are given a set of hypotheses which we have either to prove or disprove. Depending on these hypotheses, we figure out the whole geometric system. A list of fundamental postulates and previously proven theorems, are known. They are used to infer the related geometric facts from the given hypotheses. These derived geometric facts which have been discovered so far are used further to derive more geometric facts until the conclusion is reached about the claim of the given theorem. Alternatively, it is possible to figure out the geometric facts which must be true if the claim is to be true. To do so, one needs to use the fundamental geometric postulates and apply the process of logical inference. Consequently, the theorem-prover infers what other geometric facts are required to be true if the previously derived geometric facts are to be remained satisfied. The process is carried on until the theorem-prover discovers that the required facts for the validity of the final claim are given as the hypotheses of the theorem. An ‘intelligent thinker’ thinks in both ways to generate a particular algorithm to prove a theorem. Automated Theorem Proving (ATP) is enabling a machine (computer) to figure out an algorithm to prove a given theorem by the mechanization of the above mentioned process.

ATP has been established as a branch of Artificial Intelligence for several decades. In 1954 Martin Davis, an American Mathematician programmed Presburger’s algorithm [1]. Later Allen Newell, Herbert A. Simon and J. C. Shaw developed Logic Theory Machine around 1955-56 [2]. In 1959 they created General Problem Solver (G.P.S.) [3] which was able to solve any symbolic problem. Gelernter, J. R. Hanson and D.W. Loveland worked on geometric theorem proving implementing traditional proof method [4]. However, their method suffers difficulties of the explosion of the search space. Later Wen-Tsun Wu developed an algebraic method [5] which could prove geometric theorems more efficiently, but this method involves lots of calculations with polynomials which make the proof hardly readable. Chou, Gao and Zhang [6] developed ‘area method’ which is able to produce short and readable proofs of geometric theorems. In his paper, David A. Plaisted [7] reviewed different techniques of ATP. Among these techniques are: propositional proof procedures [8, 9], first order logic [10], clause linking [11], instance-based procedures [12], model evolution [13], modulo theories [14], unification and resolution [15] and combined systems [16, 17]. In another paper, Joran Elias [5] discussed Wu’s method on geometric theorem proving.

There are two broad categories of techniques to prove a geometric theorem. They are: Euclidean Logical Inference methods [18] and Cartesian Algebraic methods [19]. The former method uses logical inference to reach at conclusion from a set of premises. On the other hand the later method converts a given set of premises into a set of algebraic equations and then solves those equations for unknown parameters. In this paper, we propose GraATP, an ATP combining both algebraic method (Cartesian Analytical Geometry) and logical inference method (Euclidian geometry) to prove geometric theorems. Our proposed method translates the geometric entities into nodes of a graph and the relations between them as edges of that graph. The automated system searches for different ways to reach the conclusion for a claim via graph traversal by which the validity of the geometric theorem is examined.

Rest of the paper is organized as follows: first we discuss the preliminaries required to figure out a geometric structure in Section 2. We describe Cartesian analytical geometry and traditional Euclidean proof using logical inference method in Section 2.1 and Section 2.2 respectively. In Section 3, we propose our method combining these two methods to prove geometric theorems. Finally, we conclude the paper with an outline of the future work in Section 4.

2 Preliminaries

To define a geometric system, we use four elementary concepts of geometry: point, straight line, angle and circular arc. Usually, we choose a point and a line passing through the point as an initial reference. Position of a point is specified by a distance from another previously defined point along a particular straight line. Orientation of a line is specified by the angle made by it with another previously specified line and the point of intersections between the lines. A circular arc is specified by the position of its central point and it radius. For example, following steps are required to derive a parallelogram in Figure 1:

Figure 1: A geometric system of lines and points.
  1. is a reference point

  2. passing through is a reference line

  3. Line passes through , angle

  4. is a point on where

  5. Line passes through , angle

  6. Line passes through , angle

  7. is the intersection of the line and is determinable since and are specified

  8. {A} is the parallelogram

Once we able to figure out a complete geometric structure, we can explore different dimensions (lengths of the lines, angles between lines, etc) of the structure. Hence, we can test whether a certain claim is true or false knowing these dimensions.

2.1 Cartesian Method

In Cartesian method, geometry is combined with algebra. Two axes, perpendicular to each other and their point of intersection, i.e. origin, are specified. A point on a plane is specified by pair of coordinates which are the distances of the point from the origin along the axes. Curves and straight lines are specified by algebraic equations. Solving these equations unknown dimensions are worked out. Finally, facts to be proven are verified.

Figure 2: A geometric system of a parallelogram.

Let’s consider the following example from [5]. We have to prove that diagonals of a parallelogram bisect each other. Please see Figure 2. Here, the hypotheses are - i) is a parallelogram , and are diagonals, ii) is the point of intersection of and . First, we have to decompose these statements into a couple of equations.

As mentioned earlier, we have to specify the points of our interest- and each with two coordinates. Let and are denoted by and respectively. Here, and are arbitrary parameters what we have chosen. Once we choose and the coordinates of and become fixed depending on according to the hypotheses. Let us assume that coordinates of and be and . Since and are parallel to each other, their slopes are equal too. Hence we get,


On the other hand, and are parallel to each other, their slopes are equal too. Hence we get,


We can work out and in terms of and by solving Equation 1 and Equation 2. Finally, we find out the length of and by using Pythagoras theorem. If we can show, and then the theorem is proved.

2.2 Euclidean Logical Inference Method

In logical inference method, a set of axioms, previously proved theorems and hypotheses are used to discover the relationship among different entities (lengths of line segments or arcs, positions of points, amount of angles and equalities or similarities of finite regions like triangles) of a geometric structure. These relationships are used to proceed further to infer relationship among different other entities from the previously derived relationships. This process continues until the relationship between two particular entities of interest is discovered. Let’s think about the previous example: diagonals of a parallelogram bisect each other.

We have to discover the relationship between the entities (here length of two line segments): and as well as and . First of all, we will find out relations exploiting the hypotheses. Since is a parallelogram, and are opposite sides, they are parallel and equal to each other. is the common sector of and . Hence the is equal to the . Here, we used a previously discovered theorem: if a line intersects two parallel lines then the alternate angles created in the points of intersection are equal. Similarly, we find out the relationship between and . Since is a point on , angle . Similarly, . Again is a point on . Hence, and . Now in and and . Therefore, and are equal. Here, we used another previously discovered theorem: if two triangles have a side of equal length and two adjacent angles of equal amount each, then the triangles are equal. is the opposite side of the and is the opposite side of the . Since and are equal and . Similarly, . This is the desired relationship to prove the theorem. Our process of searching information on how different entities are related with each other throughout the geometric structure stops here.

3 GraATP: Our proposed ATP Framework

In the previous section, we discussed two manual approaches for geometric theorem proving. If we compare between two ways, at a first glance, Cartesian algebraic method seems complicated than the logical inference method. Algebraic method is mechanical, all we have to do is to fix the position coordinates of some particular points, discover equations of straight lines or curves appearing in the geometric structure and find out the coordinates of other points as functions of the co-ordinates of the previously fixed points. When we know all dimensions of the structure we test whether the final claim is true or false. On the other hand, Euclidean logical inference method requires more heuristic knowledge, i.e. more ‘intelligence’ to discover the hidden relationship among different entities of the structure. Prover’s skill to observe the geometric structure, and retrieve the previously discovered theorems, related to the problem, from the memory, play important role here. Moreover, whether the searching process (the process of discovering relationship among the entities) approaches towards the goal (testing the relationship which is supposed to be proven) depends on the prover’s intuition. By comparing the two methods, we can conclude that the automation of Cartesian method is easier than the logical inference method.

Here, we propose a primitive approach of finding out an algorithm to prove a geometric theorem in an automated way. There are several previously proposed ways: Wu’s method [5], Area method [6], etc. Our goal is to build up a framework of finding an algorithm that resembles the way in which we the human or intelligent theorem prover thinks to prove a theorem. Let’s discuss the previous example again in a different way. Consider the geometric system in Figure 3.

Figure 3: A geometric system of a parallelogram.

Our hypotheses are as follows:

  1. lies on

  2. is perpendicular to

  3. =

  4. =

  5. lies on

  6. lies on

  7. is perpendicular to

  8. lies on

  9. is perpendicular to

We have to show that and . Here, we get a unique geometric structure for a unique set of the parameters . Our next goal is to explore the geometric structure to express all of the dimensions (length of the segments of lines) as functions of these three parameters and . When and can be expressed as functions of and , then the process of exploration stops. If and , then the claim is proved.

A possible sequence to work out different dimensions are as follows:

  1. Find . (exploiting the fact that and lies on the extension of )

  2. Find (exploiting the fact that is similar to the )

  3. Find , since we know and the ratio .

  4. Find .

  5. Find exploiting the fact that and are similar.

  6. Find .

  7. Find which equals to ( and are similar)

  8. Express

  9. Find and using the ratio and

  10. Find

  11. Find

  12. Check whether

Here, if and are equal then the theorem is proved. In the same way we can check whether and are equal or not.

Now, we present another example, more complicated than the previous one. Please see Figure 4. Let is a triangle with and let be the foot of the altitude from . Let be a point in the interior of the segment . Let be the point on the segment , such that . Similarly, let be the point on the segment such that . Let be the point of intersection of and . We have to show that, 111This problem is taken from the International Mathematics Olympiad 2012

Figure 4: A geometric system of a triagle.

Let’s rephrase the hypotheses in the following way:

  1. and

  2. are added by a line segment

  3. at

  4. lies on the extension of the line

  5. lies on where

  6. are added by a line segment

  7. are added by a line segment

  8. lies on such that

  9. lies on such that

  10. is the point of intersection between and

Here, we get a unique geometric structure for a unique set of the parameters . Next goal is to explore the geometric structure to express all of the dimensions (length of the segments of lines) as functions of these three parameters and . When we will be able to express and in terms of then the process of exploration stops. If the two functions are equal then the claim if proved.

Our proposed method GraATP will find out a sequence of the dimensions (which need to be worked out in terms of of this geometric structure starting from to . To locate the points and we draw and perpendicular to . A possible sequence of working out the dimensions is:

  1. Find

  2. Find (exploiting the similarity between and )

  3. Find (exploiting the similarity between and )

  4. Find

  5. Find

  6. Find and (exploiting the similarity between and , and applying Pythagoras theorem in )

  7. Find and (exploiting the similarity between and , and applying Pythagoras theorem in )

  8. Find

  9. Find

  10. Find and (exploiting the similarity between triangles and ()

  11. Find ()

  12. Find

  13. Check whether

By observing the commonalities between the two above mentioned techniques we can formulate a general way to find a theorem proving algorithm as follows:

  1. Specify a set of parameters by means of which the geometric structure can uniquely be constructed

  2. Find out different dimensions of the structure by means of the predefined parameters [to do so we use basically similarity between triangles and Pythagoras theorem]

  3. Continue step 2 until the dimensions of a set of particular elements are found

  4. Check whether the claim is true

The whole process can be represented as the formation of a graph and traversing through the graph. We can represent different dimensions (length of line segment, angle and circular arc-length) and the functions of dimensions (for example, ratio of two line segments) as nodes of the graph. Using the hypotheses of the theorem, we discover the relationships among the dimensions. If we can work out the node from node then we draw a directed edge from to . In the evolutionary process of the formation of the graph, we put the nodes showing the dimensions which we choose as parameters. In the parallelogram example, these dimensions are and .

(a) (b)
(c) (d)
(e) (f)
Figure 5: Steps of the evolutionary process for the formation of the graph.

Figure 5 (a) shows the initial step. The color gray denotes the nodes that are the chosen as parameters; no other dimensions are required to know to find out their values. Hence, edges from other nodes will not be incident on them. Now, using the hypotheses we will see which dimensions are closely connected to these three dimensions and include them in the graph. Since lies on . We can find out from and . In the second step, we include another node (shown in Figure 5 (b)). Also we include two edges one from to and another from to ; and we draw them with same color (red) and label them with number 1 to indicate that the set of dimensions is required to be known to find out . A same node can be found out by knowing different sets of dimensions. In that case, we would choose different colors and labels.

In the next step, we exploit the similarity between and to discover more relations: . Therefore, we can include another node, this time a ratio of dimensions, (Figure 5 (c)). Blue edges labeled with number 2 come out from the nodes and and they are incident on the node . Next, lies on . Hence . We include nodes and . We draw two edges, one from and another one from to . They are labeled with number 3. The dimension is not a parameter and still no edges are incident on it from any other node which can be represented as a function of the parameters . That’s why we have made it lime colored (Figure 5 (d)) and put an asterix mark on it. It means that we have to discover more node(s) from which edge(s) will come out to meet and connect with the nodes which have already been discovered. In the next step, we use the fact that to decide that . Therefore, we add another node and draw an edge from to (Figure 5 (e)). Now, we can find out from and the ratio . So we draw two edges: one from to and another from to (Figure 5 (f)). The node is connected with the discovered nodes, so its color becomes white now and the asterix mark is dropped.

The process continues until:

  1. A connected graph is formed containing the parameter-nodes () and the destination-nodes (),

  2. There exists no node having no incoming edges except for the parameter-nodes. As for example in step 4 the node was included. There was no edge which is directed from other node to . Also is not one of the parameter-nodes like , and . Therefore the process of forming the graph continues.

The algorithm is given in Algorithm 2.

1 set of hypotheses set of conclusions set of dimensions create a set of unique parameters for each  do
2      create a node
3      for each  do
4           create a node
5           while  do
6                create node for the next close dimension for each that is related to  do
7                     add a directed edge or
8                     remove from
9                     if  is not connected then
10                          return null
11                          else
12                               return
Algorithm 1 GraATP (H,R)
Figure 6: The complete graph of proving the theorem on parallelogram. How the edge-relations between nodes are discovered, are also mentioned.

Figure 6 shows the complete graph to reach and from . Now we will apply standard topological ordering algorithm to find out the sequence of steps of the theorem proving algorithm. First, we will enlist the nodes having no incoming edges. They are the parameter nodes: and . Next, we delete these enlisted nodes and the edges adjacent of them as shown Figure 7.

Figure 7: First step of the topological ordering algorithm.

After that, we look for the nodes having no incoming edges in the new graph. They are and . We delete them and their adjacent edges from the graph. We proceed in this way until we reach the destination vertices and . Therefore, the topological order of the nodes is: . The topological sorting algorithm is given in Algorithm 2.

1 set of all nodes with indegree = 0 while  do
2      for each  do
5           if  then
6                return null
7                else
8                     return
Algorithm 2 Topological Ordering ()

4 Conclusion

So far we have discussed how to translate a geometric structure, which is uniquely configured by setting a set of parameters, to a graph and how to traverse through the graph to find out a sequence of steps performing which the theorem can be proven. There are several mechanical methods of proving geometric theorems which have already been proposed, e.g. Wu’s method [5], Area method [6], and so on. The purpose of this work is to resemble the way in which human thinks, perhaps when it is in the most naive way, to prove a theorem. It can be thought of as a primitive step of creating artificial thought processor. Any particular system can be thought as a geometric structure. Data which we sense by means of our sensory organs are the different ‘dimensions’. When we think we find out the relationship among different dimensions.

Figure 8: A geometric system of a parallelogram.

However, there are couples of challenges which we need to face while accomplishing an automated theorem prover in above mentioned method. They are listed below:

  1. How the automated system would recognize which particular dimensions are required to be worked out to reach the goal. There are lots of dimensions possible, which we have ignored. For example, we have completely ignored the point of intersection between and , say it is (Figure 8). More dimensions like and are included. Unless we fix some heuristic constraints search space may get enormously enlarged.

  2. How the theorem prover would extract relationships among different dimensions extracting from the hypotheses. There should be a complete mechanism to do it.

In this paper, we have discussed the overview of an automated theorem proving algorithm. While proving a theorem in Euclidian Logical inference method, the theorem prover should be skilled enough to inspect different portions of the geometric structure and to correlate them with the previously proven theorem(s), to infer useful decisions about different dimensions. It requires higher level of intelligence. At the very early stage, this is hard to accomplish. On the other hand, in Cartesian method lines and curves are represented by means of algebraic equations. It is done by following limited number of rules, hence more naive than the Euclidean method, resulting complicated calculations to solve the equations for some unknown variables. This method reduces the readability of the proof by increasing the complexity of calculations. Our proposed method assumes that the automated prover can 1) apply Pythagoras theorem and 2) apply the ratio of sides rule for similar triangles and can detect the situation where to apply them- this is an aspect of Euclidean logical inference method. A set of parameters will be defined by an expert and all other dimensions will be represented as functions of them similar to the Cartesian method. This primitive theorem prover shares aspects of both methods. More research works are required to be performed to meet the requirements mentioned above to accomplish an automated geometric theorem prover resembling humane thought process.


  • [1] M. Davis, “A computer program for presburger’s algorithm,” in Summaries of talks presented at the Summer Institute for Symbolic Logic, Cornell University, 1957, pp. 215–233.
  • [2] A. Newell and H. A. Simon, “The logic theory machine–a complex information processing system,” Information Theory, IRE Transactions on, vol. 2, no. 3, pp. 61–79, 1956.
  • [3] A. Newell, “A guide to the general problem-solver program gps-2-2,” DTIC Document, Tech. Rep., 1963.
  • [4] H. Gelernter, J. R. Hansen, and D. W. Loveland, “Empirical explorations of the geometry theorem machine,” in Papers presented at the May 3-5, 1960, western joint IRE-AIEE-ACM computer conference.   ACM, 1960, pp. 143–149.
  • [5] J. Elias, “Automated geometric theorem proving: Wu’s method,” The Montana Mathematics Enthusiast, vol. 3, no. 1, pp. 3–50, 2006.
  • [6] S.-C. Chou, X.-S. Gao, and J.-Z. Zhang, Machine proofs in geometry.   World Scientific, Singapore, 1994, vol. 237.
  • [7] D. A. Plaisted, “Automated theorem proving,” Wiley Interdisciplinary Reviews: Cognitive Science, vol. 5, no. 2, pp. 115–128, 2014.
  • [8] S. Malik and L. Zhang, “Boolean satisfiability from theoretical hardness to practical success,” Communications of the ACM, vol. 52, no. 8, pp. 76–82, 2009.
  • [9] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik, “Chaff: Engineering an efficient sat solver,” in Proceedings of the 38th annual Design Automation Conference.   ACM, 2001, pp. 530–535.
  • [10] M. Fitting, “Possible world semantics for first-order logic of proofs,” Annals of Pure and Applied Logic, vol. 165, no. 1, pp. 225–240, 2014.
  • [11] S.-J. Lee and D. A. Plaisted, “Eliminating duplication with the hyper-linking strategy,”

    Journal of Automated Reasoning

    , vol. 9, no. 1, pp. 25–42, 1992.
  • [12] D. A. Plaisted and Y. Zhu, “Ordered semantic hyper-linking,” Journal of Automated Reasoning, vol. 25, no. 3, pp. 167–217, 2000.
  • [13] P. Baumgartner, “Model evolution based theorem proving,” 2014.
  • [14] L. De Moura and N. Bjørner, “Satisfiability modulo theories: introduction and applications,” Communications of the ACM, vol. 54, no. 9, pp. 69–77, 2011.
  • [15] J.-L. Lassez and G. Plotkin, Computational logic: essays in honor of Alan Robinson.   Mit Press, 1991.
  • [16] J. P. Bridge and L. C. Paulson, “Case splitting in an automatic theorem prover for real-valued special functions,” Journal of automated reasoning, vol. 50, no. 1, pp. 99–117, 2013.
  • [17] A. Armando, M. P. Bonacina, S. Ranise, and S. Schulz, “New results on rewrite-based satisfiability procedures,” ACM Transactions on Computational Logic (TOCL), vol. 10, no. 1, p. 4, 2009.
  • [18] H. Fu, X. Zhong, Q. Li, H. Xia, and J. Li, “Geometry knowledge base learning from theorem proofs,” in Knowledge Engineering and Management.   Springer, 2014, pp. 21–33.
  • [19] M. Franova, “A cartesian methodology for an autonomous program synthesis system,” in ICONS 2014, The Ninth International Conference on Systems, 2014, pp. 22–27.