39
Journal of Automated Reasoning 25: 83–121, 2000. © 2000 Kluwer Academic Publishers. Printed in the Netherlands. 83 Vectorial Equations Solving for Mechanical Geometry Theorem Proving ? HONGBO LI MMRC, 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. It combines vectorial equations solving in Clifford algebra formalism with Wu’s method. The proofs produced have significantly enhanced geometric meaning and fewer nongeometric nondegeneracy conditions. Key words: mechanical theorem proving, Wu’s method, Clifford algebra, vectorial equations solv- ing, the area method. 1. The Idea Among algebraic methods for mechanical geometry theorem proving, Wu’s 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 different sequences of pseudo-divisions lead to different results, a good arrangement for pseudo-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 simpler structure we mean fewer irreducible branches and nondegeneracy conditions; by better geometric meaning we mean more constraints that are geometrically in- variant. Geometric invariance implies at least independence of the choice of a coordinate 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 lines l i : a i x + b i y + c i = 0, i = 1, 2. From the polynomials a 1 x + b 1 y + c 1 , (a) a 2 x + b 2 y + c 2 (b) (1.1) a characteristic set can be computed under the order of variables a i ,b j ,c k x y , ?? through the pseudo-division a 1 (1.1b)-a 2 (1.1a): ? This paper is supported partially by the NSF of China. ?? It means that one can choose any order among the a i , b j , c k as long as they precede x.

Vectorial Equations Solving for Mechanical Geometry Theorem Proving

Embed Size (px)

DESCRIPTION

article

Citation preview

  • 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.