Post on 23-Mar-2020
transcript
TR 2006/001 ISSN 0874-338X
Framework for Constructive Geometry(Based on the Area Method)
Pedro QuaresmaDepartment of Mathematics
University of Coimbra, Portugal&
Predrag JanicicFaculty of Mathematics
University of Belgrade, Serbia & Montenegro
Centre for Informatics and Systems of the University of Coimbra
Framework for Constructive Geometry
(Based on the Area Method)
Pedro Quaresma1
Department of MathematicsUniversity of Coimbra
3001-454 COIMBRA, PORTUGALe-mail: pedro@mat.uc.pt phone: +351-239 791 170
Predrag Janicic2
Faculty of MathematicsUniversity of Belgrade
Studentski trg 1611000 Belgrade, SERBIA & MONTENEGRO
e-mail: janicic@matf.bg.ac.yu
February 3, 2006
1This work was partially supported by CISUC/FCT.2This work was partially supported by CISUC/FCT, Centro International de Matematica
(CIM), under the programme “Research in Pairs”, while on visit to Coimbra University underthe Coimbra Group Hospitality Scheme
Abstract
In this technical report we present a rational reconstruction of the area method(developed by Chou, Gao and Zhang) for automated theorem proving for Euclideangeometry. Our rational reconstruction covers all relevant lemmas proved in full detailsand also full details of required algebraic reasoning (missing from the papers introducintthe area method). We also present our implementation of this algorithm, made withinthe program GCLC.
The area method main idea is to express the hypothesis of a theorem using a setof constructive statements each of then introducing a new point, and to express theconclusion by a polynomial in a some geometry quantities, without any relation to agiven system of coordinates. The proof is then developed by eliminating, in reverse order,the point introduced before, using for that purpose a set of lemmas. After eliminating allthe introduced points the polynomial is just an equality between two rational expressionin independent variables. Hence if they are equal the statement is true, otherwise it isfalse.
The proofs generated by the prover (developed as a part of GCLC) are generally shortand readable. The program can prove many non-trivial theorems in a very efficient way.
keywords: automated theorem proving, Euclidian geometry, coordinate-free meth-ods, area method.
Contents
1 Introduction 3
2 The Area Method 42.1 Basic Lemmas about Signed Areas and Ratio of Segments . . . . . . . . 42.2 Basic Lemmas about Pythagoras Differences . . . . . . . . . . . . . . . . 112.3 The Constructive Geometry Statements . . . . . . . . . . . . . . . . . . 16
2.3.1 Constructive Geometry Statements . . . . . . . . . . . . . . . . . 162.4 The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.1 The Elimination Procedures . . . . . . . . . . . . . . . . . . . . . 192.4.2 Table of Elimination Lemmas . . . . . . . . . . . . . . . . . . . . 262.4.3 Free Points and the Algorithm . . . . . . . . . . . . . . . . . . . 262.4.4 The Area Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Implementation of the area method within GCLC 293.1 Introductory Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Geometry Quantities and Stating Conjectures . . . . . . . . . . . . . . . 303.3 Underlying Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Underlying Constructions . . . . . . . . . . . . . . . . . . . . . . 323.3.2 Integration of Algorithm and Auxiliary Points . . . . . . . . . . 333.3.3 Non-degenerative Conditions and Lemmas . . . . . . . . . . . . . 333.3.4 Structure of Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 343.3.5 Algebraic Simplification . . . . . . . . . . . . . . . . . . . . . . . 353.3.6 Geometric Simplifications . . . . . . . . . . . . . . . . . . . . . . 383.3.7 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Prover Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.1 Controlling Level of Output . . . . . . . . . . . . . . . . . . . . . 413.4.2 Prover Short Report . . . . . . . . . . . . . . . . . . . . . . . . . 41
A Proofs examples 42A.1 GeoThms - Geometry Theorems Database . . . . . . . . . . . . . . . . . 42A.2 Proof of Ceva’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
A.2.1 Default style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42A.2.2 Landscape & Semantics . . . . . . . . . . . . . . . . . . . . . . . 43
A.3 Harmonic Set Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.3.1 Portrait with Automatic Breaking of Equations . . . . . . . . . . 44
References 46
2
Chapter 1
Introduction
In pursuing studies in the automation of proofs in geometry one can chose one of thetwo major lines of research: synthetic proof style or algebraic proof style.
Algebraic proof style has its roots in the work of Descartes1 and in translation of ge-ometry problems to algebraic problems. The automation of proofs along this line beganwith the quantifier elimination method of Tarski (30s) and since then had many develop-ments. The characteristic set method (Wu, 2000), the elimination method (Wang, 1995),the Grobner basis method (Kapur, 1986), and the Clifford algebra approach (Li, 2000)are examples of practical provers based on the algebraic approach. All these methodshave in common the fact that the proofs do not reflect the constructive natures of theproblems, are unrelated to any traditional geometric methods, and the proofs have onlya yes/no conclusion.
Another approach to the automation of geometric proofs focus in synthetic proofswith the attempt to automate the traditional proof methods. Most of these methods useadding elements to the current geometric configuration so that a desired postulated willapply. The challenge is to control the explosion of the search space, because of that theyuse ad hoc heuristics to avoid unproductive constructions. Examples of these method in-clude results of Gelertner (Gelernter, 1959), Nevis (Nevis, 1975), Elcock (Elcock, 1977),Greeno et. al. (Greeno et al., 1979) and Coelho and Pereira (Coelho & Pereira, 1986).
In this technical report we focus on the area method, an efficient synthetic methoddeveloped by Chou, Gao, and Zhang (Chou et al., 1993). This method is a base forefficient provers capable of generating human readable proofs. We present a rationalreconstruction of the area method covering all relevant lemmas proved in full details andalso full details of required algebraic reasoning (missing from the papers introducing thearea method).
Our goal in developing a prover for this method was to extend the existing dynamicgeometry tools (e.g., GCLC and Eukleides) with a module that allows formal, deductivereasoning about constructions made. For that, we need an efficient program capable ofproducing proofs that are human-readable, short, and with a clear justification of eachproof step (e.g., lemma used, definition used etc.).
The theorem prover developed, the visualisation tools, and a database (for storingand retrieving geometric constructions and their proofs) that we developed, provide acomplex framework for constructive geometry, given to all users an environment suitablefor the studying an teaching geometry.
1 Rene Descartes (1596-1650).
3
Chapter 2
The Area Method
We will use capital letters to denote points in the plane. We denote AB the length ofthe oriented segment from A to B. Thus AB � �BA.
We will denote ∆ABC the triangle formed by points A, B, and C. We denote bySABC the signed area of the oriented triangle ∆ABC (Zhang et al., 1995).
Definition 1 Signed Area The signed area SABC of triangle ABC is the usual areawith a sign depending on the order of the vertices A, B, and C: if A � B � C rotatescounterclockwisely, SABC is positive, otherwise it is negative (Chou et al., 1996).
2.1 Basic Lemmas about Signed Areas and Ratio of Seg-
ments
The following properties of the signed area are used as basic lemmas (Chou et al., 1996).
For any points A, B, C, and D, we have:
Lemma 1 SABC � SCAB � SBCA � �SACB � �SBAC � �SCBA.
Lemma 2 SABC � 0 iff A, B, and C are collinear.
Definition 2 We use the notation AB ‖ PQ to denote the fact that A, B, P , and Q
satisfy one of the following conditions: (1) A � B or P � Q; (2) A, B, P , and Q areon the same line; or (3) line AB and line PQ do not have a common point.
Lemma 3 PQ ‖ AB iff SPAB � SQAB, i.e., iff SPAQB � 0.
Demonstration
4
2.1. BASIC LEMMAS ABOUT SIGNED AREAS AND RATIO OF SEGMENTS 5
b
b
b
b
A
B
P
Q
b
b
b
b
b
b
b
b
A
B
P
Q
A
B
P
Q
Proof of SPAB � SQAB � SPAQB � 0.
SPAQB � 0def� SPAQ � SPQB � 0 � SPAQ � �SPQB � SPAQ � SQPB
p1q� SPAB �SQAB
(1) SPAB � SQPB and SQAB � SPAQ.
q.e.d.
Definition 3 (Parallelogram) A parallelogram is a quadrilateral ABCD such thatAB ‖ CD, BC ‖ AD, and no three vertices are on the same line.
Definition 4 (Ratio of parallel lines) Let ABCD be a parallelogram and P , Q betwo points on CD. We define the ratio of two parallel line segments as follows (Chou et al., 1993):
PQ
AB� PQ
DC
b
b
b
b
b
b
A
B
C
DP
Q
Lemma 4 SABC � SABD � SADC � SDBC .
6 CISUC TR 2006/001
b
b
b
b
A
B
C
D
a
b
c
d
SABC � SABD�SADC�SDBC � a� c � pa� bq�pc�dq�p�b�dq � a� c � a� c
Lemma 5 If points C and D are on line AB, A � B and P is any point not on lineAB (Figure 2.1) then:
SPCD
SPAB� CD
AB.
b b bb
b
A B CD
P
Figure 2.1: Areas, Ratios relationship
DemonstrationGiven S the point in AB such that PS is perpendicular to AB (PS is the height of
both triangles) then, without considering the signs
SPCD � DC�PS2
and SPAB � AB�PS2
so
SPCD
SPAB� DC � PS
2� 2
AB � PS� DC
AB.
Now looking into the signs
SPCD�SPAB� �CD
AB.
given the fact the ∆PCD is clockwise, ∆PAB is anti-clockwise, and that CD andAB are on opposite directions.
q.e.d.
2.1. BASIC LEMMAS ABOUT SIGNED AREAS AND RATIO OF SEGMENTS 7
Definition 5 SABCD is defined as SABCD � SABC�SACD (Chou et al., 1996; Narboux, 2004).
More generally we can define the signed area of an oriented n-polygon A1A2 . . . An,pn ¥ 3q to be (Zhang et al., 1995)
SA1A2...An � n
i�3
SA1Ai�1Ai.
by Lemmas 1 and 4, we have.
Lemma 6 SABCD � SABC � SACD � SABD � SBCD.
b
b
b
b
A
B
C
D
SABC
SACD
SABCD
b
b
b
b
A
B
C
D
SABD SBCD
SABCD
Lemma 7 SABCD � SBCDA � SCDAB � SDABC � �SADCB � �SDCBA � �SCBAD ��SBADC .
Given the fact that we are speaking about oriented areas, we have clock-wise, positivesign, and anticlockwise, negative sign.
Lemma 8 (EL1) (The Co-side Theorem) Let M be the intersection of two non-parallellines AB and PQ and Q � M (Figure 2.2). Then:
PM
QM� SPAB
SQAB;
PM
PQ� SPAB
SPAQB;
QM
PQ� SQAB
SPAQB.
b b
b
b
b
A B
P
Q
M
b b
b
b
b
A B
P
Q
M
b b
b
b
b
A
B
P
Q
M b b
b
b
b
A B
P
Q
M
Figure 2.2: Co-side Theorem
Since PPAB and SQAB cannot both be zero, we always assume that the nonzero oneis the denominator. Also note that PQ � 0 since AB ∦ PQ.
Demonstration Figure 2.2 gives several possible cases (in ordered geometries); theproof here presented, which is essential for unordered geometry, is valid for all cases(Zhang et al., 1995). For the first formula, take a point R on AB such that AB � MR;
them we have SPMR
SPAB
L5� MR
AB� 1 � SPMR � SPAB the some applies for the point Q,
SQMR � SQAB. So:
8 CISUC TR 2006/001
b bb b
b
b
A BM R
P
Q
b b
b
b
M
R
P
Q
SPAB
SQAB� SPMR
SQMR
Now by a direct application of lemma L5 making A � Q, B � D � M , and C � P
we have
SPMR
SQMR
� SRPM
SRQM
L5� PM
QM
in conclusion
SPAB
SQAB� SPMR
SQMR� PM
QM
The others formulas are a consequence of this first one.q.e.d.
Lemma 9 Let R be a point on line PQ. Then for any two points A and B (Figure 2.3)(Chou et al., 1996; Zhang et al., 1995):
SRAB � PR
PQSQAB � RQ
PQSPAB
b
b
b
b
b
P
QR
A
B
Figure 2.3:
Demonstration Let s � SABPQ, then SRAB � s� SARQ � SBPR (all anti-clockwise)
b
b
b
b
P
QR
A
2.1. BASIC LEMMAS ABOUT SIGNED AREAS AND RATIO OF SEGMENTS 9
let PR
PQ� λ, then we have
SARQ
SAPQ� RQ
PQ� PQ� PR
PQ� p1� λq � SARQ � p1� λqSAPQ
and,
b
b
b
b
P
QR
B
SBPR
SBPQ� PR
PQ� λ � SBPR � λSBPQ
then
s� SARQ � SBPR �� s� p1� λqSAPQ � λSBPQ� s� p1� λqps� SPABq � λps � SQABq� s� s� λs� SPAB � λSPAB � λs� λSQAB� λSQAB � p1� λqSPAB
q.e.d.
For four collinear points P , Q, A, and B, such that A �� B, PQ
AB, the ratio of the di-
rected segments, is an element inR, that satisfies the following lemmas (Chou et al., 1993;Chou et al., 1996; Zhang et al., 1995).
Lemma 10 PQ
AB� �QP
AB� QP
BA� �PQ
BA.
Lemma 11 PQ
AB� 0 iff P � Q.
Lemma 12 PQ
AB� AB
PQ� 1.
Lemma 13 AP
AB� PB
AB� 1.
Lemma 14 for each r P R there exists a unique point P which is collinear with A and
B and satisfies AP
AB� r.
Let r � PQ
AB. We sometimes also write PQ � rAB. A point P on line AB is
determined uniquely by AP
ABor PB
AB. We thus call
xP � AP
AB, yP � PB
AB
the position ratio or position coordinates of the point P with respect to AB. It is clearthat xp � yp � 1.
In our machine proofs, auxiliary parallelograms are often added automatically andthe following two propositions are used frequently.
10 CISUC TR 2006/001
Lemma 15 Let ABCD be a parallelogram and P be any point (fig. 2.4). Then (Chou et al., 1993;Zhang et al., 1995)
SABC � SPAB � SPCD and SPAB � SPDAC � SPDBCpZhang et al., 1995q.SPAB � SPCD � SACD � SPDACpChou et al., 1993q.b b
bb
b b
A B
CD
P S
bA
b B
b C
bDb
Pb S
Figure 2.4:
Demonstration
Take a point S on BC such that PS is parallel to CD. By lemma 3 we haveAD ‖ BC � SABC � SDBC , PS ‖ CD � SPDC � SSDC � SPCD � �SDCS , andPS ‖ AB � SPAB � SSAB, AD ‖ BS � SABS � SDBS � SPAB � SSAB � SABS �SDBS � SPAB � SDBS . Therefore SPAB � SPDC � SDBS �SDCS . This prove the firstformula. The second formula is a consequence of the first one (Zhang et al., 1995).
q.e.d.
Lemma 16 Let ABCD be a parallelogram, P and Q be two points (Figure 2.5). Then(Zhang et al., 1995)
SAPQ � SCPQ � SBPQ � SDPQ or SPAQB � SPDQC .
Notice that ∆APQ and ∆BPQ are clockwise, and ∆CPQ and ∆DPQ are anti-clockwise.
Demonstration Let O be the intersection of AC and BD. Since O is the midpoint ofAC, by lemma 9, SAPQ�SCPQ � 2SOPQ. For the same reason, SBPQ�SDPQ � 2SOPQ.We have proved the first formula, the second formula is just another form of the firstone.
q.e.d.
We use a simple example to illustrate how to use these propositions to prove theo-rems.
2.2. BASIC LEMMAS ABOUT PYTHAGORAS DIFFERENCES 11
b
b
b
b
A
B
C
D
b
b Q
P−SDPQ
−SCPQ
SBPQ
SAPQ
b
b
b
b
A
B
C
D
b
b Q
P−SDPQ
−SCPQ
SBPQ
SAPQ
b
O
Figure 2.5:
Example 1 (Ceva’s Theorem) Let ∆ABC be a triangle and P be any point in theplane. Let D � AP XCB, E � BP XAC, and F � CP XAB (Figure 2.6). Show that:
AF
FB� BD
DC� CE
EA� 1
bC b B
Ab
P
b
D
b
Eb F
b
Figure 2.6:
DemonstrationOur aim is to eliminate the constructed points F , E, and D from the left hand side
of the conclusion. Using the co-side theorem three times, we can eliminate E, F , andD:
AF
FB� BD
DC� CE
EA� SAPC
SBCP� SBPA
SCAP� SCPB
SABP� 1
q.e.d.
2.2 Basic Lemmas about Pythagoras Differences
Definition 6 (Pythagoras difference) For three points A, B, and C, the Pythagorasdifference PABC is defined to be:
PABC � AB2 � CB
2 �AC2.
12 CISUC TR 2006/001
bB b A
Cb
AB
CBAC
Lemma 17 PAAB � 0.
Demonstration
PAAB � AA2 �CA
2 �AC2 � 0�AC
2 �AC2 � 0
given the fact that CA2 � CA � CA � �AC � p�ACq � AC
2.
q.e.d.
Lemma 18 PABC � PCBA.
Demonstration
PABC � AB2 � CB
2 �AC2 � CB
2 �AB2 � CA
2 � PCBA
q.e.d.
Lemma 19 PABA � 2AB2.
Demonstration
PABA � AB2 �AB
2 �AA2 � 2AB
2
q.e.d.
Lemma 20 If A, B, and C are collinear them, PABC � 2BA�BC.
Demonstration
PABC � AB2 � CB
2 �AC2� AB
2 �BC2 � 2AB �BC � 2AB �BC �AC
2� pAB �BCq2 � 2AB � CB �AC2� AC
2 �AC2 � 2AB � CB (2.1)� �2AB �BC� 2BA�BC
In equation 2.1 we have AB � BC � AC given the fact that, by hypothesis, A, B,and C are collinear.
q.e.d.
2.2. BASIC LEMMAS ABOUT PYTHAGORAS DIFFERENCES 13
Definition 7 For a quadrilateral ABCD, we have
PABCD � PABD � PCBD � AB2 � CD
2 �BC2 �DA
2.
Lemma 21 We have PABCD � �PADCB � PBADC � �PBCDA � PCDAB � �PCBAD �PDCBA � �PDABC .
Demonstration
PADCB � AD2 �CB
2 �DC2 �BA
2� �AB2 � CD
2 �BC2 �DA
2� �pPABCDq (2.2)
PBADC � BA2 �DC
2 �AD2 �CB
2� AB2 � CD
2 �BC2 �DA
2� PABCD (2.3)
PBCDA � BC2 �DA
2 � CD2 �AB
2� �AB2 � CD
2 �BC2 �DA
2� �pPABCDq (2.4)
PCDAB � CD2 �AB
2 �DA2 �BC
2� AB2 � CD
2 �BC2 �DA
2� PABCD (2.5)
PCBAD � CB2 �AD
2 �BA2 �DC
2� �AB2 � CD
2 �BC2 �DA
2� �pPABCDq (2.6)
PDCBA � DC2 �BA
2 � CB2 �AD
2� AB2 � CD
2 �BC2 �DA
2� PABCD (2.7)
PDABC � DA2 �BC
2 �AB2 � CD
2� �AB2 � CD
2 �BC2 �DA
2� �pPABCDq (2.8)
q.e.d.
Definition 8 For four points A, B, C, and D, the notation AB K CD implies that oneof the following conditions is true: A � B, or C � D, or the line AB is perpendicularto line CD.
Lemma 22 (Pythagorean Theorem) AB K BC iff PABC � 0.
DemonstrationIf A � B, we have A � B � C, D, then AB
2 � CB2 � AC
2 � 0.
If C � D, we have A, B � C � D, then AB2 � CB
2 �AB2 � AC
2 � 0�AC2 � 0.
If A � B and B � C then we have a right triangle;
14 CISUC TR 2006/001
bb
b
AB
C
b
c
a
a2 + c2 = b2
e.g. AB2 �BC
2 � CA2.
q.e.d.
Lemma 23 AB K CD iff PACD � PBCD or PACBD � 0 (figure 2.7).
b b
b
b
b
A B
C
D
P
Figure 2.7:
DemonstrationLet P be the intersection of lines AB and CD, then:
AD2 � AP
2 � PD2
AC2 � AP
2 � PC2
AD2 � PD
2 � AC2 � PC
2
BD2 � BP
2 � PD2
BC2 � BP
2 � PC2
BD2 � PD
2 � BC2 � PC
2
AD2 �AC
2 � PD2 � PC
2
BD2 �BC
2 � PD2 � PC
2
AD2 �AC
2 � BD2 �BC
2
AC2 �AD
2 � BC2 �BD
2
AC2 �DC
2 �AD2 � BC
2 �DC2 �BD
2
PACD � PBCD
2.2. BASIC LEMMAS ABOUT PYTHAGORAS DIFFERENCES 15
q.e.d.
The above generalised Pythagorean proposition is one of the most useful tools in ourmechanical theorem proving method.
Lemma 24 Let D be the foot of the perpendicular drawn from point P to a line AB
(figure 2.8). Then:
AD
DB� PPAB
PPBA
,AD
AB� PPAB
2AB2,
DB
AB� PPBA
2AB2.
b b
b
b
A B
P
D
Figure 2.8:
Lemma 25 Let AB and PQ be two non-perpendicular lines, and Y be the intersectionof line PQ and the line passing through A and perpendicular to AB (figure 2.9). Then:
PY
QY� PPAB
PQAB,
PY
PQ� PPAB
PPAQB,
QY
PQ� PQAB
PPAQB.
b b
b
b
b
A B
P
Q
Y
Figure 2.9:
Lemma 26 Let R be a point on line PQ with position ratios r1 � PR
PQ, r2 � RQ
PQwith
respect to PQ. Then for points A, B, we have (figure 2.10):
16 CISUC TR 2006/001
PRAB � r1PQAB � r2PPAB
PARB � r1PAQB � r2PAPB � r1r2PPQP .
b b
b
b
b
A B
P
Q
R
Figure 2.10:
Lemma 27 Let ABCD be a parallelogram. Then for any points P and Q, we have(figure 2.11):
PAPQ � PCPQ � PBPQ � PDPQ or PAPBQ � PDPCQ
PPAQ � PPCQ � PPBQ � PPDQ � 2PBAD .
b
b
b
b
A
B
C
D
b
b Q
PPDPQ
PCPQ
PBPQ
PAPQ
Figure 2.11:
2.3 The Constructive Geometry Statements
2.3.1 Constructive Geometry Statements
Points are the basic geometry objects, from which we can introduce two other geometricobjects: lines and circles.
A straight line can be given in one of the following four forms.
2.3. THE CONSTRUCTIVE GEOMETRY STATEMENTS 17
(LINE U V) is the line passing through two points U and V .
(PLINE W U V) is the line passing through point W and parallel to (LINE U V).
(TLINE W U V) is the line passing through point W and perpendicular to (LINE UV).
(BLINE U V) is the perpendicular bisector of UV .
To make sure that the four kinds of lines are well defined, we need to assume thatU � V which is called the non-degenerated condition (ndg) of the corresponding line.
(CIR O U) denotes a circle with point O as its centre and passing through point U .
Constructions: a construction is one of the following ways of introducing new points.For each construction, we also give its ndg condition and the degrees of freedom for theconstructed point.
C1 – (POINT[S] Y1, . . . , Yn). Take arbitrary points Y1, . . . , Yn in the plane. EachYi has two degrees of freedom.
C2 – (ON Y ln). Take a point Y on a line ln. The ndg condition of C2 is the ndgcondition of the line ln. A point Y has one degree of freedom.
C3 – (ON Y (Cir O P)). Take a point Y on a circle (CIR O P). The ndg conditionis O � P . Point Y has one degree of freedom.
C4 – (INTER Y ln1 ln2). Point Y is the intersection of line ln1 and line ln2. PointY is a fixed point. The ndg condition is ln1 ∦ ln2. More precisely, we have:
1. If ln1 is (LINE U V) or (PLINE W U V) and ln2 is (LINE P Q) or (PLINER P Q), the ndg condition is UV ∦ PQ.
2. If ln1 is (LINE U V) or (PLINE W U V) and ln2 is (BLINE P Q) or (TLINER P Q), then the ndg condition is UV M PQ.
3. If ln1 is (BLINE U V) or (TLINE W U V) and ln2 is (BLINE P Q) or (TLINER P Q), then the ndg condition is UV ∦ PQ.
C5 – (INTER Y ln (CIR O P)). Point Y is the intersection of line ln and circle(CIR O P) other than point P . Line ln could be (LINE P U), (PLINE P U V),or (TLINE P U V). The ndg conditions are O � P , Y � P , and line ln is notdegenerate. Point Y is a fixed point.
C6 – (INTER Y (CIR O1 P) (CIR O2 P)). Point Y is the intersection of the cir-cle (CIR O1 P) and the circle (CIR O2 P) other them point P . The ndg conditionis that O1, O2, and P are not collinear. Point Y is a fixed point.
C7 – (PRATIO Y W U V r). Take a point Y on the line (PLINE W U V) such thatWY � rUV , where r can be a rational number, a rational expression in geometricquantities, or a variable.
If r is a fixed quantity the Y is a fixed point; if r is a variable the Y has one degreeof freedom. The ndg condition is U � V . If r is a rational expression in geometricquantities the we will further assume that the denominator of r could not be zero.
18 CISUC TR 2006/001
C8 – (TRATIO Y U V r). Take a point Y on line (TLINE U U V) such that r �4SUV Y
PUV Up� UY
UVq, where r can be a rational number, a rational expression in geometric
quantities, or a variable.
If r is a fixed quantity then Y is a fixed point; if r is a variable Y has one degreeof freedom. The ndg condition is the same as that of C7.
Since there are four kinds of lines, constructions C2, C4, C5 have 4, 10, 3 possibleforms respectively. Thus, totally we have 22 different forms of constructions.
Definition 9 (Class of Constructive Geometry Statements) The class of Con-structive Geometry Statements, C, is the class of statements defined as follows. Astatement in class C is a list S � pC1, C2, . . . , Cn, Gq where Ci for 1 ¤ i ¤ n are con-structions such that each Ci introduces a new point from the points introduced before;and G � pE1, E2q where E1 and E2 are polynomials in geometric quantities of the pointsintroduced by the Ci and E1 � E2 is the conclusion of the statement.
Let S � pC1, C2, . . . , Cn, pE1, E2qq be a statement in C. The ndg condition of S isthe set of ndg conditions of the Cis plus the condition that the denominators of thelength ratios in E1 and E2 are not equal to zero.
The 22 constructions are not independent to each other. We now introduce a minimalset of constructions which are equivalent to all the 22 constructions but much few innumber.
A minimal set of constructions consist of C1, C7, C8, and the following two con-structions.
C41 – (INTER Y (LINE U V) (LINE P Q)) .
C42 – (FOOT Y P U V) or equivalently (INTER Y (LINE U V) (TLINE P U V)).The ndg condition is U � V .
We first show how to represent the four kinds of lines by one kind: (LINE U V).For ln �(PLINE W U V), we first introduce a new point N by (PRATIO N W U V
1). Then ln �(LINE W N).For ln �(TLINE W U V), we have two cases: if W , U , V are collinear, ln �(LINE N
W) where N is introduced by (TRATIO N W U 1); otherwise ln �(LINE N W) whereN is given by (FOOT N W U V).
(BLINE U V) can be written as (LINE N M) where N and M are introduced asfollows (MIDPOINT M U V) (i.e. (PRATIO M U U V 1/2)), and (TRATIO N M U 1).
Since now there is only one kind of line, to represent all the 22 constructions by theconstructions in the minimal set we only need to consider the following cases.
• (ON Y (LINE U V)) is equivalent to (PRATIO Y U U V r) where r is an indeter-minate.
• (INTER Y (LINE U V) (CIR O U)) is equivalent to two constructions: (FOOTN O U V), (PRATIO Y N N U -1).
• C6 can be reduced to (FOOT N P O1 O2) and (PRATIO Y N N P -1).
• For C3, i.e., to take an arbitrary point Y on a circle (CIR O P), we first take anarbitrary point Q. Then Y is introduced by (INTER Y (LINE P Q) (CIR O P)).
2.4. THE ALGORITHM 19
2.4 The Algorithm
The key step of the method is to eliminate points from geometry quantities. The pointare introduced naturally and are eliminated from the conclusion in the reverse order.
2.4.1 The Elimination Procedures
Considering only the minimal set of constructions: C1, C7, C8, C41, and C42 we needonly to eliminate points introduced by four constructions from three kinds of geometryquantities.
Lemma 28 Let GpY q be one of the following geometry quantities: SABY , SABCY ,PABY , or PABCY for distinct points A, B, C, and Y . For three collinear points Y ,U , and V , by lemmas 9 and 26 we have:
GpY q � UY
UVGpV q � Y V
UVGpUq. (2.9)
We call GpY q a linear geometry quantity for variable Y . Elimination procedures forall linear geometry quantities are similar for constructions C7, C41, and C42.
Demonstration
GpY q � SABY
SABY � SY AB by lemma 1� UY
UVSV AB � Y V
UVSUAB by lemma 9; U , V , and Y are collinear� UY
UVSABV � Y V
UVSABU by lemma 1� UY
UVGpV q � Y V
UVGpUq
GpY q � PABY
PABY � PY BA by lemma 18� UY
UVPV BA � Y V
UVPUBA by lemma 26; U , V , and Y are collinear� UY
UVPABV � Y V
UVPABU by lemma 18� UY
UVGpV q � Y V
UVGpUq
GpY q � SABCYdef 5� SABC � PACY� SABC � UY
UVSABC � UY
UVSABC � Y V
UVSABC � Y V
UVSABC � SACY
20 CISUC TR 2006/001� p1� pUY
UV� Y V
UVqSABC � UY
UVSABC � Y V
UVSABC � SACY� 0� UY
UVSABC � Y V
UVSABC � SACY U , V , and Y are collinear� UY
UVSABC � Y V
UVSABC � SY AC by lemma 1� UY
UVSABC � UY
UVSACV � Y V
UVSABC � Y V
UVSACU by lemma 9; U , V , and Y are collinear� UY
UVSABCV � Y V
UVSABCU by definition 5� UY
UVGpV q � Y V
UVGpUq
GpY q � PABCYdef 7� PABY � PCBY� UY
UVPABV � Y V
UVPABU � pUY
UVPCBV � Y V
UVPCBU q� UY
UVpPABV � PCBV q � Y V
UVpPABU � PCBU q� UY
UVPABCV � Y V
UVPABCU by definition 7� UY
UVGpV q � Y V
UVGpUq
q.e.d.
Lemma 29 (EL2) Let GpY q be a linear geometry quantity and point Y be introducedby construction (PRATIO Y W U V r). Then we have:
GpY q � GpW q � rpGpV q �GpUqq.Demonstration
Take a point S such that WS � UV .
b
Ub
V
b
W
b
Y
b
S
WY
UV= r
By (2.9)[U:=A,V:=B,W;=U,S:=V]
2.4. THE ALGORITHM 21
GpY q � WY
WSGpSq � Y S
WSGpW q WY
WS� 1,by hypothesis� rGpSq ��WY �WS
WS
GpW q W , Y , S are collinear� rGpSq � p1� rqGpW q
By lemmas 16 (SAPQ � SBPQ � SDPQ � SCPQ) and 27, (PAPQ � PBPQ � PDPQ ��PCPQ) considering the parallelogram UV SW and the points W and Y we have GpSq �GpW q �GpV q �GpUq. Substituting this into the above equation, we obtain the result.
GpY q � rGpSq � p1� rqGpW q� rpGpW q �GpV q �GpUqq � p1� rqGpW q� rGpW q � rGpW q �GpW q � rpGpV q �GpUqq� GpW q � rpGpV q �GpUqqNotice that we need the ndg condition U � V .
q.e.d.
Lemma 30 (EL3) Let GpY q be a linear geometry quantity and point Y be introducedby construction (INTER Y (LINE U V) (LINE P Q). Then we have:
GpY q � SUPQGpV q � SV PQGpUqSUPV Q
.
Demonstration
bU
bV
b
Pb
Qb
Y
By the co-side theorem[P:=U,Q:=V,A:=P,B:=Q,M:=Y], UY
UV� SUPQ
SUPV Q, Y V
UV� �V Y
UV�
SV PQ
SUPV Q. Substituting these into equation (2.9), we prove the result.
q.e.d.
Lemma 31 (EL4) Let GpY q be a linear geometry quantity (� PAY B) and point Y beintroduced by construction (FOOT Y P U V). Then we have:
GpY q � PPUV GpV q � PPV UGpUq2UV
2.
Demonstration
b
Ub
V
bP
bY
22 CISUC TR 2006/001
By lemma 24[A:=U,B:=V,D:=Y], UY
UV� PPUV
2UV2 , Y V
UV� PPV U
2UV2 . Substituting these into
(2.9), we prove the result.q.e.d.
Lemma 32 (EL5) Let GpY q � PAY B and point Y be introduced by construction (FOOTY P U V) or (INTER Y (LINE U V) (LINE P Q)). Then we have:
GpY q � UY
UVGpV q � Y V
UVGpUq � UY
UV� Y V
UVPUV U . (2.10)
DemonstrationBy lemma 26[R:=Y,P:=U,Q:=V], for three collinear points Y , U , and V , we have
r1 � UY
UV, r2 � Y V
UV, and PAY B � r1PAV B � r2PAUB � r1r2PUV U , that is, GpY q �
UY
UVGpV q � Y V
UVGpUq � UY
UV� Y V
UVPUV U .
q.e.d.
Lemma 33 (EL6) Let Y be introduced by (PRATIO Y W U V r). Then we have:
PAY B � PAWB � rpPAV B � PAUB � PWUV q � rp1� rqPUV U .
Construction C8 needs special treatment.
Lemma 34 (EL7) Let Y be introduced by (TRATIO Y P Q r). Then we have:
SABY � SABP � r
4PPAQB.
DemonstrationLet A1 be the orthogonal projection from A to PQ. Then by lemmas 3 and 24:
SPAY
SPQY� SPA1Y
SPQY� PA1
PQ� PA1PQ
PQPQ� PAPQ
PQPQ
Thus SPAY � PAPQ
PQPQSPQY � r
4PAPQ. Similarly, SPBY � PBPQ
PQPQSPQY � r
4PBPQ. Now
SABY � SABP � SPBY � SPAY � SABP � r4PPAQB.
q.e.d.
Lemma 35 (EL8) Let Y be introduced by (TRATIO Y P Q r). Then we have:
PABY � PABP � 4rSPAQB.
DemonstrationLet the orthogonal projections from A and B to PY be A1 and B1. Then
PBPAY
PY PY� PB1PA1Y
PY PY� A1B1
PY� SPA1QB1
SPQY� SPAQB
SPQY.
Since PY K PQ, S2PQY � 1
4PQ
2 � PY2. Then PY PY � 2PY
2 � 4rSPQY . ThereforePABY � PABP � PBPAY � PABP � 4rSPAQB.
q.e.d.
2.4. THE ALGORITHM 23
Lemma 36 (EL9) Let Y be introduced by (TRATIO Y P Q r). Then we have:
PAY B � PAPB � r2PPQP � 4rpSAPQ � SBPQq.Demonstration
By Lemma 35
PAPY � 4rSAPQ, PBPY � 4rSBPQ.
Then
PY PY � 2PY2 � 4rSPQY � r2PPQP
Then
PAY B � PAPB � PAPY � PBPY � PY PY � PAPB � r2PPQP � 4rpSAPQ � SBPQq.q.e.d.
Now we consider how to eliminate points from the ratio of lengths.
Lemma 37 (EL10) Let Y be introduced by (INTER Y (LINE U V) (LINE P Q)). Thewe have:
AY
CD� # SAUV
SCUDVif A is not on UV
SAPQ
SCPDQotherwise
Demonstration
If A is not on UV , let S be a point such that AS � CD.
b
b
b bb
U
V
P QY
b b
b b
A
S
C
D
AY
CD� AY
ASby construction
� SAUV
SAUSVby lemma 8
b
b
b
U
V
Y
b
b
A
S
� SAUV
SUAV Sby lemma 21
24 CISUC TR 2006/001
� SAUV
SUCV Dby lemma 16
b
b
U
V
b b
b b
A
S
C
D
� SAUV
SCUDVby lemma 21
If A is on UV
b
b
b bb
U
V
P QY
b b
b b
A
S
C
D
AY
CD� AY
ASby construction� SAPQ
SAPSQby lemma 8� SAPQ
SCPDQ
q.e.d.
Lemma 38 (EL11) Let Y be introduced by (FOOT Y P U V). We assume D � U ;otherwise interchange U and V .
AY
CD� # PPCAD
PCDCif A is on UV
SAUV
SCUDVotherwise
Demonstration
If A is on UV , let T be a point such that AT � CD. By lemma 24 and 27,AY
CD� AY
AT� PPAT
PATA� PPCAD
PCDC.
The second equation is a direct consequence of the co-side theorem.
b
U
b
V
b P
b
Yb A
b C
b D
2.4. THE ALGORITHM 25
By the co-side theorem (lemma 8) with line CD and UV we have:
CY
CD� SCUV
SCUDV
and also by the co-side theorem with line AC and UV we have:
CY
AY� SCUV
SAUV� AY � CY SAUV
SCUV
so:
AY
CD� CY SAUV
SCUV
CD� CY
CD� SAUV
SCUV
� SCUV
SCUDV
� SAUV
SCUV
� SAUV
SCUDV
q.e.d.
Lemma 39 (EL12) Let Y be introduced by (PRATIO Y R P Q r). Then we have
AY
CD� $'&'% AR
PQ�r
CD
PQ
if A is on RY
SAPRQ
SCPDQotherwise
DemonstrationThe first case is obvious:
b
Pb
Q
b
R
b
Y
RY
PQ= r
b
A
b
C
b
D
AY
CD� AY
PQ
CD
PQ
� AR�AY
PQ
CD
PQ
� AR
PQ� r
CD
PQ
The second case, take points T and S such that RT
PQ� 1 and AS
CD� 1. By the co-side
theorem, AY
CD� AY
AS� SART
SARST� SAPRQ
SCPDQ.
q.e.d.
Lemma 40 (EL13) Let Y be introduced by (TRATIO Y P Q r). Then we have
AY
CD� # PAPQ
PCPDQif A is on PY
SAPQ� r4PPQP
SCPDQotherwise
DemonstrationThe first case is a direct consequence of lemma 25. If A is on PY , then AY
CD�
AP
CD� Y P
CD. By the co-side theorem, AP
CD� SAPQ
SCPDQ; AY
CD� SY PQ
SCPDQ� rPPQP
4SCPDQ. Now the
second result follows immediatelyq.e.d.
26C
ISU
CT
R2006/001
2.4
.2Table
ofElim
inatio
nLem
mas
Construction ndc Elimination formulas
PAY B PABY PABCY SABY SABCYAY
CD
AY
BY
1 C7
bU
bV
b
Wb
Y
WY
UV
� r
U �� V , if r � r1r2
thenr2 �� 0
EL6 EL2 EL12
2 C8
b
Ub
V
bY UY
UV
� r
U �� V , if r � r1r2
thenr2 �� 0
EL9 EL8 EL7 EL13
3 C41bU
bV
b
Pb
Qb
Y
EL5 EL3 EL10 EL1
4 C42
b
Ub
V
bP
bY
U �� V EL5 EL4 EL11
A B C D E
C7 – (PRATIO Y W U V r)C8 – (TRATIO Y U V r)C41 – (INTER Y (LINE U V) (LINE P Q))C42 – (FOOT Y P U V)
2.4
.3Free
Poin
tsand
the
Alg
orith
m
For
ageom
etrystatem
entS�pC
1 ,C2 ,...,C
m,pE
,Fqq,after
elimin
ating
allth
enon
-freepoin
tsin
troduced
by
Cifrom
Ean
dF
usin
gth
elem
mas
inth
epreced
ing
subsection
s,
2.4. THE ALGORITHM 27
we obtain two rational expression E1 and F 1 in indeterminates, areas and Pythagorasdifferences of free points. These geometric quantities are generally not independent, e.g.for any four points A, B, C, and D we have
SABC � SABD � SADC � SDBC
We thus need to reduce E1 and F 1 to expressions in independent variables. To dothat, we need the concept of area coordinates.
Definition 10 (Area Coordinates) Let A, O, U , and V be four points such that O,U , and V are not collinear. The area coordinates of A with respect to OUV are
xA � SOUA
SOUV
, yA � SOAV
SOUV
, zA � SAUV
SOUV
.
It is clear that xA� yA� zA � 1. Since xA, yA, and zA are not independent, we alsocall xA, yA the area coordinates of A with respect to OUV .
It is clear that the points in the plane are in a one to one correspondence with theirarea coordinates. To represent E and F as expressions in independent variables, we firstintroduce three new points O, U , and V , such that, UO K OV . We will reduce E andF to expressions in the area coordinates of the free points with respect to OUV .
For any free points A, B, and C, we have the following results.
Lemma 41 SABC � pSOV B�SOV CqSOUA�pSOV C�SOV AqSOUB�pSOV A�SOV BqSOUC
SOUV.
Lemma 42 PABC � AB2 �CB
2 �AB2
Lemma 43 AB2 � OU
2pSOV A�SOV Bq2S2
OUV
� OV2pSOUA�SOUBq2
S2
OUV
.
Lemma 44 S2OUV � OU
2� OV2
4.
Demonstration For the proof of 41, see Case 15 of algorithm ELIM in (Zhang et al., 1995)(or Zhang et. al. TR-92-3, Department of Computer Science, WSU, 1992). Lemma 42is the definition of Pythagoras difference. For Lemma 43, we introduce a new point M
by construction (INTER M (PLINE A O U) (PLINE B O V)). Then by Lemma 22,
AB2 � AM
2 � BM2. By the second case of Lemma 39, AM
OU� SAOBV
SOOUV� SAOV �SBOV
SOUV;
BM
OV� SAOU�SBOU
SOUV. We have Lemma 43. Lemma 44 is another basic fact taken for
granted.
q.e.d.
Using Lemma 41 to 44, E and F can be written as expressions in OU , OV , andthe area coordinates of the free points. Since the area coordinates of free points areindependent, E � F iff E and F are literally the same.
28 CISUC TR 2006/001
2.4.4 The Area AlgorithmÑ S � pC1, C2, . . . , Cm, pE,F qq is a statement in C.� The algorithm tells whether S is true, or not, and if it is true, produces a proof forS.
for (i=m;i==1;i--) {
if (the ndg conditions of Ci is satisfied) exit;
// Let G1,\ldots,Gn be the geometric quantities in E and F
for (j=1;j<=n,j++) {
Hj <- eliminating the point introduced by construction Ci from Gj
E <- E[Gj:=Hj]
F <- F[Gj:=Hj]
}
}
if (E==F) S <- true
else S<-false
The ndg condition of a construction has three forms: A � B, PQ ∦ UV , or PQ MUV . For the first case we check if PABA � 2AB
2 � 0. For the second case, we check ifSPUV � SQUV . For the third case, we check if PPUV � PQUV . If a ndg condition of ageometry statement is not satisfied, the statement is trivially true.
Proof of the correctness. Only the last step needs explanation. If E � F , thestatement is obviously true. Note that the ndg condition ensure that the denominatorsof all the expressions occurring in the proof do not vanish.
Otherwise, since the geometric quantities in E and F are all free parameters, i.e., inthe geometric configuration of S they can take arbitrary values. Since E � F , we cantake some concrete values for these quantities such that when replacing these quantitiesby the corresponding values in E and F , we obtain two different numbers. In otherwords, we obtain a counter example for S.
q.e.d.In the next chapter we will describe an implementation of this method.
Chapter 3
Implementation of the area
method within GCLC
GCLC (Djoric & Janicic, 2004; Janicic & Trajkovic, 2003) (from Geometry Construc-tions to LATEX Converter) is a tool for producing mathematical illustrations and forteaching geometry. It basic functionality is converting formal descriptions of geometricconstructions into digital figures.
The theorem prover built into GCLC is based on Chou’s algorithm for proving ge-ometry theorems (area method) as described in the last chapter. The proofs are expressedin terms of higher-level geometry lemmas and expression simplifications. The prover canprove a range of non-trivial theorems, including theorems due to Ceva, Menelaus, Gauss,Pappus, Tales etc (see appendix A).
Support for the prover involves only three commands: prove (for providing a conjec-ture), prooflevel (for setting the level of proof details), and prooflimit (for settingmaximal size of a proof). The prover works in both command line version and inWinGCLC (and it does not use any specific functionalities of WinGCLC ). Proofsof theorems are generated in LATEX form and saved in a file. Each deduction step isaccompanied by its semantics counterpart — corresponding numeric values in Cartesianplane.
The theorem prover is very efficient. Many conjectures are proved in only millisec-onds. However, some conjecture may take several seconds, several minutes, or even sev-eral hours. The maximal number of proof steps can be set by the command prooflimit.The default value is 10000 proof steps.1 If the prover perform more proof steps, theproving process is stopped.
3.1 Introductory Example
The theorem prover is tightly integrated into GCLC . This means that one can usethe prover to reason about a GCLC construction (i.e., about objects introduced in it),without any required adaptations required for the deduction process. Of course, onlythe conjecture itself has to be added.
The example GCLC code given in Figure 3.1 describes a triangle and midpoints oftwo of triangle’s sides. This GCLC code produces the figure 3.2. It holds that the linesAB and A1B1 are parallel and this can be proved by the theorem prover. The conjecture
1On a modern PC computer, 10000 steps are performed in less then 1 minute.
29
30 CISUC TR 2006/001
point A 20 10
point B 70 10
point C 35 40
midpoint B_1 B C
midpoint A_1 A C
drawsegment A B
drawsegment A C
drawsegment B C
drawsegment A_1 B_1
cmark_b A
cmark_b B
cmark_t C
cmark_l A_1
cmark_r B_1
prove { equal { signed_area3 A_1 B_1 A } { signed_area3 A_1 B_1 B } }
Figure 3.1: Description of a triangle and midpoints of two of triangle’s sides and theconjecture of midpoint theorem
“AB and A1B1 are parallel” can (and has to be) stated in terms of “geometry quantities”:SA1B1A � SA1B1B . This conjecture is given as argument to the prove command (in thiscase: equal { signed_area3 A_1 B_1 A } { signed_area3 A_1 B_1 B }). At theend of the processing of the GCLC file, the theorem prover is invoked; it produces aproof in LATEX form in the file name-proof.tex (in the current directory, name is thename of the input file) and, within the GCLC report, a report about the provingprocess: whether the conjecture was proved, data about CPU time spent, and numberof proof steps performed (in several categories).
3.2 Geometry Quantities and Stating Conjectures
The theorem prover deals with the geometry quantities described above, e.g. ratiosof directed segments, signed areas, and Pythagoras differences. In GCLC , geometryquantities are written as in the following examples:
ratio of directed segments PQ
ABsratio P Q A B
signed area (arity 3) SABC signed_area3 A B C
signed area (arity 4) SABCD signed_area4 A B C D
Pythagoras difference (arity 3) PABC pythagoras_difference3 A B C
Pythagoras difference (arity 4) PABCD pythagoras_difference4 A B C D
A conjecture to be proved is given as argument to the prove command. It has tobe of the form L � R. The conjecture can involve geometry quantities (only) overpoints already introduced (by a subset of commands) within the current construction.
3.2. GEOMETRY QUANTITIES AND STATING CONJECTURES 31
A B
C
A1
B1
Figure 3.2: Illustration generated from the GCLC code from Figure 3.1
Geometry quantities can be combined together into more complex terms by operatorsfor addition, multiplication and division. Operators are written in textual form as inthe following table: � equality� sum� mult{ ratio
The conjecture and all its sub-terms are written in prefix form, with brackets ifneeded. For instance,
SA1B1A � SA1B1B
is given to be proved in the following way:
prove { equal { signed_area3 A_1 B_1 A }
{ signed_area3 A_1 B_1 B }
}
and ��AF
FB� BD
DC
� CE
EA
� 1
is given to be proved in the following way:
prove { equal { mult { mult { sratio A F F B }
{ sratio B D D C } }
{ sratio C E E A } }
1 }
A range of geometry conjectures can be stated in terms of geometry quantities. Someof them are given in the following table.
32 CISUC TR 2006/001
points A and B are identical iff PABA � 0
points A, B, C are collinear iff SABC � 0
AB is perpendicular to CD iff PACD � PBCD
AB is parallel to CD iff SACD � SBCD
O is the midpoint of AB iff AO
OB� 1
AB has the same length as CD iff PABA � PCDC
points A, B, C, D are harmonic iff AC
CB� DA
DB
The conjecture can involve geometry quantities only over points and lines alreadyintroduced within the current construction, and by using (only) the following commands:
• point
• line
• intersec
• midpoint
• med
• perp
• foot
• parallel
• translate
• towards
• online
The prover cannot prove conjectures about object constructed by using some othercommands. For instance, if a line a is constructed by the command bis, then the provecannot prove conjectures involving a or involving points constructed by using a.
3.3 Underlying Algorithm
The theorem prover is based on the algorithm described in the previous chapter. Thebasic idea of the algorithm is to express a theorem in terms of geometry quantities, toeliminate (by appropriate lemmas) all occurrences of constructed point and to simplifythe expression, yielding a trivial equality.
3.3.1 Underlying Constructions
As we have stated in section 2.4.2 For each point X constructed, and for each geometryquantity g involving X, there is a suitable lemma that enables replacing g by an expres-sion with no occurrences of X. Thanks to these lemmas, all constructed points can beeliminated from the conjecture.
3.3. UNDERLYING ALGORITHM 33
3.3.2 Integration of Algorithm and Auxiliary Points
In order to be tightly integrated into GCLC , the prover uses standard GCLC con-struction commands and, if needed, transforms them internally into form required bythe algorithm and/or introduces some auxiliary points:
midpoint is expressed in terms of PRATIO, it does not introduce new points;
foot is expressed in terms of FOOT, it does not introduce new points;
med introduces two auxiliary points: for instance, med m A B introduce a point Mm asthe midpoint of AB and a point Tm on the bisector of AB (such that TRATIO Tm Mm A 1);the line m is then determined by the points Mm and Tm;
perp introduces one auxiliary point: if A lies on the line q, then perp p A q introducesa point Tp on a line perpendicular to q (such that TRATIO Tp A Q1 1; where theline q is determined by points Q1 and Q2); in this case, the line p is determinedby the points A and Tp; if A does not lie on the line q, then perp p A q introducea point Fp which is a foot of the normal from A to the line q; in this case, the linep is determined by the points A and Fp;
parallel introduces one auxiliary point: for instance, parallel p A q introduces apoint Pp on a line parallel to q (such that PRATIO Pp A Q1 Q2 1; the line p isthen determined by the points A and Pp;
translate is expressed in terms of PRATIO, it does not introduce new points;
towards is expressed in terms of PRATIO, it does not introduce new points;
online is expressed in terms of PRATIO, it does not introduce new points, but intro-duces a (indeterminate) constant r: for instance, online X A B is interpreted asPRATIO X A A B r.
Definitions of auxiliary points are given at the beginning of the proof.
3.3.3 Non-degenerative Conditions and Lemmas
Some constructions are possible only if certain conditions are met. For instance, theconstruction inter X a b is possible only if the lines a and b are not parallel. For suchconstructions non-degenerative conditions are store for future possible use and listed atthe end of the proof.
Some non-degenerative conditions can also be introduced during the proving process:
• some lemmas have two cases (for instance, ,,if A belongs to CD“ and ,,if A doesnot belong to CD“); if a condition for one case can be proved (as a lemma), thenthat case is applied, otherwise, a condition for one case (the one of the form L � R)is assumed and introduced as a non-degenerative condition.
• in the cancellation rule, if all summands on both sides of the equality have thesame multiplication factor X, the rule tries to prove (as a lemma) that X � 0;if this fails, a condition X � 0 is assumed and introduced as a non-degenerativecondition and the equality is cancelled by X.
Lemmas are being proved as separate conjectures, but, of course, sharing the con-struction and non-degenerative conditions with outer context.
34 CISUC TR 2006/001
3.3.4 Structure of Algorithm
The algorithm has one main while loop — it process the sequence of all (relevant)constructions in backward manner (from last to first construction step) and transformsthe current goal as follows:
• the current goal is initially the given conjecture;
• while there are construction steps do:
– apply geometric simplifications to the current goal;
– apply algebraic simplifications to the current goal;
– if the current construction step introduce a new point P , then eliminate (usingthe elimination rules) one of occurrences of P (from the current goal) and goto the top of the while loop; otherwise, go to next construction step.
• apply geometric simplifications to the current goal;
• apply algebraic simplifications to the current goal.
• if the current goal is a trivial equation, then the conjecture has been proved,otherwise, the conjecture has not been proved.
The reasoning steps, as seen from the above overall algorithm, are divided into threegroups:
algebraic simplifications: applies simplification rewrite rule (not directly related togeometry) such as:
x� 0 Ñ x
0� x Ñ x
x � 1 Ñ x
x � 0 Ñ 0x
y� u
vÑ x � v � u � y
y � v. . .
Algebraic simplifications are discussed in more details in §3.3.5.
geometric simplifications: applies simplification rewrite rule, directly related to ge-ometry quantities such as:
SAAB Ñ 0
SABC Ñ SBCA
PAAB Ñ 0
. . .
Geometric simplifications are discussed in more details in §3.3.6.
3.3. UNDERLYING ALGORITHM 35
elimination simplifications: applies elimination lemmas for eliminating constructedpoints for the current goal; for instance, if the point Y is introduced by as theintersection of lines l1 (determined by U and V ) and l2 (determined by P and
Q), then Y can be eliminated from expression of the form AY
CDusing the following
equality:
AY
CD� # SAPQ
SCPDQ, if A P UV
SAUV
SCUDV, if A R UV
The lemmas 8 and 29 through 40 are used for elimination simplifications. Notethat some lemmas have two cases, one of them is chosen in the manner describedin §3.3.3.
3.3.5 Algebraic Simplification
The author of the paper (Chou et al., 1993) do not discuss the important issue of simpli-fication of expressions, but only geometrical aspects and elimination lemmas. However,this is not sufficient for implementing the prover based on the area method. In this partof the paper, we give a full description of the algebraic simplification used in our imple-mentation of the area method. Algebraic simplifications are based on rewrite rules, withsome of them conditional rewrite rules and with some of them that cannot be describedas first-order rules. The following rules are used:
Multiplication by zero:
x � 0 Ñ 0
0 � x Ñ 0
Multiplication by one:
x � 1 Ñ x
1 � x Ñ x
Zero fraction up:
0
xÑ 0
Fraction equal zero:
x
y� 0 Ñ x � 0
Summation with zero:
x� 0 Ñ x
0� x Ñ x
Multiplication of constants:
c1 � c2 Ñ c3 where c1 and c2 are constants (constant real numbers) and c1 � c2 � c3
36 CISUC TR 2006/001
Ratio cancellation:
AB
ABÑ 1
AB
BAÑ �1
E1 � . . . �Ei�1 � . . . � C �Ei�1 � . . . �En
E11� . . . �E1
j�1� . . . � C �E1
j�1� . . . �E1
m
Ñ E1 � . . . �Ei�1 �Ei�1 � . . . �En
E11� . . . � E1
j�1�E1
j�1� . . . � E1
m
Similar summands:
E1 � � � � �Ei�1 � c1 � C �Ei�1� � � � �Ej�1 � c2 � C 1 �Ej�1 � � � � �EnÑE1 � � � �Ei�1 � c3 � C �Ei�1� � � � �Ej�1 � 0�Ej�1 � � � � �En
where c1 and c2 are constants (constant real numbers) and c1 �c2 � c3 and C and C 1are equal products (with all multiplicands equal up to permutation). Note that thisrule assumes that multiplication and addition are commutative and associative.
Similar summands on two sides:
E1 � � � � �Ei�1 � c1 � C �Ei�1 � � � � �En � E11 � � � � �E1
j�1 � c2 � C 1 �E1j�1 � � � � �E1
mÑE1 � � � � �Ei�1 � c3 � C �Ei�1 � � � � �En � E1
1 � � � � �E1j�1 � 0�E1
j�1 � � � � �E1m
where c1 and c2 are constants (constant real numbers) and c1 � c2 � c3 andC and C 1 are equal products (with all multiplicands equal up to permutation).Note that this rule assumes that multiplication and addition are commutative andassociative.
Fraction with constant numerator:
x
1Ñ x
x
cÑ p1{cq � x
where c is a constant (constant real number) and c � 1
Multiple fraction:
abc
Ñ a � cb
ab
cÑ a
b � cabcd
Ñ a � dc � b
3.3. UNDERLYING ALGORITHM 37
Multiplication of fractions:
a � b
cÑ a � b
ca
b� c Ñ a � c
ba
b� c
dÑ a � c
b � dCommutativity with number:
x � c Ñ c � xwhere c is a constant (constant real number) and x is not a constant.
Associativity and commutativity:
x � pc � yq Ñ c � px � yqwhere c is a constant (constant real number) and x is not a constant.
Cancellation: If the current goal is of the form
E1 � � � �Ei�1 � � �C �Ei�1 � � � � �En � E11 � � � �E1
j�1 � � �C �E1j�1 � � � � �E1
m
and if all summands Ei and E1j have a common multiplication factor X, then try
to prove that it holds X � 0:
• if X � 0 has been proved, the current goal can be rewritten to 0 � 0;
• if X � 0 has been disproved (i.e., if X � 0 has been proved), then both sidesin the current goal can be cancelled by X;
• if neither X � 0 nor X � 0 can be proved, then assume X � 0 (and add tothe list of non-degenerative conditions) and cancel both sides in the currentgoal by X.
Note that this steps includes proving subgoals (which initiate the whole provingprocess on the new goal). However, note that there is no branching, so the proofis always sequential. See also §3.3.3.
Right associativity: ppa � bq � cq Ñ a � pb � cqDistributivity over addition:
a � pb� cq Ñ a � b� a � cpb� cq � a Ñ b � a� c � aSum of fractions:
a
b� c
bÑ a� c
ba
b� c Ñ a� c � b
b
c� a
bÑ c � b� a
ba
b� c
dÑ a � d� c � b
bd
38 CISUC TR 2006/001
Fractions on two sides:
a
b� c
bÑ a � c
a
b� c
dÑ a � d � c � b
One side:
a � c Ñ a� c � 0
In the algebraic simplification step, these rules are used in the “waterfall” manner:they are tried for applicability, and when one rule is (once) applied successfully, thenthe list of the rules is tried from the top. The algebraic rules are ordered as above. It isnot difficult to prove that such transformation process terminates.
3.3.6 Geometric Simplifications
Geometric simplifications are based on the following lemmas: 1, 2, 4, 10, 11, 17, 18, 19and on the following definitions: 4, 5, 6. They are applied within the following rules:
Zero-valued geometry quantity:
AA Ñ 0AA
BCÑ 0 Lemma 11
SABC Ñ 0 if A, B, C are collinear; Lemma 2PAAB Ñ 0 Lemma 17PBAA Ñ 0 Lemma 17
Matching quantity:
• If there is a term AB in the current goal, apply exhaustively the followingrewrite rule:
BA Ñ AB
• If there is a term SABC in the current goal, apply exhaustively the followingrewrite rules:
SBCA Ñ SABC Lemma 1SCAB Ñ SABC Lemma 1SACB Ñ �1 � SABC Lemma 1SBAC Ñ �1 � SABC Lemma 1SCBA Ñ �1 � SABC Lemma 1
• If there is a term PABC in the current goal, apply exhaustively the followingrewrite rule:
PCBA Ñ PABC Lemma 18
• If there is a term PABA in the current goal, apply exhaustively the followingrewrite rule:
PBAB Ñ PABA Lemma 19
3.3. UNDERLYING ALGORITHM 39
This transformation is performed in hope that some expression can be cancelledafterwards.
Orient: This rule is applied when the current construction step2 introduces the pointY . Elimination lemmas enable eliminating a point from expressions only at certainpositions — usually the last position in the list of the arguments. That is whyit is necessary to transform relevant terms in the current goal. For terms SABCD
and PABCD (of arity 4), the first step is to transform them into terms of arity 3.
Y A
BCÑ �1 � AY
BCLemma 10
BC
Y AÑ �1 � BC
AYLemma 10
SAY B Ñ SBAY Lemma 1SY AB Ñ SABY Lemma 1PY AB Ñ PBAY Lemma 18SY ABC Ñ SY AB � SY BC Definition 4SAY BC Ñ SAY B � SABC Definition 4SABY C Ñ SABY � SAY C Definition 4PABCD Ñ PABD ��1 � PCBD Definition 6
Geometric simplification is applied in each iteration of the while-loop in the algo-rithm, and then after the while-loop. In this last application, apart from the above rules,there are several additional ones, described below.
S4 to S3:SABCD Ñ SABC � SACD Definition 4
P4 to P3:PABCD Ñ PABD ��1 � PCBD Definition 6
H4 points:SABC Ñ SABD � SADC � SDBC Lemma 4
if there are terms SABD, SADC , SDBC in the current goal.
P3 to segments:
PABC Ñ AB2 � CB2 ��1 �AC2 Definition 5
In the main loop, only the first three of the above rules are used.In the geometric simplification step, the above rules are used in the “waterfall”
manner: they are tried for applicability, and when one rule is (once) applied successfully,then the list of the rules is tried from the top. The geometric rules are ordered as above.It is not difficult to prove that such transformation process terminates.
3.3.7 Scope
The theorem prover can prove any geometry theorem expressed in terms of geometryquantities, and involving only points introduced by using the commands point, line,intersec, midpoint, med, perp, foot, parallel, translate, towards, online. Thiscan be proved following the ideas from (Chou et al., 1993). However, some of the proofscan be very long.
2Recall that construction steps are processed one by one, in reversed order — from the last to thefirst one.
40 CISUC TR 2006/001
3.4 Prover Output
A proof is exported in LATEX form using a special style file gclc.sty, in the filename-proof.tex (in the current directory, name is the name of the input file). If thereis no prove command within the construction, then the file name-proof.tex will notbe created.
At the beginning of the proof, the auxiliary points are defined, for instance:
Let M0a be the midpoint of the segment BC.
Let T 1a be the point on bisector of the segment BC (such that TRATIO
T 1a M0
a B 1).
The proof consists of proof steps. In each proof step, the current goal is changed. Foreach proof step, there is an explanation and its semantics counterpart. This semanticinformation is calculated for concrete points used in the construction (note that thesecoordinates are never used in the proof itself); it can serve as a semantic test, especiallyfor conjectures for which is not known whether or not they are theorems. Proof step areenumerated. For example:��
AF
FB� BD
DC
� CE
EA
= 1 by the statement (1)����1 � AF
BF
� BD
DC
� CE
EA
= 1 by geometric simplifications (2)
The gclc style has three options controlling the output, the above example show thedefault values, e.g. portrait, small and no semantic values. The options and its valuesare:
orientation & style portrait – uses the package longtable to generate a multi-pagetable (default value); portraitbreqn – uses the package breqn to try to break au-tomatically the equations. Notice that the package breqn fails if it encounter extralarge fractions (it fails if the fraction is larger then the textwidth); landscape -uses the packages lscape, amsmath (with option leqno), and breqn, to generate thelist of equations in landscape mode, with numbers on the left, and with automaticequation breaking.
size The normal size names of LATEX, from “tiny” up to “large” are used in order todefine the size of the fonts inside a demonstration. The default value is small.
semantics if used, it displays the semantic values of both sides of equations. Thedefault value is NULL.
Lemmas are proved within the main proof (making nested proof levels), and thebeginning and the end of a proof for a lemma is marked by a horizontal solid line.
At the end of a proof, it is reported if the conjecture is proved (“Q.E.D.” — lat. QuodErat Demonstrandum — which was required to prove) or not.
At the end of the main proof all non-degenerative conditions are listed. For instance:
SM0aM2
bT 3
b� ST 1
a M2
bT 3
bi.e., lines M0
aT 1a and M2
b T 3b are not parallel (con-
struction based assumption)
See some complete examples in the appendix.
3.4. PROVER OUTPUT 41
3.4.1 Controlling Level of Output
The level of proof output is controlled by the command prooflevel. This commandhas one argument (an integer from 0 to 7) which provides the output level:
0 : no output (except the statement);
1 : elimination steps plus grouped geometric steps and algebraic steps;
2 : elimination steps plus geometric steps plus grouped algebraic steps;
3 : as level 2, plus statements of lemmas;
4 : as level 3, plus elimination steps plus grouped geometric steps and algebraicsteps in lemmas;
5 : as level 4, plus geometric steps in lemmas;
6 : as level 5, plus algebraic steps at proof level 0;
7 : as level 6, plus algebraic steps in lemmas.
The default output level is 1.
3.4.2 Prover Short Report
Apart from the proof exported to file name-proof.tex, the prover produces a shortreport (if there was a conjecture given in the gcl file). In the command line version,this short report is shown and written in the log file, while WinGCLC shows this reportin its output window. The report consists of information on number of steps performed,on CPU time spent and whether or not the conjecture has been proved. For example:
Number of elimination proof steps: 3
Number of geometric proof steps: 6
Number of algebraic proof steps: 23
Total number of proof steps: 32
Time spent by the prover: 0.002 seconds
The conjecture successfully proved.
The prover output is written in the file ceva-proof.tex.
Appendix A
Proofs examples
A.1 GeoThms - Geometry Theorems Database
As a support for the other programs there exist the GeoThms data base. The GeoThms- Geometry Theorems Database aims to provide a common repository of theorems andproofs in the area of constructive problems in Euclidean Geometry, in particular for theArea Method.
The examples described next, along with many others can be found in:
http://hilbert.mat.uc.pt/~geothms/
using as user and password “anonymous”.
A.2 Proof of Ceva’s Theorem
A.2.1 Default style
The complete proof compiled with the default options.��ÝÑAFÝÝÑFB
� ÝÝÑBDÝÝÑDC
� � ÝÝÑCEÝÑEA
� � 1by the state-ment
(0)����1 � ÝÑAFÝÝÑBF
� � ÝÝÑBDÝÝÑDC
� � ÝÝÑCEÝÑEA
�� 1by geometricsimplifications
(1)��1 ��ÝÑAFÝÝÑBF
��ÝÝÑBDÝÝÑDC
� ÝÝÑCEÝÑEA
���� 1by algebraicsimplifications
(2)��1 ��SAPC
SBPC
��ÝÝÑBDÝÝÑDC
� ÝÝÑCEÝÑEA
���� 1
by Lemma8 (point F
eliminated)(3)��1 ��SAPC
SBPC
��ÝÝÑBDÝÝÑDC
���1 � ÝÝÑCEÝÑAE
����� 1by geometricsimplifications
(4)�SAPC � �ÝÝÑBDÝÝÑ
DC� ÝÝÑCEÝÑAE
SBPC
� 1by algebraicsimplifications
(5)
42
A.2. PROOF OF CEVA’S THEOREM 43�SAPC ��ÝÝÑBDÝÝÑ
DC� SCP B
SAPB
SBPC
� 1
by Lemma8 (point E
eliminated)(6)�
SAPC ����1 � ÝÝÑBDÝÝÑCD
� SCPB
SAPB
p�1 � SCPBq � 1by geometricsimplifications
(7)�SAPC � ÝÝÑBDÝÝÑ
CD
SAPB
� 1by algebraicsimplifications
(8)�SAPC � SBPA
SCP A
SAPB
� 1
by Lemma8 (point D
eliminated)(9)�
SAPC � SBPAp�1�SAPCqp�1 � SBPAq � 1by geometricsimplifications
(10)
1 � 1by algebraicsimplifications
(11)
Q.E.D.
NDG conditions are:
SBPA � SCPA i.e., lines BC and PA are not parallel (construction based assump-tion)
SAPB � SCPB i.e., lines AC and PB are not parallel (construction based assump-tion)
SAPC � SBPC i.e., lines AB and PC are not parallel (construction based assump-tion)
PFBF � 0 i.e., points F and B are not identical (conjecture based assumption)
PDCD � 0 i.e., points D and C are not identical (conjecture based assumption)
PEAE � 0 i.e., points E and A are not identical (conjecture based assumption)
Number of elimination proof steps: 3
Number of geometric proof steps: 6
Number of algebraic proof steps: 23
Total number of proof steps: 32
Time spent by the prover: 0.001 seconds
A.2.2 Landscape & Semantics
A fragment of the proof compiled with the options landscape and semantics.
44C
ISU
CT
R2006/001
(1)
−→
AF
−→
FB
·
−→
BD
−→
DC
!
·
−→
CE
−→
EA
!
= 1 , by the statement (value 1=1)
(2)
−1 ·
−→
AF−→
BF
!
·
−→
BD−→
DC
!
·
−→
CE−→
EA
!
= 1 , by geometric simplifications (value 1=1)
(3)
−1 ·
−→
AF
−→
BF
·
−→
BD
−→
DC
·
−→
CE
−→
EA
!!!
= 1 , by algebraic simplifications (value 1=1)
(4)
−1 ·
SAPC
SBPC
·
−→
BD
−→
DC
·
−→
CE
−→
EA
!!!
= 1 , by Lemma 8 (point F eliminated) (value 1=1)
(5)
−1 ·
SAPC
SBPC
·
−→
BD−→
DC
·
−1 ·
−→
CE−→
AE
!!!!
= 1 , by geometric simplifications (value 1=1)
(6)
“
SAPC ·
“
−→
BD−→
DC·
−→
CE−→
AE
””
SBPC
= 1 , by algebraic simplifications (value 1=1)
(7)
“
SAPC ·
“
−→
BD−→
DC·
SCPB
SAPB
””
SBPC
= 1 , by Lemma 8 (point E eliminated) (value 1=1)
(8)
“
SAPC ·
““
−1 ·
−→
BD−→
CD
”
·SCPB
SAPB
””
(−1 · SCPB)= 1 , by geometric simplifications (value 1=1)
A.3
Harm
onic
Set
Proof
A.3
.1Portr
ait
with
Auto
matic
Breakin
gofEquatio
ns
Afragm
ent
ofth
epro
ofcom
piled
with
the
option
portraitbreqn.
A.3. HARMONIC SET PROOF 45
(1)−→LF−−→KF
=
−→LG−−→GK
, by the statement
(2)−→LF−−→
KF=
(
−1 ·
−→LG−−→
KG
)
,by geometricsimplifications
(3)−→LF−−→KF
=
(
−1 ·
SLAC
SKAC
)
,by Lemma 8 (point G
eliminated)
(4)−→
LF−−→KF
=(−1 · SLAC)
SKAC
, by algebraic simplifications
(5)SLBD
SKBD
=(−1 · SLAC)
SKAC
,by Lemma 8 (point F
eliminated)
(6)(SLBD · SKAC) = (−1 · (SLAC · SKBD)) , by algebraic simplifications
(7)(SLBD · SACK) = (−1 · (SLAC · SBDK)) ,by geometricsimplifications
(
SLBD ·
((SABC · SACD) + (−1 · (SDBC · SACA)))
SABDC
)
= (−1 · (SLAC
· SBDK)) ,by Lemma 30 (point K
eliminated)
(8)
(9)
(
SLBD ·
((SABC · SACD) + (−1 · (SDBC · 0)))
SABDC
)
= (−1 · (SLAC
·SBDK)) ,by geometricsimplifications
(10)(SLBD · (SABC · SACD))
SABDC
= (−1 · (SLAC · SBDK)) , by algebraic simplifications
(11)
(SLBD · (SABC · SACD))
SABDC
=
(
−1
·
(
SLAC ·
((SABC · SBDD) + (−1 · (SDBC · SBDA)))
SABDC
))
,by Lemma 30 (point K
eliminated)
(12)
(SLBD · (SABC · SACD))
SABDC
=
(
−1 ·
(
SLAC ·
((SABC · 0) + (−1 · (SDBC · SBDA)))
SABDC
))
,by geometricsimplifications
(13)(SLBD · (SABC · SACD)) = (SLAC · (SDBC · SBDA)) , by algebraic simplifications
(14)(SBDL · (SABC · SACD)) = (SACL · (SDBC · SBDA)) ,by geometricsimplifications
(15)
(
((SACD · SBDB) + (−1 · (SBCD · SBDA)))
SACBD
· (SABC · SACD)
)
= (SACL · (SDBC · SBDA)) ,by Lemma 30 (point L
eliminated)
(16)
(
((SACD · 0) + (−1 · (SBCD · SBDA)))
SACBD
· (SABC · SACD)
)
= (SACL · (SBCD · SBDA)) ,by geometricsimplifications
(17)
(−1 · (SBCD · (SBDA · (SABC · SACD))))
SACBD
= (SACL · (SBCD
· SBDA)) , by algebraic simplifications
References
Chou, Shang-Ching, Gao, Xiao-Shan, & Zhang, Jing-Zhong. 1993. Automatedproduction of traditional proofs for constructive geometry theorems. Pages 48–56of: Vardi, Moshe (ed), Proceedings of the Eighth Annual IEEE Symposium onLogic in Computer Science LICS. IEEE Computer Society Press.
Chou, Shang-Ching, Gao, Xiao-Shan, & Zhang, Jing-Zhong. 1996. AutomatedGeneration of Readable Proofs with Geometric Invariants, I. Multiple and ShortestProof Generation. Journal of Automated Reasoning, 17, 325–347.
Coelho, H., & Pereira, L. M. 1986. Automated reasoning in geometry theoremproving with Prolog. Journal of Automated Reasoning, 2(4), 329–390.
Djoric, Mirjana, & Janicic, Predrag. 2004. Constructions, instructions, interac-tions. Teaching Mathematics and its Applications, 23(2), 69–88.
Elcock, E. W. 1977. Representation of knowledge in geometry machine. MachineIntelligence, 8, 11–29.
Gelernter, H. 1959 (June 15-20). Realization of a geometry theorem proving ma-chine. Pages 273–282 of: Proceedings of the International Conference InformationProcessing.
Greeno, J.G., Magone, M. E., & Chaiklin, S. 1979. Theory of constructions andset in problem solving. Memory and Cognition, 7(6), 445–461.
Janicic, Predrag, & Trajkovic, Ivan. 2003. WinGCLC — a Workbench for For-mally Describing Figures. Pages 251–256 of: Proceedings of the 18th Spring Con-ference on Computer Graphics (SCCG 2003). ACM Press, New York, USA.
Kapur, D. 1986. Using Grobner bases to reason about geometry problems. Journal ofSymbolic Computation, 2(4), 399–408.
Li, H. 2000. Clifford algebra approaches to mechanical geometry theorem proving.Pages 205–299 of: Gao, X.-S., & Wang, D. (eds), Mathematics Mechanizationand Applications. San Diego, CA: Academic Press.
Narboux, Julien. 2004. A Decision Procedure for Geometry in Coq. In: ProceedingsTPHOLS 2004. Lecture Notes in Computer Science, vol. 3223. Springer.
Nevis, A.J. 1975. Plane geometry theorem proving using forward chaining. ArtificialIntelligence, 6(1), 1–23.
46
REFERENCES 47
Wang, D. 1995. Reasoning about geometric problems using an elimination method.Pages 147–185 of: Pfalzgraf, J., & Wang, D. (eds), Automated Pratical Rea-soning. New York: Springer.
Wu, W.-T. 2000. The characteristic set method and its application. Pages 3–41 of:Gao, X.-S., & Wang, D. (eds), Mathematics Mechanization and Applications.San Diego, CA: Academic Press.
Zhang, Jing-Zhong, Chou, Shang-Ching, & Gao, Xiao-Shan. 1995. Automatedproduction of traditional proofs for theorems in Euclidean geometry I. The Hilbertintersection point theorems. Annals of Mathematics and Artificial Intelligenze, 13,109–137.