-
Journal of Automated Reasoning 25: 83121, 2000. 2000 Kluwer
Academic Publishers. Printed in the Netherlands. 83
Vectorial Equations Solving for MechanicalGeometry Theorem
Proving ?
HONGBO LIMMRC, Institute of Systems Science, Academia Sinica,
Beijing 100080, P.R. China
(Received: September 1996)Abstract. In this paper a new method
is proposed for mechanical geometry theorem proving. Itcombines
vectorial equations solving in Clifford algebra formalism with Wus
method. The proofsproduced have significantly enhanced geometric
meaning and fewer nongeometric nondegeneracyconditions.
Key words: mechanical theorem proving, Wus method, Clifford
algebra, vectorial equations solv-ing, the area method.
1. The Idea
Among algebraic methods for mechanical geometry theorem proving,
Wus char-acteristic set method [2, 29, 34] is one of the most often
used. In this method,a characteristic set is computed from a
polynomial set representing the hypothe-sis of a geometric theorem
through a sequence of pseudo-divisions. As differentsequences of
pseudo-divisions lead to different results, a good arrangement
forpseudo-divisions can lead to a characteristic set of simpler
structure and better geo-metric meaning, which in turn can simplify
the proof of a theorem. Here, by simplerstructure we mean fewer
irreducible branches and nondegeneracy conditions; bybetter
geometric meaning we mean more constraints that are geometrically
in-variant. Geometric invariance implies at least independence of
the choice of acoordinate system.
The starting point of our discussion is how to design a good
sequence of pseudo-divisions. Let us take a look at the first
example. In a plane there are two linesli : aix + biy + ci = 0, i =
1, 2. From the polynomials{
a1x + b1y + c1, (a)a2x + b2y + c2 (b) (1.1)
a characteristic set can be computed under the order of
variables ai, bj , ck x y,?? through the pseudo-division
a1(1.1b)a2(1.1a):
? This paper is supported partially by the NSF of China.?? It
means that one can choose any order among the ai , bj , ck as long
as they precede x.
-
84 HONGBO LI{a1x + b1y + c1,(a1b2 a2b1)y + (a1c2 a2c1).
(1.2)
The nondegeneracy conditions are a1b2 a2b1 6= 0 and a1 6= 0.
Lines l1, l2 areparallel if and only if a1b2 a2b1 = 0, so this
degenerate case is geometricallyinvariant. The degenerate case a1 =
0 happens if and only if l1 is parallel to thex-axis, and therefore
is not geometrically invariant.
In fact, the second degenerate case does not appear if we use a
matrix methodto compute (x, y): when writing the equations of l1,
l2 as(
a1 b1a2 b2
)(x
y
)=
(c1c2
),
we find that the only degenerate case occurs when the
determinant of the coefficientmatrix, a1b2 a2b1, equals zero.
The above matrix method can be realized through the following
sequence ofpseudo-divisions [2]: we compute a1(1.1b)a2(1.1a) first,
then compute b2(1.1a)b1(1.1b). The result is the characteristic
set{
(a1b2 a2b1)x + (c1b2 c2b1), (a)(a1b2 a2b1)y + (a1c2 a2c1). (b)
(1.3)
The generalization to higher dimensions is as follows: let a11x1
+ + a1nxn = b1, (i1) an1x1 + + annxn = bn (in)
(1.4)
be n hyperplanes in an nD space. Then the kth coordinate xk of
their intersectioncan be computed through the sequence of
pseudo-divisions
A1k(1.4i1)+ +Ank(1.4in), (1.5)where Ajk is the minor
corresponding to ajk of the coefficient matrix in (1.4).
If we use vectors instead of coordinates to represent geometric
entities, then invector algebra, lines l1, l2 have the form{
X A1 = c1,X A2 = c2, (1.6)
where X = (x, y)T ,Ai = (ai, bi)T for i = 1, 2. Assuming that
{A1,A2} form abasis of the plane, we have X = 1A1 + 2A2, where 1, 2
are unknown scalars.The nondegeneracy condition for this assumption
is A1 A2 6= 0. Solving for the with the matrix method, we obtain
the expression for X:
(A21A22 (A1 A2)2)X(1.7)= (A1 A2c2 A22c1)A1 + (A1 A2c1
A21c2)A2,
-
MECHANICAL GEOMETRY THEOREM PROVING 85
where A2i represents Ai Ai . SinceA21A22 (A1 A2)2 = (A1 A2)2 =
(a1b2 a2b1)2,
(1.7) is more complicated than (1.3), because X is a quadratic
fraction of both A1and A2 in (1.7), while the coordinates of X are
linear fractions of both coordinatesof A1 and A2 in (1.3).
We can also solve (1.6) in Clifford algebra. Let a dot denote
the inner productand a wedge denote the outer product. Then for
vectors X,A1,A2,
X (A1 A2) = (X A1)A2 (X A2)A1. (1.8)Applying the dual operator
to (1.8), we obtain an expression for X:
(A1 A2)X = c1A2 + c2A1 . (1.9)(1.9) is exactly (1.3) when
vectors are represented by their coordinates, since
Ai = (bi, ai)T ,(A1 A2) =
a1 a2b1 b2 .
(1.9) also has geometric meaning, as (A1 A2) equals the signed
area of theparallelogram spanned by vectors A1,A2, and Ai is the
image of Ai after a 90anticlockwise rotation.
This example suggests that we can use Clifford algebra to solve
vectorial equa-tions (equations of multivectors, see later
sections). By doing so we can obtaincharacteristic sets with better
structure and geometric meaning, at least better thanusing vector
algebra. Below we look at the second example.
In space there is a plane p : a1x + b1y + c1z+ d1 = 0 and a line
l : (x a3) :(y b3) : (z c3) = a2 : b2 : c2. For the polynomials
b2(x a3) a2(y b3), (a)c2(x a3) a2(z c3), (b)c2(y b3) b2(z c3),
(c)a1x + b1y + c1z+ d1 (d)
(1.10)
a characteristic set under the order of variables ai bi ci x y
z, can becomputed through the pseudo-divisions a2(1.10d)+
b1(1.10a)+ c1(1.10b):
b2(x a3) a2(y b3),c2(x a3) a2(z c3),(a1a2 + b1b2 + c1c2)xb1b2a3
+ b1b3a2 c1c2a3 + c1c3a2 + d1a2.
(1.11)
The nondegeneracy conditions are a1a2 + b1b2 + c1c2 6= 0 and a2
6= 0. Plane pis parallel to line l if and only if a1a2 + b1b2 +
c1c2 = 0, so this degenerate case
-
86 HONGBO LI
is geometrically invariant. The degenerate case a2 = 0 happens
if and only if l isparallel to the (y, z)-plane and therefore is
not geometrically invariant.
The second degenerate case occurs even when we use the matrix
method tocompute (x, y, z), because in b2 a2 0c2 0 a2
a1 b1 c1
xyz
= b2a3 b3a2c2a3 c3a2
d1
,the determinant of the coefficient matrix is a2(a1a2 + b1b2 +
c1c2).
However, the second degenerate case can be avoided when we use
vector alge-bra. Let X = (x, y, z)T , Ai = (ai, bi, ci)T , i = 1,
2, 3. Then the line and planehave the form{
(X A3) A2 = 0,X A1 = d1.
From the first equation we derive X = A3+A2, where is an unknown
scalar. Thenondegeneracy condition for this derivation is A2 6= 0.
Solving for , we obtainthe expression for X:
(A1 A2)X = (A1 A2)A3 (d1 + A1 A3)A2. (1.12)The nondegeneracy
conditions are A2 6= 0 and A1 A2 6= 0. As A2 = 0 impliesA1 A2 = 0,
the only degenerate case is A1 A2 = a1a2 + b1b2 + c1c2 = 0.
In coordinate form, (1.12) can be obtained through the following
sequence ofpseudo-divisions:
a2(1.10d)+ b1(1.10a)+ c1(1.10b),b2(1.10d) a1(1.10a)+ c1(1.10c),
(1.13)c2(1.10d) a1(1.10b) b1(1.10c).
Using Clifford algebra, we can obtain the same result (1.12).
The equations ofthe line and plane are{
X A2 = A3 A2,X A1 = d1. (1.14)
From the identity (1.8) we haveA1 (X A2) = (A1 X)A2 (A1
A2)X,
which becomes (1.12) after we substitute (1.14) into it. This
example suggests that,when using Clifford algebra to solve
equations, we can obtain characteristic sets atleast better than
using the matrix method.
Both examples show that equations solving in Clifford algebra
formalism canbe realized by peculiar sequences of pseudo-divisions
and that Clifford algebra can
-
MECHANICAL GEOMETRY THEOREM PROVING 87
help to obtain better characteristic sets. We can be satisfied
with using Cliffordalgebra to devise sequences of pseudo-divisions
for Wus method, but we want togo one step further; that is, we want
to use Clifford algebra to represent geometricentities and
constraints directly, compute a triangular sequence in Clifford
algebraformalism from the hypothesis of a geometric theorem, and
prove the conclusionwith the triangular sequence. This idea
inspires the following program of applyingClifford algebra to
theorem proving. Below we sketch an outline of the program.The
details can be found in later sections.
We use multivectors in Clifford algebra to represent geometric
entities, and vec-torial equations to represent geometric
constraints. After providing an order for themultivector variables,
we do triangulation in the set of vectorial equations repre-senting
the hypothesis of a geometric theorem. The elimination techniques
includepseudo-division, substitution, and equations solving. Then
we obtain a triangularsequence of vectorial equations. We can do
pseudo-divisions and substitutions tothe conclusion, which is
assumed to be one or several vectorial equations, to detectif it
can be reduced to 0 = 0. If it can, the conclusion is proved under
some non-degeneracy conditions; the triangular sequence and the
nondegeneracy conditionshave geometric interpretation. This is the
first stage of the program.
The correctness of the proving method is guaranteed by Wus
method, becausevectorial equations solving is a sequence of
pseudo-divisions that in the end re-duces the order of a polynomial
set. The above proving method is not complete inthat there are
theorems that cannot be reduced to 0 = 0 by the triangular
sequence.What to do next?
Let us take a look at the third example. In plane, there is a
line l : a1x + b1y +c1 = 0 and a circle c : x2 + y2 2a2x 2b2y + c2
= 0. From the polynomials{
a1x + b1y + c1,x2 + y2 2a2x 2b2y + c2 (1.15)
a characteristic set can be computed through pseudo-divisions
under the order ofvariables ai, bi, ci x y:{
a1x + b1y + c1,(a21 + b21)y2 + 2(b1c1 + a1a2b1 a21b2)y + (c21 +
2a1a2c1 + a21c2). (1.16)
The nondegeneracy conditions are a21 + b21 6= 0 and a1 6= 0.
Line l is degenerateif and only if a21 + b21 = 0, so this
degenerate case is geometrically invariant.The degenerate case a1 =
0 happens if and only if l1 is parallel to the x-axis andtherefore
is not geometrically invariant.
The second degenerate case does not appear when we use Clifford
algebra. LetX = (x, y)T ,Ai = (ai, bi)T for i = 1, 2. Then the line
and circle have the form{
X A1 = c1, (a)(X A2)2 = c2 + A22. (b) (1.17)
From (1.17a) and under the assumption that A1 6= 0, we
obtainA21X = c1A1 + A1 , (1.18)
-
88 HONGBO LI
where is an unknown parameter. Substituting (1.18) into (1.17b),
we obtain2 + 2(A1 A2)+ (c21 + c2A21 + 2c1A1 A2) = 0. (1.19)
Now we obtain a triangular sequence (1.18), (1.19). The order of
variables becomesAi , cj X. The parameter equals the signed area of
the parallelogramspanned by vectors A1 and X. The derivation from
(1.17a) to (1.18) is calledparametric equations solving. This
example shows that by parametric equationssolving, some implicit
equations can be replaced by explicit ones automatically.Equation
(1.18) is more useful than (1.17a) in proving, although less
satisfactoryin geometric interpretation.
The second stage of our theorem proving program involves
triangulation to thetriangular sequence obtained from the first
stage by allowing parametric equationssolving. The result is called
a parametric triangular sequence. It is then used toprove the
conclusion. Parametric equations solving is often used when a
multi-vector is underdetermined by a set of linear equations (but
may be determined oroverdetermined when nonlinear equations are
also counted). It is also applicable tosome nonlinear equations,
for example, quadratic equations representing conics.
If the parametric triangular sequence still fails to prove the
conclusion, we needto go back to the coordinate representation.
This is the last stage of our program.The advantage now is that we
start from the parametric triangular sequence, insteadof the
original hypothesis, and the former has been partially triangulated
whilekeeping good geometric interpretation. The two-stage
preparation when viewedfrom Wus method is worth all the trouble,
because it contributes to making a goodchoice of a coordinate
system, an order for the coordinates, as well as
makingsimplification and reasoning for the original hypothesis.
Another reason to useClifford algebra stems from the fact that a
theorem is often proved without us-ing coordinates. In our
experiments of proving typical theorems, in Euclidean,spherical,
hyperbolic, and projective geometries, more than half of the
theoremsdo not need coordinates, while in differential geometry, we
have actually neverused coordinates. Our experiments also show
that, the higher the dimension of thegeometric space, the better
the proofs produced without using coordinates.
The idea of vectorial equations solving has appeared in several
previous papersby the author [21 23]. Paper [22] is on theorem
proving in plane geometry; theproofs produced there are similar to
those by the area method. Paper [23] is fortheorems on space curves
in differential geometry; the proofs produced there aresimilar to
those used in college differential geometry textbooks. Paper [21]
is fortheorems on space surfaces in differential geometry; the
proofs produced thereare often simpler than those used in
textbooks. Recently we have implemented aprogram for theorem
proving in solid geometry. Some examples are given in
latersections.
In this paper we talk about the vectorial equations solving
method for nD Euclid-ean geometry. The method can also be applied
to other geometries, for example,non-Euclidean, differential,
conformal geometries. In other geometries, new equa-
-
MECHANICAL GEOMETRY THEOREM PROVING 89
tions solving formulas need to be provided. Section 2 is on
equations solvingformulas in Euclidean geometry. Section 3 is on
our theorem proving method.Section 4 is on implementation
details.
During the preparation of this paper, the author learned that D.
M. Wang hasproposed to combine Clifford algebra with a Grbner basis
method [19, 27] fortheorem proving. He has come up with a general
framework [30] and his experi-ments in Euclidean geometry show that
Clifford algebra combining a Grbner basiscan produce geometrically
invariant proofs similar to those by the area method [3].Our works
suggest great potential for the application of Clifford algebra in
theoremproving.
Clifford algebra was originally called geometric algebra by its
discoverer W.Clifford. It includes a bunch of algebraic tools in
geometries: vector algebra andcalculus, GrassmannCayley algebra,
determinants, differential forms, complexnumbers, quaternions,
spinors, and so on, and can be applied to geometry, analy-sis,
algebra, mechanics and physics [8 10, 14 18, 20]. The version of
Cliffordalgebra formulated by D. Hestenes [15, 16] has further
enhanced its computationalefficiency and make Clifford algebra
applicable immediately to geometries as ageometric invariant
method. Some applications of this version of Clifford
algebra(called geometric algebra) to geometries can be found in [6,
7, 1113, 25, 26]. InAppendix A there is a preliminary introduction
to this version.
2. Vectorial Equations SolvingIn this section we present some
general formulas for vectorial equations solving inEuclidean
geometry. Among various Clifford algebraic models for geometry,
weuse only the Clifford model and the Grassmann model. Their
descriptions can befound in Appendix A. We always use En to denote
an n-dimensional Euclideanspace.
The following formula is applicable to both models:
Type (0). uxv y = 0, where u, v, y x and are multivectors, x is
the leadingbasic variable, and u, v, y do not involve
x.Solution:
x = u1yv1. (2.1)Nondegeneracy conditions: u, v are
invertible.
Here u, v can take scalar values; therefore four different kinds
of equations areincluded in this type:
uxv y = 0,ux y = 0,xv y = 0,x y = 0.
(2.2)
-
90 HONGBO LI
The drawback of the form (2.1) is that it does not present
explicit forms for u1, v1,which exist only in some special cases.
In 2D, the solution can be written as
x = uyv
(uu)(vv); (2.3)
the nondegeneracy conditions are the scalars uu, vv 6= 0. In 3D,
when u, v areeven or odd, the solution can be written as
x = uryv
(uu)(vv); (2.4)
the nondegeneracy conditions are the scalars uu, vv 6= 0.The
following are formulas for the Clifford model Gn of En: Let X and
the
Ai be vectors, the cj be scalars, the Bk be bivectors, the Cl be
trivectors, the 0mbe homogeneous multivectors, the Kp be
pseudovectors, the Jq be pseudoscalars.Here i, j, k, l,m, p, q are
indices. Also let the Ai , cj , Bk, Cl, 0m,Kp, Jq X anddo not
involve X.
Type (1, 1). X A1 c1 = 0,X A2 B2 = 0.Solution:
X = c1A2 A1 B2A1 A2 . (2.5)
Nondegeneracy condition: A1 A2 6= 0.Type (1, 2). X A1 c1 = 0, .
. . ,X An cn = 0.
Solution:
X =
ni=1ci(A1
Ai An)
(A1 An) . (2.6)
Nondegeneracy condition: A1 An 6= 0.Type (1, 3). X A1 B1 = 0,X
A2 B2 = 0.
There are two methods to solve it. The first method is used for
n 3. LetB = A1 A2. Then the solution is X =
(B1 A2) B B1 B A2 + B2 B A1B B , (a)
B1 A2 + B2 A1 = 0. (b)(2.7)
The nondegeneracy condition is B 6= 0. This method is often
preferred to thenext one in application, but has the drawback that
in (2.7), the coefficient ofX, which is B B, is quadratic with
respect to both A1 and A2.
-
MECHANICAL GEOMETRY THEOREM PROVING 91
The second method is used in 3D only, but it has the advantage
that in thesolution, the coefficient of X is linear with respect to
both A1 and A2. Let Ybe a vector satisfying Y A1 A2 6= 0. Then the
solution is X =
(B2 Y)A1 (A2 Y) B1(A1 A2 Y) , (a)
B1 A2 + B2 A1 = 0. (b)(2.8)
The nondegeneracy condition is A1 A2 Y 6= 0. This method can be
usedwhen B B is complicated after expansion and a vector Y can be
found tosimplify A1 A2 Y.When interchanging the indices 1, 2 in
(2.7), (2.8) (do not forget the indices inB!), we obtain two more
solutions that are different from, although equivalentto, (2.7),
(2.8). From this aspect, type (1, 3) is an ordered pair of
equations. Inapplication, we usually choose a solution with fewer
terms: if after expansion,B1A2 has more terms than B2A1, we
interchange the indices 1, 2 in (2.7),(2.8).
Type (1, 4). X A1 c1 = 0, . . . ,X An1 cn1 = 0.Parametric
solution: let K = A1 An1. Then
X = K +n1i=1
ci
K K (A1 Ai An1) K. (2.9)
Here is the free parameter. The nondegeneracy condition is K 6=
0.Type (1, 5). X A1 Ar 0 = 0, where r < n, 0 is an (r +
1)-vector.
Parametric solution: let 01 = A1 Ar . Then
X =ri=1
iAi + 0 0101 01 . (2.10)
Here the s are free parameters. The nondegeneracy condition is
01 6= 0.The following are formulas for the Grassmann model Gn+1 of
En. The leading
variable X below is always assumed to be a point vector.
Type (2, 1). X K J = 0,X B C = 0.Solution:
X = K (C)K B + J(B)
((B) K) . (2.11)
Nondegeneracy condition: (B) K 6= 0.
-
92 HONGBO LI
Type (2, 2). X K1 J1 = 0, . . . ,X Kn1 Jn1 = 0.Solution: let A =
K1 Kn1. Then
X =A+
n1i=1(1)iJi (K1
Ki Kn1)
(A). (2.12)
Nondegeneracy condition: (A) 6= 0.Type (2, 3). X B1 C1 = 0,X B2
C2 = 0.
There are two solving methods. The first is valid for n 4, but
requires thatB1 be a blade: B1 = A1 A2. Let B = (B1) (B2); Then the
solution is
X = ((C2) B (B1)+ (C1) B (B2)++ (A1 B2) B A2 (A2 B2) B A1 (a)
((C1) (B2)) B)/B B,
(C2) (B1)+ (C1) (B2) = (B1 B2). (b)(2.13)
The nondegeneracy condition is B 6= 0. Notice that in (2.13),
the coefficientof X is quadratic with respect to both B1 and B2.
When n = 4, this method isbetter avoided.The second method is valid
only for n = 4, but in the solution, the coefficientof X is linear
with respect to both B1 and B2, and inner products do not occurin
the solution. Let Y be a vector satisfying (B1) B2 Y 6= 0. Then
thesolution is X =
(B2 Z) ((C1) B1)+ (C2 Z) (B1)((B1) B2 Z) , (a)
C1 (B2)+ C2 (B1) = B1 B2. (b)(2.14)
The nondegeneracy condition is (B1) B2 Y 6= 0.Type (2, 3) is
also an ordered pair of equations, as different orders lead
todifferent but equivalent solutions. In application, we usually
choose a solutionwith fewer terms: if after expansion, C1 (B2) has
more terms than C2 (B1), we interchange the indices in (2.7),
(2.8).In implementation, the user can be required to provide the
reference vectorY from the set of basic vector variables; the
default reference vector is thelowest-ordered basic vector variable
satisfying the nondegeneracy condition.
Type (2, 4). XA0 Ar 0 = 0, where r < n 1, 0 is an (r +
2)-vector.
-
MECHANICAL GEOMETRY THEOREM PROVING 93
Parametric solution: let 01 = (A0 Ar ) 6= 0; Then at least one
of the(Ai) is nonzero; assuming (A0) 6= 0, we have
X =A0 +
ri=1i(A0 Ai)(A0)
(0) 0101 01 . (2.15)
Here the s are free parameters. The nondegeneracy conditions are
01, (A0)6= 0.
The reader may add more formulas to the above list for better
performance ofthe vectorial equations solving method. Besides these
general formulas, for eachspecific dimension there are specific
geometric entities and constraints, and cor-respondingly there are
specific formulas to solve specific vectorial equations. Wepresent
two examples below.
Special type (a). X2 2X O+ 2A OA2 = 0, where A,O X are vectors
inthe Clifford model G2 of Euclidean plane.Parametric solution:
X = A+ 21+ 2 ((O A)+ (O A)
). (2.16)
Here is the free parameter. The nondegeneracy condition is X 6=
A.This type of equation describes the constraint that X, A are on a
circle withcenter O, i.e., (XO)2 = (AO)2. The solution provides a
rational para-metrization of X.
Special type (b) (Cartans Lemma in differential geometry [1]).
ri=1i 2i =0, where 1, . . . , r 21, . . . ,2r are
1-forms.Parametric solution:
2i =rj=1
ijj , i = 1, . . . , r, (2.17)
where ij = ji for 1 i, j r are free parameters. The
nondegeneracycondition is 1 r 6= 0.
Types (1, 4), (1, 5), (2, 4), (a), (b) are called parametric
solvable types be-cause free parameters appear in the solutions.
The free parameters will be orderedimmediately precedent to the
leading basic variable in every type. For (2.17),1, . . . , r 11, .
. . , rr 21, . . . ,2r .
-
94 HONGBO LI
3. Theorem Proving via Vectorial Equations SolvingFirst we give
some definitions. In Clifford algebra there are many operators,
andmany are defined by simpler ones. For the purpose of theorem
proving, it seemsthat the inner, outer, geometric products and dual
are the simplest operators. Wecall them basic operators. By
unification we mean replacing all operators withbasic ones by their
definitions. By expansion we mean expanding all
multilinearoperators. By explosion we mean distributing an operator
among the arguments inanother operator. For example, in the last
two rules of (A.1.4), the inner product isdistributed among the
arguments in the outer product.
Let pol be a polynomial whose variables are multivectors, and
let the leadingvariable be lv. When pol involves only scalar
variables, we call pol = 0 a scalarequation, otherwise we call it a
vectorial equation. A variable that is not a functionof other
variables is called a basic variable. For example, given vector
variablesX,Y, then X Y, X Y, XY are variables but not basic ones;
X,Y are basicvariables. For pol, let the leading basic variable be
X. Then X is either equal tolv or contained in lv. By vectorial
equations solving we mean solving the leadingbasic variable from a
set of vectorial equations that have the same leading
basicvariable. If we allow free parameters to appear in the
solutions, we call the processparametric equations solving.
Let there be two equations pol1 = 0 and pol2 = 0; let the
leading variable ofpol1 be lv1. When pol1 is linear with respect to
lv1, and lv1 is part of some variablein pol2, we can replace every
lv1 in pol2 by its expression derived from pol1 = 0,thus change
pol2 = 0 into an equation without lv1. This is called the
substitutionof pol1 into pol2. For example, given basic vectors Y,Z
X and two equationsX Y = B, X Y Z = C, the substitution of the
first equation into the secondone results in B Z = C. When pol1 is
nonlinear with respect to lv1, and bothpol1 and lv1 are
scalar-valued, then we can pseudo-divide pol2 with pol1, thusreduce
the degree of lv1 in pol2. The pseudo-substitution of pol2 by pol1
refers tothe substitution when pol1 is linear, or the
pseudo-substitution when pol1 and lv1are scalar-valued.
Given a polynomial pol and a set of polynomials pols, pol is
said to be reduced(or pseudo-reduced) with respect to pols, if it
(or its leading term) is unchangedafter being pseudo-substituted by
pols, that is, by every polynomial in pols. Apolynomial set pols is
said to be reduced (or pseudo-reduced) if every polynomialin it is
reduced (or pseudo-reduced) with respect to the rest of pols.
Now we are ready to present the following program for theorem
proving:Input: MODEL (the Clifford algebraic model to be used,
which is either Clifford
or Grassmann, and the dimension of the model), ord (the order
sequence of basicvariables), hyp (the set of equalities in the
hypotheses), ineq (the set of inequalitiesin the hypothesis), conc
(the conclusion, sometimes not available). All elements inhyp,
ineq, conc are assumed to be polynomial (in)equalities.
-
MECHANICAL GEOMETRY THEOREM PROVING 95
Step 1. Algebraic transformations in hyp and conc, which include
Unification,Expansion, Explosion (UEE).
hyp := UEE(hyp), conc := UEE(conc). (3.1)Step 2. Information
report in hyp and conc: for each equation pol = 0, its
information for pseudo-substitution and equations solving are
analyzed; then theexpression pol and the information form an
object, which will replace the origi-nal equation. The information
for pseudo-substitution contains at least the leadingbasic
variable, and the leading variable, the polynomial degree, and the
leadingcoefficient. The information for equations solving contains
at least the leading basicvariable, the function type of the
leading variable, the collected leading variable,and the leading
coefficient. For example, let B C A be basic vectors; thenfor A B +
2A C, the leading basic variable is A. For pseudo-substitution,
theleading variable is A C, the polynomial degree is 1, the leading
coefficient is 2.For equations solving, the function type of the
leading variable is an outer productwith grade 2, the collected
leading variable is A (B+2C), the leading coefficientis 1.
Step 3. Sorting in the hypothesis: the expressions in hyp are
sorted descendinglyfor pseudo-substitution. Let pol1, pol2 be two
expressions in hyp, with leadingbasic variables lbv1, lbv2, leading
variables lv1, lv2, polynomial degrees d1, d2,leading coefficients
lc1, lc2, numbers of terms ntm1, ntm2, respectively. Then
lbv1 lbv2, orlbv1 lbv2, lv1 lv2, orlbv1 lbv2, lv1 = lv2, d1 <
d2, orlbv1 lbv2, lv1 = lv2, d1 = d2, lc1 lc2, orlbv1 lbv2, lv1 =
lv2, d1 = d2, lc1 = lc2, ntm1 ntm2
H pol1 pol2.(3.2)For vectors B1 Bn1 A, where n is the dimension
of the model, we
define the following three groups of orders:
(1) A A B1 A Bn A B1 B2 A Bn1 Bn A B1 Bn1 A B2 Bn A B1 Bn,
(2) A A B1 A Bn,(3) A A B1 A Bn A A.
(3.3)
One can define any order among the three groups. In our
implementation we choosethe following order: geometric products
outer products inner products.
Step 4. Triangulation. No parametric equations solving is
allowed in this step.The following are the pseudo-codes for
triangulate(hyp), which returns a descend-
-
96 HONGBO LI
ing sequence of objects (polynomials and their information),
denoted by tri-seq(triangular sequence).function triangulate
local tri, i;global ord, pseudo-subst, solvable, solve;tri :=
pseudo-subst (args);for i from #(ord) to 1 by 1 do{if solvable(ith
element in ord, tri) then{tri := solve(ith element in ord, tri);tri
:= pseudo-subst(tri)}
end if}
end do;RETURN(tri)
end functionThe function pseudo-subst(a1 , . . . , am), where
the as are a descending sequence
of objects, is pseudo-substitution inside a polynomial set,
which returns a descend-ing sequence of reduced objects (reduced
polynomials and their information).function pseudo-subst
local pols, red, old, new;global one-subst, eqn-simplify,
insert;if args[1] = 0 then
RETURN(pseudo-subst(args[2 . . 1]))else if nargs 1 then
RETURN(args)elsepols := [args]
end if;do{old := pols[1]; red := pols[2 . . 1];for i to #(red)
do{new := one-subst(old, ith element in red);if new = 0 then
RETURN(pseudo-subst(red ))else if new 6= old thenold :=
eqn-simplify(new)
end if}
-
MECHANICAL GEOMETRY THEOREM PROVING 97
end do;if old 6= pols[1] thenpols := insert (old, red)
end if} while (old 6= pols[1])
end do;RETURN(old, pseudo-subst(red )) end functionThe function
one-subst(a, b) returns the result of a pseudo-substituted by
b.
In differential case, differentiation may be needed before the
algebraic pseudo-substitution. The function eqn-simplify(a) removes
nonzero factors from polyno-mial a. The function insert(a, b1, . .
. , bm) inserts a to the bs so that the result is adescending
sequence.
The function solvable(A, a1, . . . , am), where A is a basic
variable, the ai are adescending sequence of objects, tests whether
or not A is solvable from the ai = 0.It returns true when a
solvable type forA exists and the corresponding nondegener-acy
conditions are satisfied. For example, if pol 6= 0 is a
nondenegeracy condition,then if pol is not reduced to zero by the
ai , we say the nondegeneracy condition issatisfied.
The function solve(A, a1, . . . , am) solves basic variable A
from the descendingsequence ai = 0. It returns a descending
sequence of objects containing both thesolutions and the unused
objects:function solve
local stype, ptype, A, eqns, soln, i;global MODEL, PARASOLVE,
solve-type;stype := #(solvable types in current model);A :=
args[1]; eqns := args[2 . . 1]; for i to stype do{soln :=
solve-type(MODEL, i, A, eqns);if soln 6= eqns then RETURN(soln)end
if}
end do;if PARASOLVE then{ptype := #(parametric solvable types in
current model);for i to ptype do{soln := solve-type(MODEL, stype+i,
A, eqns);if soln 6= eqns then RETURN(soln)end if}
end do}
-
98 HONGBO LI
end if;RETURN(eqns)
end functionPARASOLVE is a global logic variable: when it is
true, then parametric equa-
tions solving is allowed. The function solve-type(MODEL, k,A,
a1, . . . , am) solvesA from the ai = 0 using the kth solvable type
in MODEL. It returns a descendingsequence of solutions and unused
objects. The order in which the solvable typesare arranged is very
important. In our implementation, for both models we use theorder
in which the solvable types are presented in Section 2. Section 4
will providemore details on the implementation of pseudo-subst.
Summing up, after this step we have
tri-seq := triangulate(hyp). (3.4)Step 5. Proving by the
triangular sequence. If the conclusion is reduced to
zero by tri-seq through pseudo-substitution, the program
finishes proving the the-orem under some nondegeneracy conditions,
which arise from eqn-simplify andequations solving, in addition to
the leading coefficients and separants in tri-seq.
Step 6. Parametric triangulation. Free parameters are allowed in
equations solv-ing:
PARASOLVE := true; partri-seq := triangulate(tri-seq). (3.5)Step
7. Proving by the parametric triangular sequence. If the conclusion
is
reduced to zero, the program finishes proving the theorem under
some nondegen-eracy conditions.
Step 8. Coordinate triangulation. Select a global coordinate
system (Cartesian,affine, polar, etc.), then represent every
nonscalar basic variable with its coordi-nates, and every nonscalar
equation with a set of scalar ones. There is a nondegen-eracy
condition for coordinatization. For example, for Cartesian
coordinate system,the basis vectors must be linear independent; for
affine coordinate system, the basispoint vectors must be affine
independent. Now apply Wus method to paratri-seq to compute a main
characteristic set, which we call coordinate
triangularsequence.
Step 9. Proving by the coordinate triangular sequence. If the
conclusion is re-duced to zero, the program finishes proving the
theorem under some nondegen-eracy conditions; otherwise algebraic
factorization may be needed to obtain ir-reducible characteristic
sets. Using irreducible characteristic sets, we can alwaysprove if
the theorem is true or not, according to Wus mechanical theorem
provingprinciple [34].
This is the end of the program. Its correctness can be derived
from Wus well-ordering principle, as vectorial equations solving
can be realized by a sequence ofpseudo-divisions that reduce the
order of polynomials in hyp.
We illustrate the above program with examples from solid
geometry. The ex-amples have been tested by our implementation with
Maple V Release 5.
-
MECHANICAL GEOMETRY THEOREM PROVING 99
EXAMPLE 1 (selected from [3]). Let ABCD be a tetrahedron. A
plane that isparallel to both AB and CD cuts the tetrahedron into
two parts, with P,Q,R,Sas the intersections inside rectilinear
segments AD, AC, BC, BD respectively. Letthe ratio of distances
from the plane to line AB and line CD respectively be r > 0.Find
the ratio of volumes of the two parts.
For this example, the Grassmann model G4 for the space is
appropriate, as onlyparallelism and concurrence relations occur in
the hypothesis. The cutting plane isrepresented by P Q R. The
hypothesis is
(A B) P Q R = 0, AB ||PQR(C D) P Q R = 0, CD ||PQRA P Q R = rD P
Q R, the ratio of distances is rP Q R S = 0, PQRS is a planeA D P =
0, A,D,P are collinearA CQ = 0, A,C,Q are collinearB C R = 0, B,C,R
are collinearB D S = 0, B,D,S are collinearA B C D 6= 0, A,B,C,D
are not coplanarD P Q R 6= 0, D,P,Q,R are not coplanarr > 0.
This example does not have a conclusion part. Let s be the
required ratio. It has thefollowing expression:
s = A P Q R+ A P R S+ A R B SD P Q R+ D P R S+ D Q C R .
(3.6)
Figure 1. Example 1.
-
100 HONGBO LI
We need a triangular sequence to compute s. Below we show the
triangulation stepby step. We make the following order for basic
variables:
r P Q R D S C B A.Step 1. Expansion: the brackets in the first
two equations of the hypothesis are
broken up.Step 2, 3. Reporting and ordering: the hypothesis
becomes
A P Q R B P Q R (a)A P Q R+ r D P Q R (b)A CQ (c)A D P (d)B C R
(e)B D S (f)C P Q R D P Q R (g)P Q R S (h)
(3.7)
The attached information is
(3.7a): A [A P Q R, 1, 1] [4,P Q R,B P Q R](3.7b): A [A P Q R,
1, 1] [4,P Q R,r D P Q R](3.7c): A [A C Q, 1, 1] [3,C Q, 0](3.7d):
A [A D P, 1, 1] [3,D P, 0](3.7e): B [B C R, 1, 1] [3,C R, 0](3.7f):
B [B D S, 1, 1] [3,D S, 0](3.7g): C [C P Q R, 1, 1] [4,P Q R,D P Q
R](3.7h): S [P Q R S, 1, 1] [4,P Q R, 0]
Here, each line contains the expression (polynomial) index, the
leading basic vari-able, information for pseudo-substitution, and
information for equations solving.The information for
pseudo-substitution contains the leading variable, the ployno-mial
degree, and the leading coefficient. The information for equations
solvingcontains the function type of the leading variable (an outer
product whose gradeis specified by the number), the residual of the
collected leading variable aftermoving the leading basic variable
to the leftmost position and then dropping it,and the negative of
the residual after dropping the collected leading term from
theexpression.
Step 4. Triangulating:
Pseudo-substitution. (3.7a) is replaced byB P Q R+ rD P Q R.
(3.7i)
Equations solving for A. Type (2, 1): (3.7b), (3.7c).
Solution:(C P Q R)A (C P Q R)Q r(D P Q R)Q+ r(D P Q R)C. (3.7j)
-
MECHANICAL GEOMETRY THEOREM PROVING 101
The nondegeneracy condition is C P Q R 6= 0.Type (2, 1): (3.7b),
(3.7d). Solution:
A P rP+ rD, (3.7k)where a nonzero factor (D PQR) has been
removed by eqn-simplify,which is in solve-type. The nondegeneracy
condition is D P Q R 6= 0.
Pseudo-substitution. (3.7j) is replaced byrC rD+ P+ rPQ rQ.
(3.7l)
(3.7g) is deleted because it is changed to 0.Now hyp is composed
of (3.7k), (3.7i), (3.7e), (3.7f), (3.7l), (3.7h).
Equations solving for B. Type (2, 1): (3.7i), (3.7e).
Solution:(C P Q R)B (C P Q R)R r(D P Q R)R+ r(D P Q R)C. (3.7m)
Nondegeneracy condition: C P Q R 6= 0.Type (2, 1): (3.7i),
(3.7f). Solution:
(D P Q R)B+ (P Q R S)B (D P Q R)S (P Q R S)D r(D P Q R)S+ r(D P
Q R)D.
(3.7n)
Nondegeneracy condition: D P Q R+ P Q R S 6=
0.Pseudo-substitution. (3.7m) is replaced by
B+ rD R rRQ rQ rP P. (3.7o)(3.7n) is replaced by
S P+Q R. (3.7p)where a nonzero factor r + 1 has been removed.
(3.7h) is deleted because it ischanged to 0.Now hyp is composed of
(3.7k), (3.7o), (3.7l), (3.7p).
Equations solving for C,S,D,R,Q,P, r. None.The triangular
sequence is
A P rP+ rD,B+ rD R rRQ rQ rP P,rC rD+ P+ rPQ rQ,S P+Q R.
(3.8)
-
102 HONGBO LI
The nondegeneracy conditions are
D P Q R, r, r + 1 6= 0, (3.9)which are all guaranteed by the
original hypothesis.
Step 5. Substituting the triangular sequence into the expression
for s: we obtain
s = r2(r + 3)3r + 1 , (3.10)
which is the required expression for the ratio.In later examples
we no longer present details on the information attached to
each expression.
EXAMPLE 2 (Mongers theorem, selected from [3]). The six planes
passingthrough the midpoints of the six edges of a tetrahedron
ABCD, respectively, andat the same time perpendicular to the
opposite edges respectively have a point incommon.
Let X be the common point of the three planes passing through
the midpointsof AB, BC, AC, respectively. We want to prove that X
is on the other three planes.
We use the Clifford model G3 for the space, as orthogonality
occurs in thehypothesis. The hypothesis is
(X A+ B
2
) (C D) = 0, XA+ B
2 CD(
X B+ C2
) (A D) = 0, XB+ C
2 AD(
X A+ C2
) (B D) = 0, XA+ C
2 BD
(A D) (B D) (C D) 6= 0, A,B,C,D are not coplanar.
Figure 2. Example 2.
-
MECHANICAL GEOMETRY THEOREM PROVING 103
The conclusion is
(X A+ D
2
) (B C) = 0,(
X B+ D2
) (A C) = 0,(
X C+ D2
) (A B) = 0.
The order is D A B C X. Let D be the observer (i.e., D = 0).Step
1. Expansion: the hypothesis becomes 2A X A B A C = 0, (a)2B X A B
B C = 0, (b)2C X A C B C = 0. (c) (3.11)Step 2, 3. Reporting and
ordering: omitted.Step 4. Triangulating: no pseudo-substitution is
done; the three equations in
(3.11) form exactly the solvable type (1, 2). The solution
is2X(A B C) (B C)A B (B C)A C++ (A C)A B+ (A C)B C (A B)A C (A B)B
C.
(3.11d)
The nondegeneracy condition is A B C 6= 0.The triangular
sequence is (3.11d). The nondegeneracy condition is guaranteed
by the original hypothesis.Step 5. Proving: all three equalities
in the conclusion are verified trivially by
substituting (3.11d) into them.
EXAMPLE 3. Let ABCD be a tetrahedron. There is a plane
intersecting with linesAB, AC, DC, DB at M, N, E, F, respectively.
If when the plane moves, MNEF isalways a parallelogram, then the
center O of the parallelogram is always on a fixedstraight
line.
In the Grassmann model G4 for the space, the hypothesis is
M N = F E, MNEF is a parallelogramA BM = 0, A,B,M are collinearA
C N = 0, A,C,N are collinearC D E = 0, C,D,E are collinearB D F =
0, B,D,F are collinearO = M+ E
2, O is the midpoint of ME
A B C D 6= 0, A,B,C,D are not coplanar.
(3.12)
The conclusion cannot be algebraized.
-
104 HONGBO LI
Figure 3. Example 3.
The order is: A B C D M N E F O.Step 1, 2, 3. Preparations for
triangulation: the hypothesis becomes
2OM E, (a)B D F, (b)F EM+ N, (c)C D E, (d)A C N, (e)A BM.
(f)
(3.13)
Step 4. Triangulation:
Pseudo-substitution. (3.13b) is replaced byB D E+ B D M B D N.
(3.13g)
Equations solving for O, F. None.
Equations solving for E. Type (2, 3): (3.13d), (3.13g), which is
an ordered pair.Solution:
E(A B C D) D(A B C D) D(A B D N) + D(A B D M)++ C(A B D N) C(A B
D M),
(3.13h)
B C D N B C DM, (3.13i)where (2.14) and the default reference
vector A are used. Let K = A B C D. The nondegeneracy condition is
K 6= 0.
-
MECHANICAL GEOMETRY THEOREM PROVING 105
Pseudo-substitution. (3.13h) is replaced byE(A B C D) D(A B C D)
D(A B D N) + C(A B D N), (3.13j)
(3.13a), (3.13c) are also changed by the substitution of
(3.13h). The newexpressions are omitted here and are referred by
(3.13a), (3.13c).
Equations solving for N. Type (2, 1): (3.13e), (3.13i).
Solution:N(A B C D) C(A B C D) C(B C D M) + A(B C D M). (3.13k)
Nondegeneracy condition: K 6= 0.Pseudo-substitution. (3.13a),
(3.13c), (3.13j) are changed by the substitution of
(3.13k). The new expressions are omitted here and are referred
by (3.13a),(3.13c), (3.13j), respectively.
Equations solving for M, D, C, B, A. None.
The triangular sequence is
(3.13a), (3.13c), (3.13j), (3.13k), (3.13f). (3.14)The
nondegeneracy condition is K 6= 0, which is in the original
hypothesis. Theconclusion cannot be obtained from the triangular
sequence, as M does not havean explicit expression.
Step 5. Parametric triangulation:
Pseudo-substitution. None.
Equations solving for O, F, E, N. None.
Equations solving for M. Type (2, 4): (3.13f). Solution:M A+ A
B, (3.13l)
where is a parameter. The nondegeneracy condition is B A 6=
0.Pseudo-substitution. (3.13a), (3.13c), (3.13j), (3.13k) are
replaced by
2O A D+ A+ D B C, (3.13m)F D+ D B, (3.13n)E D+ D C, (3.13o)N A+
A C. (3.13p)
-
106 HONGBO LI
Equations solving for , D, C, B, A. None.
The parametric triangular sequence is
(3.13m), (3.13n), (3.13o), (3.13p), (3.13l). (3.15)The
nondegeneracy conditions are
A B C D, B A 6= 0, (3.16)which are all guaranteed by the
original hypothesis.
The conclusion is obvious if we write (3.13m) as
O = (1 )A+ D2+ B+ C
2. (3.17)
That is, O is on the line passing through the midpoint of AD and
the midpoint ofBC.
4. Implementation
In this section, first we present some details on our
implementation of the vectorialequations solving method with Maple
V Release 5 on a Pentium Pro/200MHz PC.Then we talk about some
phenomena when applying the method to prove theorems.The following
are some details on the implementation:
(1) A Clifford algebra calculator is necessary to carry out
symbolic computa-tion. The calculator should at least include the
grade computation and the basicoperators, such as the inner
product, outer product, geometric product and dual.The basic
properties for each operator, such as multilinearity, associativity
andcommutativity, should be included in the definition of each
operator. In our im-plementation, for a multilinear operator f ,
the following is implemented in itsdefinition:
f (1a1, . . . , mam) = 1 mf (a1, . . . , am).The following
property is carried out through the function expand:
f (a1, . . . , (+ )ai, . . . , am) = f (a1, . . . , am)+ f (a1,
. . . , am).(2) In pseudo-substitution, we required the output to
be a sequence of reduced
polynomials. We can replace this requirement with that the
polynomials are pseudo-reduced. This can provide significant
simplification in some cases.
(3) In our implementation, the function solvable is integrated
into the functionsolve, so that whenever a set of equations is
detected to be solvable, the solutionand the nondegeneracy
conditions are provided. The function solve-type solves anequation
set in two modes, depending on the solvable type. Given an
equationset and a solvable type, there can be more than one
equation subset that belongs
-
MECHANICAL GEOMETRY THEOREM PROVING 107
to the solvable type. The first solving mode is called solve-one
mode, in whichonly one equation subset is used, and only one
solution is produced. Obviously,the subset that creates the
simplest solution provides the best choice. The secondsolving mode
is called solve-all mode, in which more than one equation subset
isused, and more than one solution is produced. The subsets are
selected to form asequence in which every subset contains an
equation that is not contained in anyprecedent subset. The union of
the selected subsets should equal the union of allsubsets that
belong to the solvable type. In our implementation, we use the
secondmode for types (0), (1, 1) and (2, 1), the first mode for the
remaining types. Thistwo-mode solving technique helps to simplify
triangulation.
(4) In the function eqn-simplify, we use given inequalities,
factorization andsome simple reasoning to decide if an expression
is always nonzero. For example,if XYZ is assumed to be nonzero by
the given hypothesis, where X,Y,Z arevectors, then X,Y,Z,XY,YZ,XZ
are all nonzero, and 1X+ 2Y+ 3Zis nonzero if one of the scalars i
is nonzero.
(5) For the nondegeneracy conditions that are neither leading
coefficients norseparants of the triangular sequence, they are
simplified by pseudo substitutionwith respect to the triangular
sequence. Then all nondegeneracy conditions aresimplified by
eqn-simplify.
We have implemented the vectorial equations solving method for
plane geom-etry, solid geometry, and differential geometry and have
proved some theoremsin hyperbolic geometry and spherical geometry
by hand. In solid geometry, wehave applied the above-mentioned
implementation to prove some typical theoremswithout using
coordinates. The polynomials that occur during the triangulation
areshort (usually fewer than 100 terms, never over 1,000 terms),
the computationtime ranges from several seconds to several minutes.
The examples in Section 3can illustrate how geometric meaning is
kept in the triangular sequence, and hownongeometric nondegeneracy
conditions are avoided or reduced in number.
In plane geometry [22], we use Mathematica 1.2 to implement the
method.We use both the Clifford model and the Grassmann model for
algebraization:the Grassmann model is used for theorems involving
intersection and parallelism;the Clifford model is used when
perpendicularity, distances, angles, or circles areinvolved. For a
theorem represented in the Grassmann model, after a
triangularsequence is computed, the proving by pseudo-substituting
the conclusion with thetriangular sequence is similar to the
proving by the signed area method, after weadd a substitution
technique to our pseudo-substitution function. The technique is
afundamental rule in the signed area method: let M be the
intersection of lines AB,CD. Then
CMDM= SCABSDAB
,CMCD= SCABSCADB
. (4.1)
In Clifford algebra language (see Appendix C), this rule means
that for pointvectors A, B,C,D M, if M satisfies
-
108 HONGBO LI
M A B = 0, M C D = 0, (4.2)then
C MD M =
(C A B)(D A B) ,
C MC D =
(C A B)((C D) (A B)) . (4.3)
We know that (4.2) is of the solvable type (2, 2), whose
solution is
M = (A B) (C D)((A B) (C D)) =
(C A B)D (D A B)C(C A B) (D A B) . (4.4)
Therefore substituting the rule (4.1) into an expression is
equivalent to solving Mfrom (4.2) and then substituting the
solution into the expression. Similar corre-spondences can be set
up for other fundamental rules in the signed area method,which can
explain the similarity of this method with the proving by a
triangular se-quence. However, when applying the rule (4.1) to an
expression that has AM/BMor AM/AB, we have
AMBM= SACDSBCD
,AMAB= SACDSACBD
; (4.5)
while when substituting (4.3) into AM/B M and A M/A B, we get
twocomplicated expressions. Although it is true that
(C A B)D (D A B)C = (A C D)B+ (B C D)A,we can use it in our
method only after the introduction of affine coordinates!To avoid
using coordinates, we should use two different forms of solutions
forM in different occasions for substitution. This is the technique
we add to ourpseudo-substitution function. It has greatly
simplified both the triangulation andthe proving proecdure by our
method. When proving a theorem that is representedin the Clifford
model, often the proving procedure does not have good geometric
in-terpretation. For example, for vectors A,B,C,D, the inner
product (AB)(CD)has good geometric meaning, but not so after
expansion, which is required byvectorial equations solving. This
problem has to be solved in the future.
In space curves theory [23], we also implement the method with
Mathematica1.2. We use only the Clifford model for Euclidean space.
The method, called theClifford algebraic reduction method in that
paper, includes both differential andalgebraic reductions, and can
be applied to almost any theorem on local propertiesof space
curves. The triangulation and proving procedure are readable, and
theproofs generated are much the same with those by the Frenet
frame method incollege textbooks on differential geometry.
In space surfaces theory [21], we implement the method with
Maple V.3. Therewe use both differential forms and vectors for
algebraic representation. The methodcan be applied to most theorems
on local properties of space surfaces, and thetriangulation and
proving procedure are readable. One unique phenomenon is that
-
MECHANICAL GEOMETRY THEOREM PROVING 109
the proofs produced are generally shorter than those used in
college textbooks.A typical example is a much simplified proof for
a theorem (a conjecture by E.Cartan) that was first proved by S. S.
Chern in 1985.
Appendices
A. A BRIEF INTRODUCTION TO CLIFFORD ALGEBRA
In this appendix we introduce finite-dimensional positive
definite Clifford algebraand two most often used Clifford algebra
models for Euclidean geometry. Thereaders can find detailed
introduction of Clifford algebra in [8, 15, 16, 20], and soon.
A.1. Basic DefinitionsLet R be the real numbers field and Rn be
an n-dimensional real vector space. Bydefining an anticommutative
and associative product among the vectors in Rn, theso-called outer
product, or wedge product, we can generate a Grassmann algebraGn
from Rn: its elements, called multivectors, are graded from 0 to up
n, that is,
x = x0 + x1 + + xn, for any x Gn, (A.1.1)where xi is the
so-called i-vector part of x. An i-vector is by definition a
linearcombination of i-blades. The integer i is called the grade,
or step, of an i-vector.
An i-blade, or extensor of step i [28], is defined as the wedge
product of ivectors in Rn: a multivector x is an i-blade if and
only if there exist i vectorsA1, . . . ,Ai such that
x = A1 Ai . (A.1.2)The blade A1 Ai equals zero if and only if
the Aj are linear independent.
The grade can also take the values 0 and 1. A 0-vector is a
scalar, and a 1-vectoris a vector in Rn. An n-vector is also called
a pseudoscalar, an (n 1)-vectoris called a pseudovector. For i = 0,
1, n 1, n, an i-vector is also an i-blade.The outer product can be
extended to 0-vectors as follows: both the outer productof a scalar
with a multivector and that of a multivector with a scalar are
scalarproduct. In this way the outer product can be defined among
any finite number ofmultivectors, and satisfies the following
anticommutativity property: for i-vectorxi , j -vector xj ,
xi xj = (1)ij xj xi. (A.1.3)All i-vectors in Gn form a vector
space, which is denoted by Gin. It has the
dimension Cin. The vector space Gn has the dimension 2n. A
multivector x is saidto be even if all its (2i)-vector parts are
zero. It is said to be odd if all its (2i 1)-vector parts are zero.
It is said to be homogeneous if it is an i-vector, for some0 i
n.
-
110 HONGBO LI
For two vectors in Rn, the Euclidean metric defines a
commutative product,the so-called inner product, or dot product.
The inner product of two vectors is ascalar. We can extend the
inner product to any two multivectors in Gn as follows:for
multivectors x, y, z, scalars ,, vectors Ai , Bj ,
(x + y) z = x z+ y z,z (x + y) = z x + z y, x = 0,x = 0,(A1 Ap)
(B1 Bq)= (1)pqmin(p,q)(B1 Bq) (A1 Ap),
A0 (A1 Ap)=
pi=1(1)i+1(A0 Ai)A1
Ai Ap,
(A1 Ap) (B1 Bq)= (A1 Ap1) (Ap (B1 Bq)), if p q.
(A.1.4)
WhereAi denotes that Ai does not occur in the outer product.
From the last rule of
the above definition, we know that for i-vector xi and j -vector
xj , where i, j 6= 0,xi xj is an |i j |-vector.
Two multivectors x, y are said to be orthogonal if x y = 0. From
linear algebra,we know that for any i linear independent vectors
A1, . . . ,Ai , we can find i linearindependent and mutually
orthogonal vectors
B1 = A1,B2 = A2 + 2,1A1, Bi = Ai + i,i1Ai1 + + i,1A1
through the so-called GramSchmidt orthogonization process.
Therefore, for an i-blade x, there exist i mutually orthogonal
vectors B1, . . . ,Bi such that x = B1 Bi .
The magnitude, or length, of a vector A is the scalar
A A. The magnitudeof a scalar is defined as its absolute value.
Using inner product, we can extend theconcept of magnitude to any
multivector x as follows:
|x| = |x0| +ni=1
|xi xi |. (A.1.5)In particular, for an i-vector x, |x| = |x x|.
A pseudoscalar of magnitude 1 iscalled a unit pseudoscalar. For an
i-blade, we can further simplify the expression
-
MECHANICAL GEOMETRY THEOREM PROVING 111
of its magnitude by introducing the following operator, called
the reverse operator:let , be scalars, x, y be multivectors the Aj
be vectors. Then
= ,(x + y) = x + y,(A1 Ai) = Ai A1.
(A.1.6)
Let x = B1 Bi , where the Bj are mutually orthogonal vectors.
Then x =(1)i(i1)/2x and x x = B21 B2i 0. Therefore|x| =
x x. (A.1.7)
For two vectors A,B, we can add their outer product and inner
product together,and thus form a new product, which is called the
Clifford product, or geometricproduct:
AB = A B+ A B. (A.1.8)The geometric product is denoted by
juxtaposition, which will not confuse withthe scalar product,
because we define both the geometric product of a scalar witha
multivector and that of a multivector with a scalar to be scalar
product. The geo-metric product can be extended to any finite
number of multivectors as follows: let, be scalars, the xi be
multivectors, and the Aj be mutually orthogonal vectors.Then
x1(x2x3) = (x1x2)x3,x1(x2 + x3)x4 = x1x2x4 + x1x3x4,Ax = A x + A
x,(A1 Aj )x = (A1 Aj1)(Ajx).
(A.1.9)
Now we are ready to provide a definition for a positive definite
Clifford algebra:the Grassmann algebra Gn, when taken as an
2n-dimensional vector space equippedwith the geometric product, is
called a Clifford algebra, or geometric algebra.
A.2. Basic Geometric Interpretations
Let xi be an i-blade. In this section we always assume i 6= 0.
The set of vectors{A Rn | A xi = 0} is a vector subspace. It can be
represented by xi uniquelyup to a nonzero scalar factor. We call it
the space xi . The magnitude of xi =A1 Ai equals the volume of the
i-dimensional parallelepiped spanned byvectors A1, . . . ,Ai .
Let xi, yj be i-blade, j -blade, respectively. Then xi yj , if
nonzero, is an(i + j)-blade representing the sum of the space xi
and the space yj . Further letxi = A1 Ai , yj be of magnitude 1 and
i j . When i = j , the in-ner product xi yj is a scalar: if xi, yj
are equal up to a nonzero scalar factor,then xi yj is a signed
volume of the i-dimensional parallelepiped spanned by
-
112 HONGBO LI
vectors A1, . . . ,Ai; otherwise |xi yj | equals the volume of
the i-dimensional par-allelepiped, which is the orthogonal
projection of the i-dimensional parallelepipedspanned by A1, . . .
,Ai into the space yj . When i < j , the inner product xi yj
isan (j i)-blade representing a (j i)-dimensional vector subspace
of the spaceyj , which is the orthogonal complement of the
orthogonal projection of the spacexi into the space yj ; |xi yj |
equals the volume of the orthogonal projection of thei-dimensional
parallelepiped spanned by A1, . . . ,Ai into the space yj .
In particular, when i < j = n, xi yj represents the
orthogonal complementof the space xi . This leads to the definition
of the dual operator. The dual of amultivector x (with respect to a
fixed unit pseudoscalar I ) is defined by
x = xI . (A.2.1)When x is a scalar, then x is a pseudoscalar,
and vice versa; when x does not havea scalar part, that is, x0 = 0,
then x = x I . The reason we use I instead of Iis to make the dual
of I to be 1. The following is the duality principle between
theinner product and the outer product: for a vector A, and a
multivector x that doesnot have a scalar part,
A x = (A x),A x = (A x). (A.2.2)
The dual operator also helps us to define the meet of
multivectors: let x1, . . . , xpbe multivectors. Then their meet x1
xp is defined by
x1 xp = x1 (x2 xp),(x1 x2) = x1 x2 . (A.2.3)
For i-vector yi and j -vector yj , when i + j n, yi yj is an (i
+ j n)-bladerepresenting the intersection of the space yi and the
space yj . The meet operator isassociative and satisfies
yi yj = (1)(ni)(nj)yj yi. (A.2.4)In application, we use the
following computation formula:
yi yj ={
0, if i + j < n,yi yj , if i + j n. (A.2.5)
The Grassmann algebra Gn, when equipped with the meet operator,
is called aGrassmannCayley algebra, which has important
applications in projective geom-etry and invariant theory [28, 32,
33].
For multivectors x, y that represent two geometric entities, the
geometric prod-uct xy represents the complete geometric
relationship of x with respect to y. Fur-ther details can be found
in [15, 16].
In the end, we mention the concept of invertibility in Clifford
algebra. Let x bea multivector. If there exists a multivector y
such that xy = yx = 1, then x is said
-
MECHANICAL GEOMETRY THEOREM PROVING 113
to be invertible, with inverse x1 = y. Not all nonzero
multivectors are invertible.For example, in G2 a multivector x is
invertible if and only if the scalar xx 6= 0,and the inverse is
x/(xx). Here is the so-called main anti-automorphism inClifford
algebra [8], whose definition is the same with that of the reverse
operator if we replace the last line of (A.1.6) with
(A1 Ai) = (1)iAi A1. (A.2.6)Another example is, in G3 an even
(or odd) multivector x is invertible if and onlyif the scalar xx 6=
0, and the inverse is x/(xx). Sometimes we write xy1 as x/ywhen xy1
= y1x, and in particular, when x and y are equal up to a
nonzeroscalar factor.
A.3. Two Clifford Algebraic Models for Euclidean Geometry(1)
Clifford model Gn:
This is the most often used model for Euclidean geometry. Let O
be a pointin En. By setting O to be zero vector we mean O is taken
as the starting point ofall vectors in En. These vectors form the
space Rn and can generate the Cliffordalgebra Gn. If the observer
is not specified, the model is independent of the choiceof the
observer in En and is intrinsic.
In this model, a point A is represented by the vector from O to
A, which isdenoted by A as well. A line AB is represented by its
direction A B and thepoint A, or by A+(B A) parametrically, where
is the parameter. The distancebetween points A and B is |A B|. An
i-dimensional plane passing through pointB and parallel to the
i-dimensional vector subspace spanned by vectors A1, . . . ,Ai ,is
represented by (A1 Ai,B), or by B+1A1+ +iAi parametrically. Apoint
A can also be taken as an 0-dimensional plane and represented by
(1,A); ani-dimensional space xi , where xi is an i-blade, can also
be represented by (xi, 0).
For an i-dimensional plane (xi,A) and a j -dimensional plane (yj
,B), where0 i j n 1, they represent the same plane if and only if i
= j , xi and yjare equal up to a nonzero scalar factor, and (A B)
xi = 0. They are parallelif and only if the space xi is a subspace
of the space yj and (A B) yj = 0.When they are parallel, the
distance between them is |(A B)yj |/|yj |. They areperpendicular if
and only if xi yj = 0.
(2) Grassmann model Gn+1:This model is mainly for the study of
affine geometry. In the Clifford model,
the observer is inside En. What if we move it outside En? Then
we need to imbedEn into En+1 and take En as a hyperplane of En+1.
Let the distance from the originO to En be 1, the vector from O to
the foot drawn from O to En by e0. By settinga point A En to be e0,
the observer O is fixed. If no point in En is evaluated, themodel
is independent of the choice of the observer outside En and is
intrinsic.
In this model, a point A is represented by the vector from O to
A, which isdenoted by A as well. A line AB is the intersection of
plane OAB with En, andis represented by A B. An i-dimensional plane
containing points A1, . . . ,Ai+1
-
114 HONGBO LI
is represented by xi+1 = A1 Ai+1, if the outer product is
nonzero or,equivalently, if the As are affine independent. The
scalar |xi+1| is the volume ofthe i-dimensional simplex generated
by these points. When i = n, xi+1 is thesigned volume of the
n-dimensional simplex generated by the As.
By embedding En into En+1, the Clifford model Gn is embedded
into the Grass-mann model Gn+1. In the Grassmann model, the inner
product has geometric mean-ing only when it is restricted to Gn.
Because of this, we need to discern directionsfrom points. Let
= e0 , (A.3.1)then a vector A is in En, called a direction
vector, if and only if (A) = 0. VectorA represents a point in En,
called a point vector, if and only if (A) = 1. When(A) 6= 0, A
represents the point A/(A). The operator is called the
boundaryoperator, as it satisfies
2 = 0. (A.3.2)For a multivector x, if there exists a point A
satisfying A x = 0, then
x = A (x). (A.3.3)For any multivector x, (x) is in Gn; on the
other hand, a multivector x is in Gn ifand only if (x) = 0.
Therefore, : Gn+1 Gn transfers the Grassmann model tothe Clifford
model.
For an i-dimensional plane xi+1 and a j -dimensional plane yj+1,
where i j n 1, they represent the same plane if and only if i = j ,
xi+1 and yj+1are equal up to a nonzero scalar factor. They are
parallel if and only if the space(xi+1) is a vector subspace of the
space yj+1. They are perpendicular if and onlyif (xi+1) (yj+1) = 0.
For pseudoscalars xn+1 and yn+1, we have xn+1/yn+1 =(xn+1)/(yn+1).
In particular, xn+1 = yn+1 if and only if (xn+1) = (yn+1).
B. PROOFS OF THE FORMULAS IN SECTION 2
(1) The proofs of (2.1), (2.9), (2.10) are omitted because they
are trivial.(2) Proof of (2.5). From X A2 B2 = 0 we obtain
0 = A1 (X A2 B2) = (X A1)A2 (A1 A2)X A1 B2. (B.1)Substituting X
A1 = c1 into it, we get (2.5).
(3) Proof of (2.6). Since the dimension of the space is n, we
haveX A1 An = 0. (B.2)
Therefore
X(A1 An) = (X (A1 An))
=ni=1(X Ai)(A1
Ai An).
-
MECHANICAL GEOMETRY THEOREM PROVING 115
Substituting X Ai = ci , i = 1, . . . , n into it, we obtain
(2.6).(4) Proof of (2.7). First, since
X A1 A2 = B1 A2,X A2 A1 = B2 A1,
(2.7b) is the compatibility condition for the original equations
to have a solution.Second, we use (2.7a) to verify the first
original equation:
(B B)X A1 = (B1 A2) B) A1 + (B1 B)B= (B1 A2) (B A1)+ (B1 B)B=
((A1 A2) B)B1 (B1 (B A1)) A2 + (B1 B)B= (B B)B1 (B1 B)(A1 A2)+ (B1
B)B= (B B)B1.
Third, when interchanging the indices 1, 2 in the right-hand
side of (2.7a), B ischanged toB, B1A2 is changed toB2A1 = B1A2, and
the right-hand sideof (2.7a) is unchanged. This and the first
original equation conclude XA2 = B2.
(5) Proof of (2.8). Let Z be a vector. Then the equations{X A1
B1 = 0,X (A2 Z) (B2 Z) = 0 (B.3)
are of the solvable type (1, 1); hence X satisfies(A1 A2 Z)X =
(B2 Z)A1 (A2 Z) B1. (B.4)
Let E1,E2,E3 be a basis of R3. Using (XA2Z) = X (A2Z), the
equationX A2 B2 = 0 is equivalent to the three scalar
equations:
X (A2 Ei) (B2 Ei) = 0, i = 1, 2, 3. (B.5)Assuming A1 A2 Y 6= 0,
we can choose E1 = A1, E2 = A2 and E3 = Y.Substituting Z = A1 into
(B.4), we obtain
(B2 A1)A1 = (A2 A1) B1 = (A2 B1)A1 = (A2 B1)A1;therefore (2.8b)
holds. Substituting Z = A2 into (B.4), we obtain 0 = 0.
Substitut-ing Z = Y into (B.4), we obtain (2.8a).
Actually, (2.7) can be obtained from (2.8) in the following way:
from A1A2 6=0, we get B1 A2 = B2 A1 6= 0. Therefore, A1,A2,X, B1,
B2 are all inthe Clifford algebra G3 generated by vectors in the
space B1 A2. This is still a3D problem. Use (2.8) and choose Y =
(A1 A2), where denotes the dualoperator in G3; we obtain (2.7).
(6) Proof of (2.11). From(X B C) = B X (B) (C) = 0, (B.6)
-
116 HONGBO LI
we obtain
0 = K (X B C)= K (B (C)) (X K)(B)+ ((B) K)X,
from which we obtain (2.11) by substituting X K = J into it.(7)
Proof of (2.12). First, (X) = (A)/(A) = 1. Second, for i = 1, . . .
, n1,
A Ki = 0, and for j 6= i, (K1 Kj Kn1) Ki = 0; therefore,
(A)XKi = (1)iJi (K1 Ki Kn1) Ki
= (1)iJi((K1 Ki Kn1) Ki)
= (1)iJi(K1 Ki Kn1) Ki
= (1)iJiKi (K1 Ki Kn1).
For 2 r n 1, we have(K1 Kr) = e0 (K1 (K2 Kr))
= (e0 K1 ) (K2 Kr)= (e0 K1) (K2 Kr)= (K1) K2 Kr.
Therefore,
(A) X Ki = (1)iJi Ki (K1) Ki Kn1
= Ji (K1) Ki Kn1= Ji (K1 Kn1)= (A) Ji .
(8) Proof of (2.13). First,{X (B1) (B1 (C1)) = 0,X (B2) (B2
(C2)) = 0 (B.7)
is the solvable type (1, 3). From (2.7) we obtain (2.13b) and(B
B) X = ((B1 (C1)) (B2)) B ((B1 (C1)) B)(B2)+ ((B2 (C2)) B)(B1).
(B.8)
The inner products in (B.8) are geometrically meaningless;
therefore we need toseek an equivalent form for it. Using (A.1.4)
to distribute inner products in theright-hand sides of (B.8) and
(2.13a), we find they are equal.
(9) Proof of (2.14). Let Z be a vector. Then the equations{X B1
C1 = 0,X B2 Z C2 Z = 0 (B.9)
-
MECHANICAL GEOMETRY THEOREM PROVING 117
are of the solvable type (2, 1); hence X satisfies((B1) B2 Z)X =
(B2 Z) ((C1) B1)+ (C2 Z)(B1). (B.10)
Let E1,E2,E3,E4 be a basis of R4. Then X B2 C2 = 0 is equivalent
to thefour pseudoscalar equations:
X B2 Ei C2 Ei = 0, i = 1, 2, 3, 4. (B.11)Assuming (B1)B2Y 6= 0,
we can choose E1 = (B1), E2,E3 be in the space(B1) B2, and E4 be Y.
Substituting either Z = E2 or Z = E3 into (B.10), weobtain 0 = 0.
Substituting Z = (B1) into (B.10), we get
0 = (C2 (B1))(B1)+ (B2 (B1)) ((C1) B1)= (C2 (B1))(B1)+ ((C1) B1)
(B2 (B1))= (C2 (B1))(B1)+ (((C1) B1) B2)(B1)= (C2 (B1)+ C1 (B2) B1
B2)(B1),
which is equivalent to (2.14b). Substituting Z = Y into (B.10),
we get (2.14a).(10) Proof of (2.15). First, from (2.15), (X) = 1.
Second, assuming 01 6= 0,
we let Y be a point vector in the blade A0 Ar which is
orthogonal to theblade 01. Then
A0 Ar = Y 01. (B.12)Therefore,
X A0 Ar = (0) 0101 01 Y 01
= (0)01 01 (01 (Y 01))
= (1)r+1(0) Y= Y (0)= 0.
(11) Proof of (2.16). We can obtain (2.16) from the
stereographic projection ofthe circle from A to l, the line passing
through O and perpendicular to line OA. Let = tan , where is the
angle from the vector O A to the vector X A. Let Bbe the
intersection of line AX with l. Then
B = O+ (O A).Since X A and B A are collinear, we let X A = (B
A). Then
(AO)2 = (XO)2= (AO+ (O A)+ (O A))2= ((1+ 2)2 2+ 1)(AO)2.
-
118 HONGBO LI
Figure 4. Rational parametrization of a point on a circle.
From this we obtain = 2/(1+ 2) and then (2.16).
C. CLIFFORD ALGEBRAIC REPRESENTATION OF THE GEOMETRICINVARIANTS
IN THE AREA METHOD
The area method [3, 4] is based on a set of geometric invariants
and high-levelgeometric theorems. It is composed of several
submethods: the signed area andPythagorean difference method for
plane geometry; the directed chord methodfor plane geometry on
circles; the signed volume method for solid geometry; thefull-angle
method for plane geometry on angles; the vector algebra method;
thecomplex numbers method; and the argument method for Lobachevski
geometry.
In this appendix we present Clifford algebraic representations
for the geometricinvariants in these methods.
In the signed area and Pythagorean difference method, let AB be
the signedlength of vector AB, SABC be the signed area of triangle
ABC and PABC be thePythagorean difference and SABCD be the signed
area of quadrilateral ABCD andPABCD be the Pythagorean difference.
Then in the Grassmann model G3 of E2,with the notation that is used
to denote the dual operator in G2, we have
AB
CD= A BC D =
A BC D ;
SABC = (A B C)/2;SABCD = ((A C) (B D))/2;PABC = 2(A B) (C
B);PABCD = 2(A C) (B D).
In the signed volume method, let VABCD be the signed volume of
tetrahedronABCD; then in the Grassmann model G4 of E3,
VABCD = (A B C D)/6.
-
MECHANICAL GEOMETRY THEOREM PROVING 119
In the directed chord method, let AB be the directed chord of a
chord AB in acircle with diameter . Then in the Clifford model G2
of E2, with the observer setto be a point J on the circle,
AB = |A||B|(A B);
cos 6 (JA, JB) = 1|A||B|A B.
In the full-angle method, since a full-angle (l1, l2) describes
the geometric re-lationship of line l1 with respect to line l2, it
can be represented by l1/l2. In theClifford model G2 of E2,
(l1, l2) l1l2;
(l1, l2)+ (l3, l4) l1l2
l3
l4;
n(l1, l2) (l1
l2
)n;
(0) 1;(1) I2;=' .
In the vector algebra method and the complex numbers method,
vectors andcomplex numbers are already included in Clifford algebra
[15, 16].
In the argument method [4], let the hyperbolic cosine of the
hyperbolic distancebetween two points A,B in the hyperbolic plane
be cosh(AB) and the signed hy-perbolic sine be sinh(AB), let SABC
be the argument of triangle ABC and PABC bethe Pythagorean
difference, and SABCD be the argument of quadrilateral ABCDand
PABCD be the Pythagorean difference. Then in the Clifford algebraic
modelG2,1 [24] of the hyperbolic plane, with the notation that when
two lines AB,CD intersect at point M, is used to denote the dual
operator in G2, which isgenerated by vectors in the tangent plane
at M, we have
sinh(AB)sinh(CD)
= A BC D ;
cosh(AB) = A B;SABC = (A B C);SABCD = ((A C) (B D));PABCD = (A
C) (B D);PABC = (A B) (B C).
-
120 HONGBO LI
Acknowledgment
I thank Professor W. T. Wu, Professor M. T. Cheng, Professor H.
Shi and ProfessorD. M. Wang for their help in my research work. The
author also appreciates invalu-able advice from Professor D. Kapur.
The English usage is checked by P. Reany ofArizona State
University, to whom the author also owes his gratitude.
References1. Chen, W. H.: Preliminaries of Differential
Geometry, Peking Univ. Press, 1990.2. Chou, S. C.: Mechanical
Geometry Theorem Proving, D. Reidel, Dordrecht, Boston, 1988.3.
Chou, S. C., Gao, X. S. and Zhang, J. Z.: Machine Proofs in
Geometry, World Scientific,
Singapore, 1994.4. Chou, S. C., Gao, X. S., Yang, L. and Zhang
J. Z.: Automated production of readable proofs
for theorems in non-Euclidean geometries, in LNAI 1360,
Springer, 1997, pp. 171188.5. Chou, S. C., Gao, X. S. and Zhang, J.
Z.: Mechanical geometry theorem proving by vector
calculation, Proc. ISSAC93, Kiev, ACM Press, 1993, pp. 284291.6.
Corrochano, E. B. and Lasenby, J.: Object modeling and motion
analysis using Clifford algebra,
in R. Mohr and C. Wu (eds.), Proc. Europe-China Workshop on
Geometric Modeling andInvariants for Computer Visions, Xian, China,
1995, pp. 143149.
7. Corrochano, E. B., Buchholz, S. and Sommer, G.:
Self-organizing Clifford neural network, inIEEE ICNN96, Washington
D.C., 1996, pp. 120125.
8. Crumeyrolle, A.: Orthogonal and Symplectic Clifford Algebras,
D. Reidel, Dordrecht, 1990.9. Delanghe, R., Sommen, F. and Soucek,
V.: Clifford Algebra and Spinor-Valued Functions,
D. Reidel, Dordrecht, 1992.10. Doran, C., Hestenes, D., Sommen,
F. and Acker, N. V.: Lie groups as spin groups, J. Math.
Phys. 34(8) (1993), 36423669.11. Havel, T.: Some examples of the
use of distances as coordinates for Euclidean geometry,
J. Symbolic Comput. 11 (1991), 579593.12. Havel, T. and Dress,
A.: Distance geometry and geometric algebra, Found. Phys. 23
(1992),
13571374.13. Havel, T.: Geometric algebra and Mbius sphere
geometry as a basis for Euclidean invariant
theory, in N. L. White (ed.), Invariant Methods in Discrete and
Computational Geometry,D. Reidel, Dordrecht, 1995.
14. Hestenes, D.: Space-Time Algebra, Gordon and Breach, New
York, 1966.15. Hestenes, D. and Sobczyk, G.: Clifford Algebra to
Geometric Calculus, D. Reidel, Dordrecht,
Boston, 1984.16. Hestenes, D: New Foundations for Classical
Mechanics, D. Reidel, Dordrecht, Boston, 1987.17. Hestenes, D. and
Ziegler, R.: Projective geometry with Clifford algebra, Acta Appl.
Math. 23
(1991), 2563.18. Hestenes, D.: The design of linear algebra and
geometry, Acta Appl. Math. 23 (1991), 6593.19. Kapur, D.: Using
Grbner bases to reason about geometry problems, J. Symbolic Comput.
2
(1986), 399408.20. Lawson, H. B. and Michelsohn, M. L.: Spin
Geometry, Princeton, 1989.21. Li, H.: On mechanical theorem proving
in differential geometry local theory of surfaces,
Scientia Sinica Series A 40(4) (1997), 350356.22. Li, H. and
Cheng, M.: Proving theorems in elementary geometry with Clifford
algebraic
method, Chinese Math. Progress 26(4) (1997), 357371.23. Li, H.
and Cheng, M.: Clifford algebraic reduction method for automated
theorem proving in
differential geometry, J. Automated Reasoning 21 (1998),
121.
-
MECHANICAL GEOMETRY THEOREM PROVING 121
24. Li, H.: Hyperbolic geometry with Clifford algebra, Acta
Appl. Math. 48(3) (1997), 317358.25. Mourrain, B. and Stolfi, N.:
Computational symbolic geometry, in N. L. White (ed.),
Invariant
Methods in Discrete and Computational Geometry, D. Reidel,
Dordrecht, 1995, pp. 107139.26. Mourrain, B. and Stolfi, N.:
Applications of Clifford algebras in robotics, in J.-P. Merlet and
B.
Ravani (eds.), Computational Kinematics, D. Reidel, Dordrecht,
1995, pp. 141150.27. Stifter, S.: Geometry theorem proving in
vector spaces by means of Grbner bases, Proc.
ISSAC93, Kiev, ACM Press, 1993, pp. 301310.28. Sturmfels, B.:
Algorithms in Invariant Theory, Springer-Verlag, New York, 1993.29.
Wang, D. M.: Elimination procedures for mechanical theorem proving
in geometry, Ann. of
Math. and Artif. Intell. 13 (1995), 124.30. Wang, D. M.:
Clifford algebraic calculus for geometric reasoning, in LNAI 1360,
Springer,
1997, pp. 115140.31. Wang, D. M.: A method for proving theorems
in differential geometry and mechanics, J. Univ.
Computer Sci. 1(9) (1995), 658673.32. White, N. L.: Multilinear
Cayley factorization, J. Symbolic Comput. 11 (1991), 421438.33.
Whiteley, W.: Invariant computations for analytic projective
geometry, J. Symbolic Comput. 11
(1991), 549578.34. Wu, W. T.: Mechanical Theorem Proving in
Geometries: Basic Principle (translated from
Chinese edition 1984), Springer-Verlag, Wien, 1994.