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 theoremprover 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 theoremprover 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 195556 [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 WenTsun 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], instancebased 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:

is a reference point

passing through is a reference line

Line passes through , angle

is a point on where

Line passes through , angle

Line passes through , angle

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

{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.
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,
(1) 
On the other hand, and are parallel to each other, their slopes are equal too. Hence we get,
(2) 
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 coordinates 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.
Our hypotheses are as follows:


lies on

is perpendicular to

=

=



lies on

lies on

is perpendicular to

lies on

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:

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

Find (exploiting the fact that is similar to the )

Find , since we know and the ratio .

Find .

Find exploiting the fact that and are similar.

Find .

Find which equals to ( and are similar)

Express

Find and using the ratio and

Find

Find

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, ^{1}^{1}1This problem is taken from the International Mathematics Olympiad 2012 http://www.imoofficial.org/problems/IMO2012SL.pdf.
Let’s rephrase the hypotheses in the following way:


and

are added by a line segment

at

lies on the extension of the line

lies on where

are added by a line segment

are added by a line segment

lies on such that

lies on such that

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:

Find

Find (exploiting the similarity between and )

Find (exploiting the similarity between and )

Find

Find

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

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

Find

Find

Find and (exploiting the similarity between triangles and ()

Find ()

Find

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:

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

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]

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

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 arclength) 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 (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:

A connected graph is formed containing the parameternodes () and the destinationnodes (),

There exists no node having no incoming edges except for the parameternodes. 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 parameternodes like , and . Therefore the process of forming the graph continues.
The algorithm is given in Algorithm 2.
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.
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.
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.
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:

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.

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.
References
 [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 problemsolver program gps22,” 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 35, 1960, western joint IREAIEEACM 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 firstorder 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 hyperlinking
strategy,”
Journal of Automated Reasoning
, vol. 9, no. 1, pp. 25–42, 1992.  [12] D. A. Plaisted and Y. Zhu, “Ordered semantic hyperlinking,” 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 realvalued 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 rewritebased 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.
Comments
There are no comments yet.