ArticlePDF Available

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

Authors:

Abstract and Figures

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.
Content may be subject to copyright.
GraATP: A Graph Theoretic Approach for Automated Theorem Proving
in Plane Geometry
Mohammad Murtaza Mahmud, Swakkhar Shatabda and Mohammad Nurul Huda
Department of Computer Science and Engineering, United International University
House # 80, Road # 8A, Dhanmondi, Dhaka-1209, Bangladesh
Email: mohammadmurtazamahmud@gmail.com, swakkhar@cse.uiu.ac.bd, mnh@cse.uiu.ac.bd
January 26, 2015
Abstract
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.
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 Presburgers algorithm [1]. Later Allen Newell, Herbert A. Simon
1
arXiv:1412.5980v1 [cs.AI] 18 Dec 2014
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
Wus 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:
1. Ais a reference point
2
Figure 1: A geometric system of lines and points.
2. EF passing through Ais a reference line
3. Line GH passes through A, angle 6F AH =x
4. Cis a point on GH where AC =b
5. Line KL passes through C, angle 6KCG =x
6. Line IJ passes through B, angle 6F BJ =x
7. Dis the intersection of the line KL and IJ is determinable since KL and IJ are specified
8. {AC, CD, DB , BA}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.
Lets consider the following example from [5]. We have to prove that diagonals of a parallelogram bi-
sect each other. Please see Figure 2. Here, the hypotheses are - i) OAC B is a parallelogram =
3
OB||AC, OA||BC,OC and AB are diagonals, ii) Dis the point of intersection of AB and OC. First,
we have to decompose these statements into a couple of equations.
As mentioned earlier, we have to specify the points of our interest- O, A, C, B and Deach with two
coordinates. Let O, A and Bare denoted by (0,0),(x, 0) and (y, z ) respectively. Here, x, y and zare
arbitrary parameters what we have chosen. Once we choose x, y and z, the coordinates of Cand Dbecome
fixed depending on (x, y, z ) according to the hypotheses. Let us assume that coordinates of Cand Dbe
(u, v) and (p, q). Since OB and AC are parallel to each other, their slopes are equal too. Hence we get,
uz zx =vy (1)
On the other hand, OA and BC are parallel to each other, their slopes are equal too. Hence we get,
v=z(2)
We can work out uand vin terms of x, y and zby solving Equation 1 and Equation 2. Finally, we
find out the length of OD, DC, BD and AD by using Pythagoras theorem. If we can show, OD =DC and
BD =AD 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): OD and
CD as well as BD and AD. First of all, we will find out relations exploiting the hypotheses. Since OACB is
a parallelogram, (OB, AC) and (OA, BC ) are opposite sides, they are parallel and equal to each other. BA
is the common sector of OB and AC. Hence the 6OBA is equal to the 6BAC. 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 6BOC and 6OC A. Since Dis a
point on AB, angle 6OBA =6OBD. Similarly, 6BAC =6DAC. Again Dis a point on OC. Hence,
6BOC =6BOD and 6OCA =6DCA. Now in 4BOD and 4ACD, OB =AC, 6OBD =6DAC and
6BOD =6ACD. Therefore, 4BOD and 4ACD 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
4
triangles are equal. OD is the opposite side of the 6OBD and CD is the opposite side of the 6CAD. Since
4BOD and 4ACD are equal and 6OBD =6CAD =OD =CD. Similarly, BD =AD. 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 provers
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: Wus 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. Lets 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. OA =x
2. Elies on OA
3. BE is perpendicular to OA 5
4. OE =y
5. EB =z
6. OB||AC
7. OA||BC
8. Dlies on AB
9. Dlies on OC
10. DF is perpendicular to OF
11. Alies on OG
12. CG is perpendicular to OG
We have to show that OD =CD and BD =DA. Here, we get a unique geometric structure for a
unique set of the parameters (x, y, z). 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 x, y and z. When
OD, C D, BD and DA can be expressed as functions of x, y and z, then the process of exploration stops. If
OD =CD and BD =DA, then the claim is proved.
A possible sequence to work out different dimensions are as follows:
1. Find CG.CG =BE =z(exploiting the fact that BC||OA and Glies on the extension of OA)
2. Find C G
AG (= BE
OE =z
y) (exploiting the fact that 4OBE is similar to the 4ACG)
3. Find AG, since we know CG and the ratio CG
AG .
4. Find OG.OG =OA +AG
5. Find DF
OF (= CG
OG ) exploiting the fact that 4DF O and 4CGO are similar.
6. Find AE.AE =OA OE
7. Find AF
DF which equals to AE
BE (4ADF and 4ABE are similar)
8. Express AF =OA OF
9. Find DF and OF using the ratio DF
OF and OAOF
DF
10. Find OD, OD =OF 2+DF 2
11. Find CD :CD =p(OG OF )2+ (CG DF )2
12. Check whether OD =CD 6
Here, if OD and CD are equal then the theorem is proved. In the same way we can check whether AD
and BD are equal or not.
Now, we present another example, more complicated than the previous one. Please see Figure 4. Let
4ABC is a triangle with 6BCA = 90oand let Dbe the foot of the altitude from C. Let Xbe a point in
the interior of the segment CD. Let Kbe the point on the segment AX, such that BK =BC. Similarly,
let Lbe the point on the segment BX such that AL =AC. Let Mbe the point of intersection of AL and
BK. We have to show that, M K =M L1.
Figure 4: A geometric system of a triagle.
Let’s rephrase the hypotheses in the following way:
1. AD =a
2. CD AB and CD =h
3. A, C are added by a line segment
4. CB AC at C
5. Blies on the extension of the line AD
6. Xlies on CD where XD =q
7. A, X are added by a line segment
8. B, X are added by a line segment
9. Klies on AX such that BK =BC
10. Llies on BX such that AL =AC
11. Mis the point of intersection between BK and AL
Here, we get a unique geometric structure for a unique set of the parameters (a, h, q). 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 a, h and q. When we will be able to express LM and M K in terms of (a, h, q) then
the process of exploration stops. If the two functions are equal then the claim if proved.
1This problem is taken from the International Mathematics Olympiad 2012 http://www.imo-
official.org/problems/IMO2012SL.pdf
7
Our proposed method GraATP will find out a sequence of the dimensions (which need to be worked out
in terms of (a, h, q) of this geometric structure starting from (AD =a, C D =h, X D =q) to (LM, KM ).
To locate the points K, M and Lwe draw KN, M R and LS perpendicular to AB. A possible sequence of
working out the dimensions is:
1. Find AC :AC =a2+h2
2. Find BD (exploiting the similarity between 4ABC and 4ADC)
3. Find BC (exploiting the similarity between 4ABC and 4ADC)
4. Find AX :AX =pa2+q2
5. Find BX :BX =pBD2+q2
6. Find KN and AN (exploiting the similarity between 4AKN and 4AXD, and applying Pythagoras
theorem in 4BKN )
7. Find LS and AS (exploiting the similarity between 4BX D and 4BLS, and applying Pythagoras
theorem in 4ALS)
8. Find BN =AB AN
9. Find AS =AB BS
10. Find M R and AR (exploiting the similarity between triangles (4BM R, 4BKN) and (4AM R, 4ALS)
11. Find KM (KM2= (AR AN)2+ (KN MR)2)
12. Find M L(M L2= (AS AR)2+ (LS M R)2
13. Check whether KM =M L
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
8
(a) (b)
(c) (d)
(e) (f)
Figure 5: Steps of the evolutionary process for the formation of the graph.
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 Afrom node B
then we draw a directed edge from Bto A. 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 OA(= x), OE (= y) and BE(= z).
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 Elies on OA, AE =OA OE. We can find out AE
from OA and OE. In the second step, we include another node AE (shown in Figure 5 (b)). Also we include
two edges one from OA to AE and another from OE to AE; and we draw them with same color (red) and
label them with number 1 to indicate that the set of dimensions {OA, OE }is required to be known to find
out AE. 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 4OBE and 4ACG to discover more relations:
CG
AG =BE
AG . Therefore, we can include another node, this time a ratio of dimensions, CG
AG (Figure 5 (c)). Blue
edges labeled with number 2 come out from the nodes OE and BE and they are incident on the node CG
AG .
Next, Alies on OG. Hence OG =OA +AG. We include nodes AG and OG. We draw two edges, one
9
from OA and another one from AG to OG. They are labeled with number 3. The dimension AG 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 OA, OE , BE. 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 AG
and connect AG with the nodes which have already been discovered. In the next step, we use the fact that
BC||OG to decide that BE =CG. Therefore, we add another node CG and draw an edge from BE to CG
(Figure 5 (e)). Now, we can find out AG from CG and the ratio C G
AG . So we draw two edges: one from C G
AG
to AG and another from CG to AG (Figure 5 (f)). The node AG 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 (OA, OE, B E) and the destination-nodes
(CD, OD),
2. There exists no node having no incoming edges except for the parameter-nodes. As for example in step
4 the node AG was included. There was no edge which is directed from other node to AG. Also AG
is not one of the parameter-nodes like OA,OE and BE. Therefore the process of forming the graph
continues.
The algorithm is given in Algorithm 2.
Algorithm 1: GraATP (H,R)
1H: set of hypotheses
2R: set of conclusions
3D: set of dimensions
4P= create a set of unique parameters
5Eφ
6Vφ
7G=hV, E i
8for each pPdo
9create a node u
10 V=Vu
11 for each rRdo
12 create a node u
13 V=Vu
14 while D6=φdo
15 create node ufor the next close dimension dD
16 for each vVthat is related to udo
17 add a directed edge (u, v) or (v, u)
18 remove dfrom D
19 if Gis not connected then
20 return null
21 else
22 return G
Figure 6 shows the complete graph to reach OD and CD from OA, OE, B E. Now we will apply standard
10
Figure 6: The complete graph of proving the theorem on parallelogram. How the edge-relations between
nodes are discovered, are also mentioned.
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: OA, OE and BE. 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 C G/AG, CG and
AE. We delete them and their adjacent edges from the graph. We proceed in this way until we reach the desti-
nation vertices CD and OD. Therefore, the topological order of the nodes is: OA, OE, BE , CG/AG, CG, AE, AF/DF, AG, OG, (OA
OF )/DF, DF /OF, DF, OF, CD, OD. 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
11
Algorithm 2: Topological Ordering (G=hV, E i)
1A=φ
2Lset of all nodes with indegree = 0
3while L6=φdo
4uL.extractNode()
5A.addToLast(u)
6for each vAdj[u]do
7E=E(u, v)
8if E6=φthen
9return null
10 else
11 return A
Figure 8: A geometric system of a parallelogram.
which have already been proposed, e.g. Wus 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:
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 OD and BE, say it is G(Figure 8). More
dimensions like OG, GD, BG and GE 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
12
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 presburgers 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: Wus 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,” Commu-
nications 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.
13
[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,” Commu-
nications 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.
14
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
In this paper, we present the main difference between Newtonian and Cartesian approaches to scientific creativity when related to Program Synthesis (PS). The main contribution of the paper is a thorough discussion on the creative building of a theorem prover. We illustrate these ideas by an analysis of Peano's axioms defining the set of non negative integers, from the point of view of creativity. This analysis is then applied to the more complex case of the general framework for our own 'Constructive Matching Methodology' (CMM) as a Cartesian approach to the creation of an autonomous theorem prover for PS.
Article
Geometry theorem proofs like propositions in Euclid's geometry elements contain fruitful geometry knowledge, and the statements of geometry proofs are almost structural mathematics language. Hence, it is possible to let computer understand geometry theorem proofs. Based on the process ontology, a novel geometry knowledge base (GKB) in this paper is built by letting computer learn from theorem proofs. The resulting process ontology is automatically constructed by extracting abstract and instance models (IMS) from proofs. The abstract model displays the causal relations of conditions with conclusions, and the instance model (IM) holds the formal relationship of abstract model so that the deduction can be reused. Thus, two kinds of models completely describe the proving process of geometry theorem. Furthermore, GKB based on the process ontology can be gradually extended by learning from more and more proofs. Finally, GKB learning from about 200 examples is implemented, and an application in automated theorem proving is given.
Article
Peter Baumgartner highlights two trends that have received considerable attention in the field of automated theorem proving. The area of automated theorem proving is characterized by the development of numerous calculi and proof procedures, ranging from general purpose to specialized ones for specific subsets of first-order logic and logical theories. One of trends involves the integration of reasoning methods for propositional and for first-order logic, with a best-of-both-worlds motivation. The other trend involves built-in reasoning support modulo background theories, such as equality and integer arithmetic, which are important for software verification applications.
Article
Automated theorem proving is the use of computers to prove or disprove mathematical or logical statements. Such statements can express properties of hardware or software systems, or facts about the world that are relevant for applications such as natural language processing and planning. A brief introduction to propositional and first-order logic is given, along with some of the main methods of automated theorem proving in these logics. These methods of theorem proving include resolution, Davis and Putnam-style approaches, and others. Methods for handling the equality axioms are also presented. Methods of theorem proving in propositional logic are presented first, and then methods for first-order logic. WIREs Cogn Sci 2014, 5:115-128. doi: 10.1002/wcs.1269 CONFLICT OF INTEREST: The authors has declared no conflicts of interest for this article. For further resources related to this article, please visit the WIREs website. © 2014 John Wiley & Sons, Ltd.
Article
In the tech report Artemov and Yavorskaya (Sidon) (2011) [4] an elegant formulation of the first-order logic of proofs was given, FOLP. This logic plays a fundamental role in providing an arithmetic semantics for first-order intuitionistic logic, as was shown. In particular, the tech report proved an arithmetic completeness theorem, and a realization theorem for FOLP. In this paper we provide a possible-world semantics for FOLP, based on the propositional semantics of Fitting (2005) [5]. We also give an Mkrtychev semantics. Motivation and intuition for FOLP can be found in Artemov and Yavorskaya (Sidon) (2011) [4], and are not fully discussed here. This paper is dedicated to Sergei Artemov, an honored colleague and friend, who has made wonderful things for the rest of us to play with.
Article
Case splitting, with and without backtracking, is compared with straightforward ordered resolution. Both forms of splitting have been implemented for MetiTarski, an automatic theorem prover for real-valued special functions such as , ln , sin, cos and tan (-aEuro parts per thousand 1). The experimental findings confirm the superiority of true backtracking over the simulation of backtracking through the introduction of new predicate symbols, and the superiority of both over straightforward resolution.