![](https://csdnimg.cn/release/download_crawler_static/15445696/bg4.jpg)
X. Chen, D. Wang
of “doing” geometry on computer. Various mechanical reasoning methods based, for example, on algebraic com-
putation with expressions in coordinates and geometric invariants [1] have been introduced to enable machines to
prove nontrivial geometric theorems and to discover new ones automatically. Different dynamic geometry software
systems (DGS) have been developed to assist users to create high-quality geometric diagrams interactively or auto-
matically by inputting construction commands or constraint declarations [2]. By moving free (or semi-free) points,
these diagrams can be dynamically manipulated while the involved geometric relations remain satisfied.
However, the capabilities of currently available software for the manipulation of symbolic geometric objects like
geometric entities, quantities, and relations are very limited, in contrast to those of computer algebra systems (CAS)
such as Maple and Mathematica for the manipulation of algebraic objects.
1
Algebraic objects such as numbers,
polynomials, and transcendental functions are purely symbols that are endowed with meanings by using formal
definitions. The problem of representation and formal manipulation of algebraic objects on computer has been
thoroughly studied. It is now well understood what kinds of data structures and computational mechanisms should
be implemented for algebraic manipulation.
In geometry we may understand an arbitrary triangle as a shape formed by connecting three arbitrary points with
three line segments. Then natural questions arise: what is a shape, what is a point, and what is a segment? What does
“connecting” mean? Is a point also a triangle (of which the three vertices coincide one another) or a circle (with
radius 0)? These simple questions cannot be easily answered. This is partially because some geometric concepts
are introduced to model the real world informally with vague descriptions and their definitions may never be used
in formal reasoning. We need to distinguish such concepts from those that can be formally defined in terms of
other concepts. Even though most of the geometric entities and relations in standard textbooks are defined formally,
the rigorousness of their definitions still remains questionable (because of the disregard about degenerate cases).
For example, the circumcenter of a triangle is defined as the point where the perpendicular bisectors of the three
sides intersect, which does not necessarily exist in the case when the three vertices of the triangle are collinear.
Therefore, formalizing geometric concepts and explicitly specifying their meanings are fundamental issues that
have to be considered and studied carefully for the representation and manipulation of symbolic geometric objects
on computer.
Vagueness and informality existing in the definitions of geometric concepts can be disseminated into geometric
knowledge
2
which is of the following types.
(1) Descriptive type: theorems, problems, proofs, resolutions,
3
explanations, etc. that exist in the literature of
geometry;
(2) Procedural type: methods or algorithms, techniques, strategies, rules, heuristics, etc. that have been introduced
and developed to define geometric concepts, to prove geometric theorems, to solve geometric problems, and
to draw geometric diagrams;
(3) Linked type: relations among (1) and (2).
Roughly speaking, knowledge of types (1) and (3) can be stored electronically as data in knowledge bases,
while knowledge of type (2) can be implemented as procedures in software modules. The procedures may process
data and the data may contain instructions for invoking procedures. Geometric knowledge is usually introduced
and stated with certain structure in formal or informal publications using natural mathematical languages along
with the development of geometry. However, the statements for geometric knowledge are interpreted implicitly
usually in the general cases (without debating degenerate cases). For instance, it is true that the three altitudes of
a triangle are concurrent only under the condition that the three vertices of the triangle are not collinear (which is
called a nondegeneracy condition), because the three altitudes may not always be well defined or do not necessarily
1
By a symbolic object we mean an arbitrary object constructed with indefinite parametric data, such as an arbitrary triangle or circle. A
diagram constructed in a DGS can be viewed as an instance of a symbolic object by assigning definite values to the involved parameters
and interactive manipulations performed on the diagram may change the assigned parametric values into other definite values.
2
To be specific, we restrict ourselves to elementary geometry with plane Euclidean geometry as a concrete example.
3
In this paper, we use the notation resolution (instead of solution) to represent the process of solving a problem.