a given hypotenuse as the base, i s a. c i r c l e upon the hypotenuse as a diameter. 1 7. These theorems are incarnated in the loci specialists. From some.
A PROCEDURAL
APPROACH
TO C O N S T R U C T I O N S
IN EUCLIDEAN
by BRIAN B.Sc,
University
A THESIS THE
V.
FUNT
of British
Columbia,
SUBMITTED IN PARTIAL REQUIREMENTS MASTER
in
FOR OF
THE
FULFILMENT DEGREE
OF
SCIENCE
the Department of
Computer
We
accept to
THE
this
Science
thesis
the required
UNIVERSITY
OF
as
conforming
standard
B R I T I S H COLUMBIA
October,
1973
1971
OF
GEOMETRY
In p r e s e n t i n g an
this thesis
advanced degree at
the
Library
I further for
shall
the
of
this thesis
written
representatives.
of
be
g r a n t e d by
Computer S c i e n c e
The U n i v e r s i t y o f B r i t i s h V a n c o u v e r 8, C a n a d a
1973
requirements
Columbia,
for reference
the
I t i s understood
for f i n a n c i a l gain
O c t o b e r 9.
British
the
Columbia
shall
Head o f my
that
not
be
I agree and
f o r extensive copying of
permission.
Department o f
Date
University
permission
s c h o l a r l y p u r p o s e s may his
f u l f i l m e n t of
make i t f r e e l y a v a i l a b l e
agree that
by
in partial
that
study.
this
thesis
Department
copying or
for
or
publication
allowed without
my
Abstract
A problem level
solving
Euclidean
program
geometry
been
written.
Figures
the
points
composing
them,
constraints.
procedural. aspects
of
The
The the
implementation
of
of handling
straight-edge
has
of
capable
language
compass
are constructed
the l o c i
which
representation
relation
and
to
of
the program,
are
satisfy
proving
which
discussed.
was
school
constructions
discovering, for
geometric
theorem
PLANNER,
by
high
the
given
sets
knowledge
i s
i n geometry,
and
used
in
the
Table
Of C o n t e n t s
Introduction I
II
III IV V VI VII
Background
1
And P r e l i m i n a r y
1.1
Related
1.2
The Domain
1.3
The P a t t e r n
Remarks
5
Work
5 8 O f Two
Loci
8
T h e CONSTRUCTOR
....14
II.1
Overview
.14
II. 2
Consequent
Knowledge
17
II.2.A
The L o c i
Specialists
II.2.B
The L i n e
And S l o p e S p e c i a l i s t s
II.2.C
Angle
II.2.D
Assumption
I n p u t And P h r a s e
11.4
Point
11.5
Solution
11.6
Basic
11.7
Canonical
11.8
Flow
........27
And A s s u m p t i o n
........32
abstraction
Constructions Naming
34 ....36 .37 38 ............41
Output For Further
....26
Specialists
PLANNER
CONSTRUCTOR
..24 25
Specialists
Of C o n t r o l
On
Directions
Ordering
.......18
Specialists
11.3
Comments
.,
48 Research
Conclusion
.....55 59
Bibliography
.......62
VIII
Appendix
I
64
IX
Appendix
II
65
i i
Table
I
Construct vertex
a
angle
II
Flowchart
III
Construct
of
Figures
triangle and
a
given
the
side
base,
the
..........11 .40
a
triangle
given
i i i
the
three
medians
..58
Acknowledgement
I
wish
p a r t i c u l a r i l y t o thank
supervisor,
f o r h i s wealth
Dr.
Rosenberg
Richard
Intelligence;
and
who
Karen
D r . Raymond
of ideas
and
illuminating
originally interested
f o r her love
and
Reiter,
me
in
inspiration.
my
thesis
criticsm; Artificial
1
Introduction
One
of
the
solving
i s
plane
the
school
high
theoretical problems Plane a
and
geometry.
curriculum
importance,
but and
t o geometry
of rigorous 1
realms
justified because
not
i t
exercise
role
they
which
thinking.
of
are
i s absent
Geometry
problems
which
of
because
of i t s
a
wealth of
rigorous
thought.
and t h i s i n many
problems have
problem
of geometry i n
contains
and diagrams a r e inseparable,
concreteness
problems ;
traditional The c o n t i n u e d
i s
f o r the teaching
geometry
domains
ancient
fact
lends
of the other
are
been
not
»toy
studied
for
millennia.
The area the
characteristics
for study
geometry
the teaching
which
make
o f problem
geometry
solving also
o f problem s o l v i n g . ' Systems have
been
developed
such
make
f o r proving
by G e l e r n t e r ,
1 + 2
an
and
excellent i t good f o r
theorems
in
Goldstein.'
» H. G e l e r n t e r et a l , "Empirical Explorations of the Geometry-Theorem P r o v i n g Machine," Computers and Thought, ed. E.A. Feigenbaum and J . Feldman, (New Y o r k : H c G r a w " ~ H i l l 7 1 9 6 3 ) pp.153-163.
H. G e l e r n t e r , Hachine," Computers 2
" R e a l i z a t i o n o f a Geometry-Theorem and Thought, pp.134-152.
Proving
Ira Goldstein, E l e m e n t a r y Geometry Theorem_Proving, (Cambridge, Hass.: M a s s a c h u s e t t s I n s t i t u t e o f Technology, 1973) A l Nemo n o . 280. 3
2
Work a
has a l s o
set
of
examined
the
What
specified
construction
problem.
solution
figure
theorem
proving
extending
A
what
here
them.
ability
i s given
procedure
which
its
applicable.
diagram
a
has
satisfy
the
i s that In
set
of
the figure
to
the
other
i s a form o f there
exists
addition,
f o r the proof concerning
used
the
a
some
o f lemmas solution
i n i t s construction.
i s
whether
and compass
consistent
relates
proven
definition
This
s
theorem.
construction
required
figures
determines
to
devised
Price
i s to construct
to other facts
Each
and
the constraints.
representation
knowledge.
result
being
i s
has
i n a proof;
problem
Performing
satisfying
Wong*
i s the straight-edge
problem
This
t h e theorem
procedural
a
a complete
the
or other auxiliary
geometric
drawing
Given
mentioned. proving;
problems:
i n the hypothesis of a
constraints,
problems
figure
of
considered
satisfies
theorem
on r e l a t e d
f o rconstructions
problem
i s
geometric
done
heuristics
constraints
which
been
used
for
o r theorem
the
i s coded
i t s conditions
procedural
knowledge
required as
a
a r e met a n d
i s
expressed
* Richard Wong, C o n s t r u c t i o n H e u r i s t i c s f o r Geometry and a V e c t o r A l g e b r a R e p r e s e n t a t i o n o f Geometry, (Cambridge, Mass.: Massachusetts Institute of Technology, 1972) T e c h n i c a l Memo no.28.
Keith (Cambridge, unpublished 5
i
Price, "Satisfying Geometric Constraints," Mass.: M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y , 1971) Bachelor»s Paper.
3
in
such
which loci
a
satisfy
as to a i d i n the search
the constraints
a r e found
The in
way
t h e problem
author
which
has
thus
(the far
been
and compass
accepts
the
problem
produces
an a l g o r i t h m
solution
figure.
Polya,
who
it,
uses
8
the
communication the he
common hopes
that
the
of
When
called
Hewitt's
implemented)
description described
construction
thread
program,
construction
has s t u d i e d
o f some
a
subset
straight-edge
the
o f t h e problem.
points
appropriate
i n
problem
of
The
restricted
English,
and
creation
of
f o r the
solving as
a
i n order medium
running through
the solutions after
7
problems.
of reasoning.
will,
PLANNER
f o r the s o l u t i o n
i n English
problem
t h e CONSTRUCTOR,
language
'patterns*
reader
of
i s solved.
has w r i t t e n
MICRO-PLANNER*
f o r the l o c i
working
program
to teach for
the
By p o i n t i n g o u t o f many many
problems exercise
G . J . Sussman et a l , MICRO-PLANNER B e f e r e n c e M a n u a l , (Cambridge, M a s s . : M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y , 1971) A I Memo n o . 2 0 3 A . * 6
Carl Hewitt, D e s c r i p t i o n and T h e o r e t i c a l A n a l y s i s (Using S c h e m a t a } , . o f .PLANNER: A L a n g u a g e f o r P r o v i n g Theorems_and M a n i p u l a t i n g Models i n a Robot, (Cambridge, Mass.: M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y , 1972) R e v i s e d Ph.D. Dissertation, AI T e c h n i c a l R e p o r t no. 258. 7
George Polya, M a t h e m a t i c a l D i s c o v e r y : On U n d e r s t a n d i n g , L e a r n i n g , and T e a c h i n g Problem S o l v i n g , (New York: John Wiley and Sons, 1962~Vol.~1. 8
4
problems,
internalize
work
an
part
i s of
a
attempt
problem
the
underlying
to incorporate
solving
program.
pattern such
of
reasoning.
patterns
as
an
This
integral
5
I
Background
I i i
And P r e l i m i n a r y
Related_Work
Although geometry
work
by
exploration
has been
done
researchers
i a
has been
construction
made
problem
been
on machine
most
familiar
his
Remarks
co-workers.
of
considered o f geometry
work
in this
T h e most
interesting
implemented
by G e l e r n t e r ,
success
i n
moderately
of semantics into
diagram
model.
as a
A
MICRO-PLANNER
has
been
to
incorporate
Machine. which
*
written
program
and
extend
The e s t a b l i s h e d
BTP's
knowledge
Gelernter
et a l .
*o G o l d s t e i n ,
difficult
the ideas
composed,
Computers
(Basic
and
E l e m e n t a r y Geometry
the reason
Theorem
and
Geometry f o r i t s i s
the
by t h e u s e o f a
Theorem
Prover) i s
used
i n t h e Geometry definitions
are expressed
and Thought,
compass
earliest
approach
embedded
theorems
no
emphasis has
theorems,
process
BTP
plane
o f G e l e r n t e r and of
A procedural
geometry i s
that
feature
the proof
by Goldstein.*°
the
and t h e c h i e f
called
and
The main
being
of
Intelligence,
theorems,
regard
introduction
aspects
straight-edge
here.
Machine
proving
other
Artifical
the
proof
9
on
of
a s PLANNER
pp.134-163.
Proving.
6
procedures effort less
which
involved than
in
that
attributable to
Goldstein
to
of the
concentrate
programming. thesis. which
PLANNER has
also the
simply
and
backup.
implemented
thus
generator',
BTP
the
Machine
Geometry
Neither which
they
presented
to
explored
the
implicit
in
not
the
the
programs
work;
at
not
more
lengths
of
or
by
in
the
right
this
should
1
one
be
without
the
be
found
by
Goldstein
'plausible
a l l the
of
appear
compass
there
theorems
angles
are
in
the
to
create
subgoals. of
the
diagram
system.
theorem,
and
has
solving
the
be
the
same
the
move which
or
diagram
diagram
the
must
Price
very
similar
to
considered
in
hypothesis
theorem
figure
It
a
i s possible may
be
but This
differences.
of
has
outlined
problem.
problem
be
constraints
several crucial
figure.
the
A
from
construction
i n the
constrain
a
for
BTP
user
creating a
first and
nor
the
algorithm
contained
totally
'experts
the
generator*
i s a l l that
invalid
hypothesis
however,
constraints
filter
problem
an
the
prove
on
adopted
however,
to
Machine
both
may
able
less
proved.
to
straight-edge
this
been
use
the
BTP,
and
i s
Goldstein
' p l a u s i b l e move
which
Even
Geometry
implemented,
problem
do
has
in
a
the
saving
allowed
been
that
substantially
This
which
has
letting
far.
was
mathematics
approach
order
BTP
Machine.
discusses
than
failure
of
approach
the
procedural
decide
rather
on
I t appears
1
Geometry
procedural
more
The
•experts .
implementation the
Goldstein
would
tried
the
calls
in that
chosen
The
general one
or
freely.
7
Price
thinks
freedom
of
of the
construction figure
i s
not
diagram.
the
case
technique, calling
a
of
In
the
such
a
choices
as
the
straight-edge
degree
of
freedom
degree
and of
of
compass
the
solution
zero.
method
problem
the
number
problem
Whereas compass
the
i s
when
drawing
construction in
construction
construction
restricted
strategy,
discusses
of
a
or
as
routine
relation
implied
diagram tool
to
in a
for a
can based the
be
straight-edge by
the
theorem used.
upon
name,
the
and
this
prover; Price
any
suggests
heuristics
straight-edge
i s
and
Polya compass
problem.
"In the a c t u a l c o n s t r u c t i o n of a figure, given some element to u s e , I d e p e n d o n t h e w o r k o f G. Polya in his chapter on solving construction problems." * 1
Although problem the
these Price
heuristics
considers,
restriction
thrust of
of
the
Price's figure
unconstrained freedom, this
new
1
1
of
problem
they
to
fully
undoubtedly
should
to straight
algorithm
elements
thereby
Price,
loci
would
be of
be
generalized
lines
and
i s to analyse the drawn;
the
choose
figure
constraining
to a construction
" S a t i s f y i n g Geometric
as the
bei u s e f u l
degree
are
f i g u r e ; and
routine.
Constraints,"
The
of
main
freedom
for
as
degrees then
I t i s to
the
eliminate
circles.
values there
to
in
many of
to
pass
this
last
p.11.
8
step
that
problem
Ii2
work
i s most
The
only
a
construct of
straight-edge
directly
problem
straight-edge
type
the
and
domain compass
figure
figure
dealt
problems
concern
them.
from
very
the
the
from
high
angles,
sides,
tangential All
I i i
one
radii,
are
i s a
construction
through
construction
has
even ,
assumed
list
been the
the the
of
the
impossible
The
to
i s
as
not
be
contradictory,
of
examples may
circumference
are
circles,
of
and
an
specify
tangential
the
of
range
trisection
on
The
that
problems
points
to
construction
problems
altitudes,
to
problem
of
used
of
restriction
limited
problems
class
constraints.
majority
texts.
medians,
used,
the
construction
the
geometry
Under
be a
of
circles.
to
have
at
solution.
There
triangle
here
(or
?he_Pattern_Of_Two
objects
compass
however,
and
subset
satisfies
simple
school
lines,
problems
least
quite
a
Although
difficult
to
and
with
circles;
i s
constructions.
which
and
taken
compass
related.
straight-edge a
triangles
angle)
and
Domain
The
that
on
are
schema
problem
Loci
in
which
solutions
specifiable in
by which
i t s
many
three
i t passes,
terms vertex
and
a
may of
straight-edge be
circle
classified.
key
points, by
and
points a
line
i t s center
Geometric
in by
compass
them: two
and
a
a
points point
9
of
i t s circumference.
thus
be
With
the
sets
or
set
considered tools at loci
of
two
determined most two
two
be
the
either
which
set
are
thereby
and
of
a
can
must
or
the be
circular and
be
met
the
or
figure
may
points. be
drawn;
intersection
compass
loci
loci
distinct,
are
can
i s
of
easily
loci
has of
at the
located.
by
a
the
satisfying
and
of
figure. on a
conditions
i f
that
This
or
conditions
points
constraint
problem
construction
These
the
locus.
construction
compass
list
solution figure
rectilinear
compass
a
The
construction
constraints
points
circles
created.
straight-edge
into
of
and
i f the
through
points
of
constructing
locating i t s essential
i t s e s s e n t i a l nature,
construction
straight-edge
of
straight lines
Thus,
reformulated The
of
straight-edge
types,
i s , in
a
that
points
statement
figure. in
of
problem
diagramatically,
restrictions can
be
hand,
such
available
problem
to
members.
The
The
can set
approach
of
the
be
used forms
to
the
i s summarized
by
Polya: "First, r e d u c e the problem t o the c o n s t r u c t i o n of ONE point. Then, s p l i t the condition into TWO parts so that each p a r t y i e l d s a l o c u s f o r the unknown point; each locus must be either a s t r a i g h t l i n e or a circle." 1
He
refers to
Consider
*
2
polya,
i t as
as
the
an
'pattern
example
Hathematical
of
the
2
two
loci*.
problem,
Discovery,
Vol.
"Construct
1
p.5.
a
triangle
10
given
t h e base,
the vertex
triangle
ABC, t h e b a s e
placing
the
•pattern
o f two l o c i * .
circle
center
BAC
t o BC.
by
the
the
Point
radius
This
point
i s sketched
1
placing
3
II.4.
can i s
as
o f the problem.
the f i r s t
The a s s e r t i o n s
1
3
name
point
using
the
of
the
A at angle
The s o l u t i o n
were
except
obtained
i s a dump
generated
solution
the
AB, a f t e r
intersection
Included
The
above,
we
determined
through I.
below. they
be
the
i n figure
i s given
I f
BAC, a n d t h e s i d e
BC, a n d t h e l i n e
i n the database
statement
C C
same a s t h e o n e d e s c r i b e d
about
and
B
and a s i d e . "
BC, t h e a n g l e
AB,
CONSTRUCTOR
assertions English
side
angle
of the
from
algorithm
i t i s more
the i s
explicit
side.
are discussed
i n detail
i n sections II.3
Given: '
—
—
side AB
base B C
A
B
FIGURE I
12
Example: ( c o n s t r u c t a t r i a n g l e given t h e base , the v e r t e x a n g l e and a s i d e ) CONSTRUCTING TRIANGLE A B C ) AB I S A SEGMENT OF LINE LINE1 AC OF LINE2 , AND BC OF LINE3) BC I S THE BASE) ANGLE BAC I S A GIVEN ANGLE) AB I S A GIVEN SIDE) (LINE L I N E 3 ) ) (LINE LINE2) ) (LINE L I N E 1 ) ) (TRIANGLE A B C ) ) (POINT C ) ) (POINT B)) (POINT A)) (POINT C (CONDITION-ON C ST TRIANGLE A B C ) ) . 2 0 ) (POINT B (CONDITION-ON B ST TRIANGLE A B C ) ) . 20) (POINT A (CONDITION-ON A ST TRIANGLE A B C ) ) . 2 0 ) (C ON LINE3) ) (C ON LINE2) ) (B ON L I N E 3 ) ) (B ON LINE1) ) (A ON L I N E 2 ) ) (A ON LINE1) ) (KNOWN LENGTH AB)) (KNOWN ANGLE BAC)) (KNOWN LENGTH BC)) TRYING CONDITION: UNKNOWN POINTS TRYING CONDITION: UNKNOWN POINTS TRYING CONDITION: UNKNOWN POINTS TRYING CONDITION: UNKNOWN POINTS
(CONDITION-ON A ST TRIANGLE A B C (A B C) NO. OF LOCI FOUND: 0) (CONDITION-ON A ST TRIANGLE A B C (A B C) NO. OF LOCI FOUND: 1) (CONDITION-ON C ST TRIANGLE A B C (C) NO. OF LOCI FOUND: 0) (CONDITION—ON C ST TRIANGLE A B C (C) NO. OF LOCI FOUND: 1)
)) )) )) ) )
• • • • b e g i n n i n g o f s o l u t i o n algorithm+*++ ((DRAW L I N E LINE1 ANYWHERE) (A I S ON LINE LINE 1) (PLACE POINT B ANYWHERE ON LINE 1) (POINT A I S ON THE CIRCLE WITH CENTER B RADIUS AB) (CONSTRUCT L I N E LINE2 THRU POINT A (AT ANGLE BAC TO LINE LINE 1 ) ( C I S ON LINE LINE2) (POINT C I S ON THE CIRCLE WITH CENTER B RADIUS BC))
13
Although solution Polya
the
of construction
points
out that
set
of arbitrary
of
sets
element
i s i n
generalized semantics axiom of
items
two the
or
Polya,
i t has a
a
used
more
here
general
restriction
s t i l l
and
proves
i n the nature.
the
i n the choice
i n a geometry results
proof
with
of
from
those
the
useful.
i n the i n t e r p l a y
and, o f course,
algebraic
i s only
the pattern of finding
language;
applicable
i n the diagram;
**
satisfying
p a t t e r n c a n be s e e n :
having
loci'
i f t h e n o t i o n o f l o c u s i s broadened
intersection
i n natural
simultaneous
problems
more,
for application
those
true
' p a t t e r n o f two
to a number
solution 1 4
o f syntax
and
theorem
or
a the
whose
i n the s o l u t i o n
intersection result
Discovery. V o l .
i s
of a s e t of
equations.
Mathematical
The
1, p p . 1 3 3 - 1 3 8 .
14
II
T h e CONSTRUCTOR
H i !
Overview
A loci*
framework which
o r theme i s e s t a b l i s h e d
has
been
solution
o f geometry
in
a solution
itself
approach. fact
The
that
with
that
as
"pattern
word
do
of
to
the
various
program
the pattern The
i snot
problem,
but rather
by P o l y a
to connote the
processes
of the
o f two
f o r the
The p a t t e r n
problems
i s a skeleton
logic.
a
problems.
i s used
reasoning
i n which
first-order
existential (E
'pattern*
f o r the discovery
formalism
into
to the construction
o f two l o c i '
methods
One
construction
the solutions
structure, The
incorporated
by t h e ' p a t t e r n
have
which
which loci.*
must
a
lead
similar t o them.,
be f i l l e d o u t
3
c a n be expanded
pattern
an
upon
i s expressed
i s
by t h e
statement/question
x y)
(C1,
scpns i d e r e d > - ^ Reorder the l i s t of points p u t t i n g the current point at the end of the l i s t
Print failure
FIGURE I I
41
III
C o m m e n t s ,_Qn_PLA8HER
PLANNER its
three
pattern
has r e c e i v e d
simultaneous
distinguishing
features,
directed
backtracking for
acute
the
theorem
control
criticism
laudability in
procedure
of
PLANNER
formulation prover,
BTP.
Backtracking seen
to consist the
the
computation,
tree.
i s illustrated
was
passed,
from
that
node
and
of the •blocks
an
has been
D.
automatic singled
out
McDermott. °
The
2
world, *
1
Of
database,
by i t s i n s t r u m e n t a l
role
and t h e geometry
2
2 2
i s a single
term
f o r a process
operations.
backtrack process i s the return
The e f f e c t
heart
and
and c r i t i c i s m .
associative
the l a t t e r
Sussman
o f two d i s t i n c t
in
an
invocation,
structure,
b y G.
praise
a decision
point,
i s undone; i s pruned
the branch from
to a
occurring
This
the i n i t i a t i o n
can
be
operation
preceding state i n node
i n the search
after
of the search
the tree.
o f b a c k t r a c k i n g ; however,
The f i r s t
an e a r l i e r
o f a l lcomputation
which
that
tree
operation
node
developed i s
the
o f computation
on
° G . J . Sussman and D.V. M c D e r m o t t , "From PLANNER to CONNIVER—A Genetic Approach," F a l l Joint.Computer Conference 1222, PP1171-1179. 2
Hinograd, P r o c e d u r e s a s a R e p r e s e n t a t i o n f o r Data C o m p u t e r Program,, f o r U n d e r s t a n d i n g N a t u r a l L a n g u a g e . 2
1
2
2
Goldstein,
Elementary
Geometry
Theorem
Proving.
i n a
42
a
new
branch
emanating
considered
t o be i m p l i e d
certainly
the
backtracking
is
branch.
done
o f automatic
i s
Not even
branch's
reference
point
i s also
backtracking. to
the
This
PLANNER
often
i s most
automatic
structure.
two c o m p o n e n t s ; not
the decision
by t h e term
in
control
Criticism into
case
from
what
the
i t does
saving
a record
exploration
backtracking i s similarily
i s
a n d what
i t does
o f any r e s u l t s
from
o f t h e h y p o t h e s i s which kept.
The
answer
divisible
n o t do.
What
t h e abandoned led
to this
to
the
criticism
seems
t o l i e i n t h e e s t a b l i s h m e n t o f c o n t e x t s and o p e r a t i o n s f o r
their
m a n i p u l a t i o n , a s h a s been
What the
i s done
automatic
point.
examination
There
restarting unexpected.
under
i s
i n QA4
2 3
and CONNIVER. * 2
t h e a u s p i c e s o f PLANNER of the next
no c o n t r o l
o f computation
done
given
at a point
A c c o r d i n g t o Sussman
backtrackingi s
possibility
at a
t o t h e programmer where
i t may
and HcDermott
very
decision over well
the problem
this be that
"an unexpected f a i l u r e w i l l propagate back . . . and compute w i t h o u t o u r e x p l i c i t programming of this activity . . . i s o b s e r v e d by r e a l u s e r s o f
J . F . R u l i f s o n , J.A. Derksen and R.J. Waldinger, QA4: A Procedural Calculus f o r I n t u i t i v e Reasoning, (Menlo Park, Calif.: Stanford Reasearch Institute, 1973) Artificial I n t e l l i g e n c e C e n t e r T e c h n i c a l Note 73. 2
3
* G.J. Sussman a n d D.V. H c D e r m o t t , The_CONNIVER_Reference Manual, (Cambridge, Mass.: Massachusetts Institute of T e c h n o l o g y , 1 9 7 2 ) A I Memo n o . 2 5 9 . 2
43
MICRO-PLANNER who complain that they cannot understand the behavior o f t h e i r programs because the flow of control i s not e x p l i c i t " i n the code."25
An
essential
common power The
and vested
author
difficulty complex
lies
form
with of
suggests
syphoning
primitive,
to
be
natural
contraction
of
the
exploration
The
their
and
GOAL
with
by
criticism
with an
comment
that
point.
with
called
IS.
power
of
the
example
GOAL
i t must
power
can
most '
be
used. a
new
primitive
i s a
Much
fruitless
eliminated
IS whenever
w h i c h Sussman
be
o f f into
new
function
the
I t h a s t o o much
GOAL.
by
possible.
i s
effectively
and McOermott
use i n
The example i s :
(X Y Z) (?X I N ?Y) (GOAL ( ? X I N ? Z ) ) (GOAL (?Z I N ? Y ) } )
this
which
This
effort
powerful
of backtracking.
(CONSEQUENT
They
the less
primitive,
some o f t h i s
backtracking
problem
illustrated
decision
i n i t f o r the frequency
PLANNER
replacing
t h e GOAL
2
6
theorem
" . . . i f called by,e. g. (GOAL (BL0CK2 IN B0X1}), i t s o n l y p o s s i b l e a c t i o n s are either to find a Z between BL0CK2 and B0X1, o r t o f a i l . Although which Z i s found cannot possibly affect
25 Sussman and McDermott, G e n e t i c A p p r o a c h , " p.1173.
2* S u s s m a n a n d McDermott, G e n e t i c A p p r o a c h , " p.1171.
"From
"From
PLANNER
PLANNER
to
to
CONNIVER—A
CONNIVER—A
44
subsequent events, a f a i l u r e back t o t h e theorem w i l l c a u s e i t t o l o o k u p a n o t h e r Z, succeed, and a l l o w i t s c a l l e r t o f a i l a g a i n i n e x a c t l y t h e same way!"" The
difficulty
arises
the
assumption
goal
could
pattern all
i n
possible
Often, even
that
result
or
i n that every
i n
a
may
this
database.
i s
of
pointless.
the goal
A query
represented
i n such
o r a matching
The
i n which
of is
no c o n s e q u e n c e overcome
consequent
by
an
i s
theorem
the pattern
(IS
the
the
GOAL
must
different as
be
tried.
theorems,
in
the
several
times
relevant
change
a
Thus
second
without to
time,
the after
manner,
more a s a s i n g l e
test
there
statement
IN
of the
theorem datum
invoked,
i s found
The problem
(BLOCK2
i s
or not the statement
a matching when
or
above
inconsequential
which,
or significance. using
of
occurs i n the database,
i n the
succeeds?
i s taken
in
B0X1))
base,
the to
t o be
example
call
the
theorem.
* Sussman anS HcDermott, G e n e t i c Approach," p.1173. 7
or
behaves
Equivalently,
database,
i n satisfying
goal
i s made a s t o w h e t h e r
by t h e p a t t e r n
environment.
goal
under
of the database.
data,
computation
The IS f u n c t i o n
environment.
the
different
pattern
Restarting
re-satisfying
modification
the
used
operates
instantiation
not the case;
with
the
function
path
satisfying
satisfy
re-instantiation
way
different
methods o f
t h e same t h e o r e m
example,
distinct
a different
however,
t h e GOAL
"From
PLANNER
t o CONNIVER—A
45
The the
IS f u n c t i o n
i s easily
function.
T h e GOAL
GOAL
way
with
is
made
respect to
invoking
and
important
failure to
satisfy
matching
succeeds The
to success
the
next
the
time.
was
In
I f
from for
i t
a
contrasted
i s
after
with
i n the following
Initially
an
attempt
a matching
datum
satisfied, t h e GOAL
the
matching
i s evaluated.
when
In contrast, than
following
datum
the
GOAL
the
IS
attempting
or
goal
to backtracking, i s that
the statement
suspended
i s restarted.
operates
by f i n d i n g
aspect, i n relation
which
failure
goal
statement
back
when
and f a i l u r e .
the
t h e GOAL, t h e s e a r c h
satisfied,
function
theorems.
propagates
theorem,
understood
i f
a
t h e GOAL,
or
successful
was
previously
function
to succeed
passes
backwards
rather
a
second
a l l other
a s p e c t s t h e o p e r a t i o n o f I S i s t h e same a s
GOAL.
The the no
use o f t h e IS f u n c t i o n
example, possible
restarting the
excessive
i s
tried
beyond
a s THIS
THGOAL
even
of
though
GOAL.
t o MICRO-PLAHHER,
i n t h e implementation
(GOAL
(IS
o f MICRO—PLANNER
The
have
Rather
than
(?X
IH
B0X1))
occurrence by u s i n g
IS f u n c t i o n ,
was u s e d
IH ? Z ) ) ,
o f t h e g o a l s and
the
be e l i m i n a t e d
i n
i tcould
(BL0CK2
traces
revealed
could
arising
computation.
the
b y t h e CONSTRUCTOR
place
t h e problem,
on t h e s t a t e m e n t
b a c k t r a c k i n g which i n
found
the subsequent
passed
Examination
primitive author
upon
Z being
the computation
statement.
than
effect
failure
theorems
o f another
solves
of
t h e IS
added
by t h e
more
often
slightly
o f t h e CONSTRUCTOR.
46
The
above
the
imposition
the
user
has
of a
not
first
observed
a
provided
out
shift,
i n
used
language,
QA4
which
they
may
sufficient
during
the i n i t i a l
handling
the
shape
algorithms.
The
i n PLANNER.
consider away
a
better
of search
distinction
which must
exists be
understood
understood
attempts
to
solve
obscure
controllable
There database, invaluable. success
i s and
no
PLANNER
be
backtracking
question
pattern They
can
that
may
procedure
despite
have
8
non-ideal poorly well
problems.
encouraging
the
the features
the
latter.
o f an a s s o c i a t i v e invocation contributed
the d i f f i c u l t i e s
Rulifson, Derksen and Haldinger, C a l c u l u s f o r I n t u i t i v e R e a s o n i n g , p. 289. 2
of
to
f o r the
and
and p e r p l e x i n g
enable
a r e t h e f a c t o r s which
has enjoyed
tool,
between
problems,
2 8
I t can
and
i n a l l
made
accused
directed
useless
formulation,
well
former;
backtracking.
of solutions i n order
to
PLANNER
have
surprising
i ti s available.
solutions
i n
as i t might a t
n o t be an e n t i r e l y
formulation
upon
Waldinger
from
formulated
Backtracking
and
of
Backtracking
t o be a "most
c o n t r o l over
of
o f t h e element
justification
control structure
Derksen,
programming",
backtracking
as a
be a s u s e f u l a f e a t u r e
Rulifson,
that
establish
backtrack
as i s the case to
appeared.
Nonetheless,
be
o f an a u t o m a t i c
turned
have
trend
discussion i s not intended
QA4:_A
are to the
encountered
Procedural
in
controlling
i t s automatic
backtracking
control
structure.
48
II
CONSTRUCTOR_Out£Ut
The those
solutions given
CONSTRUCTOR
here
is
System
timings
ranged the
The figures "The it
from range
point.
a
two s i d e s
for
The output
from
as well
such
seconds,
10
to
the
20
The
MICRO-PLANNER
function,
which i n
(no L I S P
compiler
of the Michigan
triangle
while
problems
f o r the c i r c l e
CPU
seconds.
solutions
as not solving
than
detail
those
found
reguiring
by
A the
are:construct
medians.
i n the section
t o abandon
comments
t h e CONSTRUCTOR.
may
help
of a a
and
"Directions
new
triangle
problem i s
for
are required
problems
that
construct
The l a t t e r
minutes
such
side;
section
the fact
the introduction
to the third
CPU
concerning
i n the
limitation,
problems
five
problems
specified
serious
i t s three
Approximately
following
the
and
below.
of
t h e CONSTRUCTOR
the
environment For
of
and t h e median
i n more
Research".
from
by
sections,
CONSTRUCTOR.
interpreter
20 t o 35 C P U
any problem
given
the
t h e THIS
the
h a s a s i t s most
Examples
discussed
i n
are different
solve
triangle
the LISP
was
CONSTRUCTOR,
cannot
include
selection
Domain",
given
under
i s given
which
by
o n a n IBM 3 6 0 / 6 7 .
representative CONSTRUCTOR
to
available)
Terminal
previous
interpreted
modified
presently
i n
produced
was
was o p e r a t i n g
problems
were
code
interpreter, turn
t o t h e examples
and admit
Further i n order
failure.
i n the understanding of the
The output
begins
with
a
statement
/
49
of
the
elements
names
the
refered
list
of
input
and phrase
the
points
loci
which
unknown The
assertions
had been
points, part
instructions, parentheses.
After
were s e t up a s g o a l s
i n the figure
construction
Following
of each
found
which
the time
of
the
the
the
this
solution
generated
database
were unknown,
the goal
output
there
are printed.
f o rthe f i r s t
at
f o rthe geometric
i n the database
specialists.
which
final
has generated
t o i n t h e problem.
a l l the
" conditions
CONSTRUCTOR
i s
point
i n s t r u c t i o n enclosed
in
a n d t h e number o f on
I t a
by t h e
In addition,
the
algorithm
figure.
a
dump, a l l
was a t t e m p t e d , the
i s
i s
list
i s given. for
a
separate
of
list set
the of of
50
(construct a r i g h t triangle given al e g and t h e a l t i t u d e t o t h e h y p o t e n u s e ) CONSTRUCTING TRIANGLE A B C ) AB I S A SEGMENT OF L I N E L I N E 1 AC OF L I N E 2 , AND BC O F L I N E 3 ) AB I S A G I V E N S I D E ) L E T T H E G I V E N A L T I T U D E BE OF L E N G T H L E N 4 ) (ANGLE BAC EQUAL ANGLE N I N E T Y ) ) (LINE LINE3) ) (LINE LINE2)) (LINE LINE1) ) (TRIANGLE A B C ) ) (RIGHT T R I A N G L E A B C ) ) (POINT C)) (POINT B)) (POINT A)) ( P O I N T A ( C O N D I T I O N - O N A, S T A L T I T U D E ft TO L I N E 3 I S LENU) ) 100) (POINT A (CONDITION-ON A ST RIGHT T R I A N G L E A B C ) ) 50) (POINT C (CONDITION-ON C S T T R I A N G L E A B C ) ) . 20) (POINT B (CONDITION-ON B ST T R I A N G L E A B C ) ) . 20) (CONDITION-ON A S T T R I A N G L E A B C ) ) . 20) (POINT A (C ON L I N E 3 ) ) ,(C ON L I N E 2 ) ) (B ON L I N E 3 ) ) (B ON L I N E 1 ) ) (A ON L I N E 2 ) ) (A ON L I N E 1 ) ) (KNOWN L E N G T H L E N 4 ) ) (KNOWN L E N G T H AB) ) (KNOWN ANGLE N I N E T Y ) ) TRYING CONDITION: (CONDITION-ON A S T A L T I T U D E A TO L I N E 3 I S LEN4) ) < UNKNOWN P O I N T S (A B C) NO. O F L O C I FOUND: 0) T R Y I N G C O N D I T I O N : ( C O N D I T I O N - O N A ST A L T I T U D E A TO L I N E 3 I S LEN4)) UNKNOWN P O I N T S (A B C) NO. OF L O C I FOUND: 1) T R Y I N G C O N D I T I O N : (CONDITION-ON A S T RIGHT T R I A N G L E AA B C ) ) UNKNOWN P O I N T S (A B C) NO. O F L O C I FOUND: 1) T R Y I N G C O N D I T I O N : (CONDITION-ON A S T T R I A N G L E A B C ) ) UNKNOWN P O I N T S (A B C) NO. OF L O C I FOUND: 1) T R Y I N G C O N D I T I O N : (CONDITION-ON C S T T R I A N G L E A B C ) ) UNKNOWN P O I N T S (C) NO. OF L O C I FOUND: 0) T R Y I N G C O N D I T I O N : (CONDITION-ON C S T T R I A N G L E A B C ) ) UNKNOWN P O I N T S (C) NO. OF L O C I FOUND: 1) (DRAW L I N E L I N E 3 ANYWHERE) ( P O I N T A I S ON A L I N E P A R A L L E L TO L I N E 3 AT D I S T A N C E L E N 4 ) ( P L A C E P O I N T B ANYWHERE ON L I N E 3 ) (POINT A I S ON T H E C I R C L E WITH C E N T E R B RADIUS AB) (ANGLE BAC I S EQUAL TO ANGLE N I N E T Y ) ( C O N S T R U C T L I N E L I N E 2 THRU P O I N T A (AT ANGLE BAC TO L I N E L I N E 1 ) ) (C I S ON L I N E L I N E 2 ) (C I S ON L I N E L I N E 3 ) )
/
51
(construct a c i r c l e tangent t o a given and tangent t o a second intersecting l i n e a t a given point) ( C I R C L E CIRCLE** I S TANGENT TO L I N E (THE C I R C L E I S TANGENT TO T H E L I N E ((INTERSECTING LINE7 LINE6)) ( ( R A D I O S C I R C L E U RADIUS5) ) ( (CIRCLE CIRCLEU)) ( ( C I R C L E U TANGENT L I N E 6 ) ) ( ( C I R C L E D TANGENT L I N E 7 AT C ) ) ((LINE LINE7)) ( (LINE LINE6) ) ( (POINT C) ) ( (POINT A) ) ( ( P O I N T A (CONDITION-ON A C E N T E R ( (C ON C I R C L E U ) ) ( ( C ON L I N E 7 ) ) ( (B ON C I R C L E U ) ) ( ( B ON L I N E 6 ) ) ( (A CENTER C I R C L E U ) ) ( (KNOWN L I N E L I N E 7 ) ) ( (KNOWN P O I N T C ) ) ( (KNOWN L I N E L I N E 6 ) )
line
LINE6) L I N E 7 AT P O I N T C)
CIRCLE
CIRCLEU))
( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E ( UNKNOWN P O I N T S (A) NO. O F L O C I FOUND: 0) ( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E ( UNKNOWN P O I N T S (A) NO. OF L O C I FOUND: 1)
. 100)
CIRCLEU)) CIRCLEU))
( ( C E N T E R P O I N T A I S ON T H E B I S E C T O R OF T H E ANGLE FORMED BY L I N E S L I N E 6 AND L I N E 7 ) (CENTER P O I N T A I S ON A L I N E P E R P E N D I C U L A R TO L I N E 7 AT P O I N T C ) )
(construct base a n g l e
an i s o s c e l e s t r i a n g l e given a and t h e a l t i t u d e t o a l e g )
(CONSTRUCTING
TRIANGLE
A B C)
52
AB I S A SEGMENT OF L I N E L I N E 8 , AC OF L I N E 9 A N G L E ABC I S A G I V E N ANGLE) L E T T H E G I V E N A L T I T U D E B E OF L E N G T H L E N 1 1 ) (ANGLE ABC EQUAL ANGLE ACB) ) (ISOSCELES TRIANGLE A B C ) ) ( L E N G T H AB EQUAL L E N G T H A C ) ) (LINE LINE10)) (LINE LINE9) ) (LINE LINE8) ) (TRIANGLE A B C ) ) (POINT C ) ) (POINT B ) ) (POINT A) ) (POINT C (CONDITION-ON C S T A L T I T U D E C TO 100) (POINT A (CONDITION-ON A S T A E Q U I D I S T A N T (POINT C ( C O N D I T I O N - O N C S T T R I A N G L E A B C (POINT B (CONDITION-ON B S T T R I A N G L E A B C (POINT A (CONDITION-ON A S T T R I A N G L E A B C (C ON L I N E 1 0 ) ) (C ON L I N E 9 ) ) (B ON L I N E 1 0 ) ) (B ON L I N E 8 ) ) (A ON L I N E 9 ) ) (A ON L I N E 8 ) ) (KNOWN L E N G T H L E N 1 1 ) ) (KNOWN A N G L E A B C ) ) TRYING CONDITION: LEN11)) UNKNOWN P O I N T S TRYING CONDITION: LEN11)) UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S TRYING CONDITION: UNKNOWN P O I N T S
, AND BC OF L I N E 1 0 )
LINE8
B AND C ) ) . HO) ) ) . 20) ) ) . 20) ) ) . 20)
(CONDITION--ON C S T A L T I T U D E (C A B) NO. OF (CONDITION--ON
IS LEN11))
C TO L I N E 8
IS
L O C I FOUND: 0) C S T A L T I T U D E C TO L I N E 8
IS
(C A B) NO. OF L O C I FOUND: 1) (CONDITION--ON C S T T R I A N G L E A B C ) ) (C A B) NO. OF L O C I FOUND: 1) (CONDITION--ON A S T A E Q U I D I S T A N T B AND C ) ) (A) NO. OF L O C I FOUND: 0) (CONDITION-ON A S T A E Q U I D I S T A N T B AND C) ) (A) NO. O F L O C I FOUND: 1) (CONDITION-ON A S T T R I A N G L E A B C ) ) (A) NO. O F L O C I FOUND: 1)
((DRAW L I N E L I N E 8 ANYWHERE) ( P O I N T C I S ON A L I N E P A R A L L E L TO L I N E 8 AT D I S T A N C E L E N 1 1 ) ( P L A C E P O I N T B ANYWHERE ON L I N E 8 ) ( C O N S T R U C T L I N E L I N E 1 0 THRU P O I N T B (AT ANGLE ABC TO L I N E L I N E 8 ) ) (C I S ON L I N E L I N E 1 0 ) ( P O I N T A I S ON T H E P E R P E N D I C U L A R B I S E C T O R OF BC) (A I S ON L I N E L I N E 8 ) )
53
(construct i s tangent (LET (THE
a c i r c l e o f given to a given c i r c l e
r a d i u s which a t a given point)
T H E RADIOS B E OF L E N G T H RADIUS 13) C I R C L E I S TANGENT TO T H E C I R C L E C I R C L E 1 4
( ( R A D I U S C I R C L E 1 2 RADIUS 1 3) ) ((CIRCLE CIRCLE14)) ( (CIRCLE CIRCLE12)) ( ( C I R C L E 1 2 TANGENT C I R C L E 1 4 AT B) ) ( ( P O I N T B) ) ( (POINTft)) ( (POINT A (CONDITION-ON A C E N T E R C I R C L E ( (B ON C I R C L E 1 2) ) ( (B ON C I R C L E 1 4 ) ) ( ( A CENTER C I R C L E 1 2 ) ) ( (KNOWN C I R C L E C I R C L E 1 4 ) ) ( (KNOWN P O I N T B) ) ( (KNOWN L E N G T H RADIUS 1 3 ) )
AT POINT B)
CIRCLE12))
. 100)
( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E C I R C L E 1 2 ) ) ( UNKNOWN P O I N T S (A) NO. OF L O C I FOUND: 0) v ( T R Y I N G C O N D I T I O N : (CONDITION-ON A CENTER C I R C L E C I R C L E 1 2 ) ) ( UNKNOWN P O I N T S (A) NO. OF L O C I FOUND: 1) ( (CENTER P O I N T A I S ON A C I R C L E C E N T E R B WITH RADIUS R A D I D S 1 3 ) C E N T E R P O I N T A I S ON A L I N E THRU P O I N T B AND T H E CENTER OF CIRCLE14))
(construct
a right
(CONSTRUCTING
triangle
given
a base angle
(
and t h e hypotenuse
TRIANGLE A B C )
(AB I S A SEGMENT OF L I N E L I N E 1 , AC OF L I N E 2 (ANGLE ABC I S A G I V E N ANGLE) (BC I S T H E HYPOTENUSE) ( (ANGLE BAC EQUAL ANGLE N I N E T Y ) ) ( (LINE L I N E 3 ) ) ( (LINE LINE2)) ( (LINE LINE1) ) ( (TRIANGLE A B C ) ) ( (RIGHT T R I A N G L E A B C ) ) ( (POINT C) ) ((POINT B))
, AND BC O F L I N E 3
54
(POINT &) ) (POINT a (CONDITION-ON (POINT C (CONDITION-ON ( P O I N T B (CONDITION-ON (POINT A (CONDITION-ON (C ON L I N E 3 ) ) (C ON L I N E 2 ) ) (B ON L I N E 3 ) ) (B ON L I N E 1 ) ) (A ON L I N E 2 ) ) (A ON L I N E 1 ) ) (KNOWN L E N G T H B C ) ) (KNOWN ANGLE A B C ) ) (KNOWN ANGLE N I N E T Y ) ) TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S TRYING CONDITION UNKNOWN P O I N T S
a C B A
ST ST ST ST
RIGHT T R I A N G L E TRIANGLE A B C ) TRIANGLE A B C ) TRIANGLE A B C )
A ) ) )
B C ) ) .50) . 20) .20) .20)
( C O N D I T I O N -ON A S T RIGHT T R I A N G L E A B (A B C) NO. OF L O C I FOUND: 0) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A B C) NO OF L O C I FOUND: 0) ( C O N D I T I O N -ON A S T R I G H T T R I A N G L E A B (A B C) NO OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A B C) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T RIGHT T R I A N G L E A B (A B C) NO OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A B C) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON B S T T R I A N G L E A B C ) ) (A B C) NO OF L O C I FOUND: 0) ( C O N D I T I O N -ON B S T T R I A N G L E A B C ) ) (A B C) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T RIGHT T R I A N G L E A B (A) NO. OF L O C I FOUND: 0) ( C O N D I T I O N -ON A S T R I G H T T R I A N G L E A B (A) NO. OF L O C I FOUND: 1) ( C O N D I T I O N -ON A S T T R I A N G L E A B C ) ) (A) NO. OF L O C I FOUND: 1)
C ) )
C ) )
C ) )
C ) ) C ) )
((DRAW L I N E L I N E 3 ANYWHERE) (B I S ON L I N E L I N E 3 ) ( P L A C E POINT C ANYWHERE ON L I N E 3 ) ( P O I N T B I S ON T H E C I R C L E WITH C E N T E R C RADIUS BC) (DRAW C I R C L E WITH CENTER H AT T H E MIDPOINT OF BC RADIUS BH) (CONSTRUCT L I N E L I N E 1 THRU P O I N T B (AT ANGLE ABC TO L I N E L I N E 3 ) ) (A I S ON L I N E L I N E 1 ) )
55
1
Directions
There proceed. broader
For Further
are several
class
of
figure
such
as l i n e s . i s
although
sentence
The include loci
would
problems
intersection
not
have
The
were
algorithm.
solution
figures.
could
other
than
Other
trapezoids;
the also
solution
be
solved,
the
problem
a single
English
Just
i n two
loci
be
expanded
so
dimensions.
than
to
a s two i n t e r s e c t i n g
dimensions
i n three rather
could
curves,
does
the
The l o c i i n
but this
would
complication.
figure
angles
i s
which
a
include:
and
communicating
system
could
of
be
for
actually
of different
the
that
they
drawn
i f
graphics
the i n t e r p r e t a t i o n o f the output
problem
of the s t i p u l a t i o n s l i m i t i n g
consideration
i n
dimensions.
The s p e c i f i c a t i o n
and
handle
might
squares,
could
employed.
points
developed
lengths
One
of input
are surfaces
i n any
i n
to
and t r i a n g l e s .
subfigures
of the current
three
solution
routines
t o be
solution
dimensions
result
form
i n three
of
circles
constructions
arises
development
be e x p a n d e d
construction
of several
Some
repetoire
determine
three
Other
difficulty
specification.
easily
than
for
further
as parallelograms,
composed
a
i n which
could
figures
candidates
quadrilaterals well
areas
T h e COHSTROCTOR
possible
as
Research
must
values
would
f o r the
result
the type
given
i n different
o f problem
n o t be c o n t r a d i c t o r y
under
and hence
56
unsolvable.
The
construction reports the
CONSTRUCTOR
impossible;
failure.
One
CONSTRUCTOR
i t simply
technigue
t o prove
analagous
to the 'pattern
be
two
oh
loci,
non-intersecting, of two
loci
which
is
of
reguired
loci'
1
i n forming and
c a n be u s e d
refered
could
with
to
prove
a
an a l g o r i t h m
or
be used
in
extending
o f two l o c i * . the
loci
I f a
point
can
be
i s found
proved
i s impossible.
two p a r a l l e l
to
to
be
Examples
lines
and a l s o ,
circles.
two l o c i .
straight-edge
which
the construction
a l l construction
•pattern
attempt
the impossibility of a construction i s
and
then
not
succeeds
do n o t i n t e r s e c t a r e :
concentric
Not
does
problems
are solvable
I t i s , however,
at least
compass
part
to i n the 'pattern
a basic
of
the
constructions.
i n constructing
only
technigue,
solution
The
the 'stepping
of auxiliary
using
and
i na l l
'pattern stone'
the
o f two
which
i s
figures'.
"try t o d i s c o v e r s o m e p a r t o f t h e f i g u r e o r some c l o s e l y r e l a t e d f i g u r e which you c a n c o n s t r u c t and which you can use as a stepping stone i n constructing the original f i g u r e . " 2
Discovering difficult technigues. imperative
2
9
which problem
auxiliary
f o r which
The employment when
figure
looking
Polya, . Mathematical
will
be o f u s e i s i n i t s e l f
the author
of a diagram for
auxiliary
Discovery,
9
i s currently would,
of
figures.
developing course,
An
V o l . 1, p . 1 5 .
a
be
auxiliary
57
figure
need
not n e c e s s a r i l y occur
the
solution
new
points
figure, and
geometry
theorem
have
place
a
compass has
b u t may b e f o r m e d
lines, prover
i n such
as a subpart
construction
particular
as a part
other
program.
properties
of
more
A proof may
be
the
diagram
of
by t h e i n t r o d u c t i o n o f
words
as that of a
of
a
construction.
Goldstein
powerful that
would
required
before
A
also
straight-edge
an a u x i l i a r y
3 0
and
figure
i t c a n be
constructed.
As given
an example the three
medians is
medians".
An a u x i l i a r y
triangle
introduced
MGD.
into
triangle
angle be the
GMD
i s known.
a triangle
constructable
A
point
new
Once With
D,
by
the
result
this
new
and G o l d s t e i n * s
CONSTRUCTOR, o f AM, i s that
t h e medians
GD of
= a
from
the v e r t i c e s
has been
constructed,
information and hence
theorem
the three
t o prove
that
MGO
triangle
midpoint
2/3 t h e d i s t a n c e
a triangle
a
given
the
I t i s necessary
b y t h e CONSTRUCTOR,
CONSTRUCTOR
"Construct
figure,
a t a point
medians.
constructed
Construct
the established
intersect
the
the problem,
the diagram.
MF, a n d t o r e c a l l
along
consider
triangle
triangle
prover
could
GAM
ABC.
can Both
be used
as
subsystems.
so The word 'construction* i s used here in a theorem p r o v i n g c o n t e x t a n d m e a n s t h e i n t r o d u c t i o n o f a new e l e m e n t i n t o the problem, not the discovery o f a f i g u r e .
58
FIGURE I I I
59
VI
Conclusion
This
study
manipulation, discovery
has
and
extent
of fiqures
constraints.
For
knowledge,
begun
satisfying the
explore
the
knowledge
a complete
delineation
procedures
representation,
of
to
have
and the p a t t e r n
embodiment,
required
for
and c o n s i s t e n t
and
been
the
management
experimented
o f two l o c i
setof
of
the
with
h a s been
the
as
tested
a
as a
framework.
A of
base
which
a r e common
Goldstein, the
exist
provers
another another
uses
another step step
procedures
a
i n
constructed
locus.
the
the relevant and
clarity because
of they
i n tone
that
i fcertain
i ti s
specific
provers
between The
conditions and
i fcertain
then
and
however.
justified
that
figure
valid.
conditions
possible
to
i n s t r u c t i o n s and
u s e a r e s u l t t o make uses
a r e s u l t t o make
of a figure.
knowledge
mind
Gelernter
tasks
t h e CONSTRUCTOR
adequate
r e s u l t s , some
two
i s
by f o l l o w i n g
i n the construction
of
i s a difference
The theorem
i n a proof;
flexible
maintain
There
provers
results stating
the construction
Encoding a
theorem
a particular conclusion
in a partially
drawing
of established
use r e s u l t s s t a t i n g
CONSTRUCTOR
continue
both
to the
o f r e s u l t s used
met t h e n
The
consisting
was r e q u i r e d .
majority
theorem are
o f knowledge
as programs
approach. when
are written
I t
proved
to
i s possible
expressing i n the f i r s t
be to
theorems
as
person.
The
60
programmer
dons
behaviour
as
the cloak of a his
own.
This
procedures
must
be
encourages
this
assumption,
desirable.
A procedure
accordance
with I t
assumption,
write
then
discarding
can
be
i s
ability
should
natural
the
formulate
then
not
imply
be
i t
and
to
procedures,
on
and
i s neither be a b l e
first
of
a l l such PLANNER
necessary nor to
behave of
i n
other
make
the
independence
observe
their
performance;
interactions their
o f PLANNER
geometric
that
accomplishments
and
basis
describes i t s
independent.
and c o u l d
failures
of the shortcomings
to
to
but
the assumption,
added
Regardless
does
considered
the
procedures.
theorem
between
procedures
observed
behaviour.
i n this
concepts
respect,
as procedures
the
proved
invaluable.
It as
an
would aid
Gelernter thought
solving
and G o l d s t e i n
application necessary. statement
a
t o a s k why
a diagram
was
construction
problems
as
i n p r o v i n g theorems.
diagram
would
o f the 'pattern A l l the
be
o f two l o c i '
information
a p l a c e f o r diagrams but i t i s associated
o f t h e problem.
restrictions
on a
slopes
have
may
point
Before
found.
the
locus
the which
other
Such
of
points,
facts
may
was b y was
i n the i snot problem
There i s
construction
theorem might
used
i t
simply
i n the database.
with
c a n be drawn,
to' be
i n
i n the solution
a
i t
however,
a diagram
contained
more
never
Originally
essential;
c a n be r e p r e s e n t e d d i r e c t l y
definitely
aspects
i n
that
problems,
be r e a s o n a b l e
proving
satisfy
the
lengths
or
possibly
be
61
determined facts. a
by
proving
F o r example,
q u a d r i l a t e r a l whose
length
other
machinery
unknown
length
opposite
side
them may
i s
to
facts
t h e mechanism
i s theorem in
for
proving. the
be t h a t known.
the
known
of a side of The
proven
unknown t o be a
determination
of
The s o p h i s t i c a t i o n o f t h e
CONSTRUCTOR
and i t i s i n extending
other
i t that
for
diagrams
this
i s
would
have
not to
introduced.
An loci» compass
e x c e l l e n t framework for
the
solution
construction
addition, to
Thus,
available
extensive, be
an
relating
i s d e t e r m i n e d i f t h e q u a d r i l a t e r a l c a n be
parallelogram. these
theorems
solving
a mastery more
i s provided of a
problems
large of
of the •pattern
difficult
problems.
a
by t h e " p a t t e r n
of
class of straight-edge high
o f two
school loci*
level.
two and In
i s prerequisite
62
/
1.
Baumgart, Bruce G. Micro-planner Alternate Reference Manual. Palo alto, Calif.: Stanford University, SAILON~no. 67, 1972.
2.
G e l e r n t e r , H., J . R . H a n s e n , a n d D.W. Loveland. "Empirical E x p l o r a t i o n s o f t h e Geometry-Theorem P r o v i n g Machine." Computers and Thought . Ed. E d w a r d A. Feigenbaum and J u l i a n Feldman. Hew York: McGraw Hill, 1963, pp.153-163.
3.
Gelernter, H. "Realization o f a Geometry-Theorem P r o v i n g Machine." 9fP*?l£E , a n d .Thought. Ed. E.a. Feigenbaum and J. Feldman. Hew Y o r k : McGraw Hill, 1963, pp.134-152. c
s
4.
Goldstein, Ira. ElementaryGeometry Cambridge, Mass.: Massachusetts T e c h n o l o g y , A l Memo n o . 2 8 0 , 1 9 7 3 .
5.
Hewitt, Carl. D e s c r i p t i o n and T h e o r e t i c a l A n a l y s i s (Using Schemata), o f P l a n n e r : A L a n g u a g e f o r P r o v i n g _ T h e g r e m s and_Manigulating_Modgls_in_a_R Cambridge, Mass.: Massachusetts Institute o f T e c h n o l o g y , R e v i s e d Ph.D. D i s s e r t a t i o n , A l T e c h n i c a l Report no. 258, 1972.
6.
Morgan, P.M. Toronto,
7.
Polya,
George. M a t h e m a t i c a l D i s c o v e r y : On L e a r n i n g and T e a c h i n g Problgm S o l v i n g . W i l e y S S o n s , V o l . 1 , 1962.
8.
Price,
Keith. Cambridge, Technology,
9.
R u l i f s o n , J . F . , J.A. Derksen and R.J. Procedural Calculus f o r Intuitive
And w.E. Breckenridge. O n t . : Thomas N e l s o n & Sons,
Theorem p r o v i n g . Institute of
Plane.Geometry. Rev. E d . , 1954.
Understanding, New Y o r k : John
"Satisfying Geometric Constraints." Mass.: Massachusetts Institute of u n p u b l i s h e d B a c h e l o r ' s P a p e r , 1971.
Waldinger. Reasoning.
QA4: A Menlo
63
Park, C a l i f . : Stanford Research I n s t i t u t e , Artificial I n t e l l i g e n c e C e n t e r T e c h n i c a l Note 7 3 , 1972.
10.
Sussman, Gerald J . A n d Drew V . HcDermott. The_CONMIVER R e f e r e n c e Manual. Cambridge, Mass.: Hassachusetts I n s t i t u t e o f T e c h n o l o g y , A I Memo n o . 2 5 9 , 1 9 7 2 .
11.,
Sussman, G e r a l d J . A n d Drew V. HcDermott. " F r o m PLANNER to CONNIVER A Genetic Approach." Fall_J.oint Computer.Conference 1972, pp. 1171-1179. ~ -
12.
Sussman, G.J., T. Winograd and E. Charniak. MICRO-PLANNER R e f e r e n c e H a n u a l . Cambridge, Mass.: Hassachusetts Institute o f Technology, A I Memo n o . 203A, 1971.
13. „ S u s s m a n , G.J. A n d D.V. HcDermott. Whv_Connivinq_is Better^ than P l a n n i n g . Cambridge, HassTT Hassachusetts I n s t i t u t e o f T e c h n o l o g y , A I Memo n o . 2 5 5 A , 1 9 7 2 .
14.
welchons, A.M., W.R. Krickenberger a n d H.R. Plane_Gegmgtry. B o s t o n , Mass.: G i n n , 1958.
Pearson.
15.
Winograd, Terry. P r o c e d u r e s a s a R e p r e s e n t a t i o n f o r Data i n a Computer Program f o r 0nderstandiD3_Natural ~ Language. Cambridge, Mass.: M a s s a c h u s e t t s Institute o f T e c h n o l o g y , R e v i s e d Ph.D. D i s s e r t a t i o n , MAC TR 84, 1 9 7 1 .
16.
Wilcox, B. And Arbor, Mich.:
17.
Wong, R i c h a r d . C o n s t r u c t i o n H e u r i s t i c s f o r Geometry a n d a V e c t o r A l g e b r a R e p r e s e n t a t i o n o f G e o m e t r y . ~Cambridge7 Mass.: Hassachusetts Institute of Technology, T e c h n i c a l Memo n o . 2 8 , 1 9 7 2 .
C. Hafner. LISP/MTS U s e r ' s G u i d e . Ann Mental Health Research~lnstltute7~1973.
64
Appendix
I
(a)
Draw
a circle
given
(b)
Draw
a line
(c)
Draw
an a n g l e
(d)
Draw a l i n e given line.
(e)
Draw the point.
(f)
Find
the midpoint
of a given
line
(g)
Draw
the bisector
of a given
angle.
(h)
Draw the segment.
(i)
Draw a l i n e given point
given
i t s center
two
equal
points
and
on i t .
to another
at a given
given
distance,
perpendicular
perpendicular
to
a
angle.
and
given
bisector
a t a given angle on t h e i t .
radius.
parallel
to
line
given
at a
a
segment.
to
to a given
a
given
line,
line
and a t a
65
Appendix,II
Sample _ Consequent
Knowledge
Specialists
(thconse c - a l t 1 ; t h e l o c u s o f a p o i n t a known d i s t a n c e ; f r o m a known l i n e i s a l i n e parallel ; to that line ( ( t h r e s t r i c t a • ( l a m b d a (x) ( e g $ ? p x ) ) ) p l i n e h) ( c o n d i t i o n - o n $?p s t a l t i t u d e $ ? a t o $ ? l i n e i s $?h) (this (known l e n g t h $ ? h ) ( t h u s e c - l e n g t h 2 c-length1)) (this (determine l i n e $ ? l i n e ) (thuse c-dtrmnline)) (construction point $?a is on a line parallel to $?line at distance $?h))
(thconse c-angle1 ; a n a n g l e i s known i f i t i s ; i s t h e a n g l e o f i n t e r s e c t i o n o f 2 known l i n e s , (a e v f ) (known a n g l e $ ? a ) ( t h u n i g u e ' a n g l e $?a) ( t h g o a l (explode $?a $?e $?v $ ? f ) (thnodb) (thuse c-explode)) (this (known l i n e (thev ( l i n e $?e $ ? v ) ) ) (thuse (this (known l i n e (thev ( l i n e $ ? f $?v))) (thuse (thassert (known a n g l e $?a))) (thconse c-assumeline ; a s s u m i n g a l i n e means t o d e t e r m i n e ; a l i n e may b e a s s u m e d t o b e known ; i f no o t h e r l i n e h a s b e e n assumed
i t s position
(1 p o i n t ) (assume l i n e $?1) ( t h n o t ( t h g o a l (assumed l i n e ? ))) (thassert (known l i n e $?1)) (thassert (assumed l i n e $?1)) M
M
c-linetest)) c-linetest))
arbitrarily
66
(thcond ( ( t h a n d ( t h g o a l ( $ ? p o i n t on $ ? 1 ) ) ; i f a p o i n t on t h e l i n e i s known t h e n ( t h g o a l (known p o i n t $ ? p o i n t ) ) ) ( c o n s t r u c t i o n draw l i n e $ ? 1 a n y w h e r e t h r u ; t h e l i n e must p a s s t h r u i t ( ( t h n o t ( t h g o a l (known p o i n t " ? " ) ) ) ( c o n s t r u c t i o n draw l i n e $?1 a n y w h e r e ) ) ; o t h e r w i s e i t may g o a n y w h e r e (t ( t h f a i l theorem))))
point
$?point))
(thconse c-dtrmnline ; t o d e t e r m i n e a l i n e means t o f i r s t ; s e e i f i t i s known ( i n t h e d a t a b a s e o r by d e d u c t i o n ) ; a n d i f i t i s n o t known t o a s s u m e t h a t i t i s k n o w n (1 p o i n t ) ( d e t e r m i n e l i n e $?1) {thor ( t h i s (known l i n e $ ? 1 ) (thuse c - l i n e t e s t ) ) (this (assume l i n e $?1) (thuse c-assumeline))) (thfail? t •(thfail theorem))) ; i f f a i l u r e b a c k s up t o t h i s p o i n t t h e w h o l e ;theorem s h o u l d fail
(thconse c - l i n e 2 ; a l i n e i s known i f i t p a s s e s t h r u ; a known p o i n t a n d h a s k n o w n s l o p e , ( l a s ) ( f i n d l i n e $?1) (thcond ((thand ( t h g o a l ($?a on $?1)) ( t h g o a l (known p o i n t $ ? a ) ) ) ) ( ( t h a n d ( t h g o a l ($?a on $?1)) (this (known p o i n t $ ? a ) ( t h n o d b ) ( t h u s e c - d t r m n p o i n t ) ) ) ) ) (thor ( t h i s (known s l o p e $ ? 1 $ ? s ) ( t h u s e c - s l o p e 2 c-slope1)) ( t h f a i l theorem)) ( t h a s s e r t (known l i n e $?1)) ( c o n s t r u c t i o n c o n s t r u c t l i n e $?1 t h r u p o i n t $?a $ ? s ) )
(thconse c-slope2 ; t h e s l o p e o f a l i n e i s known i f i t ; i n t e r s e c t s a n o t h e r known l i n e a t a known a n g l e . (1 m a s ) (known s l o p e $?1 $ ? s ) ( t h u n i g u e ' s l o p e $?1) ( t h g o a l ( $ ? 1 i n t e r s e c t s $?m a t a n g l e $ ? a ) (thuse c - i n t e r s e c t 1 ) ) (this (known a n g l e $ ? a ) ( t h u s e c - a n g l e 2 c-angle3)) (this (known l i n e $?m) (thuse c - l i n e t e s t ) ) ( t h s e t g $ ? s ( " l i s t " ' a t ' a n g l e $?a ' t o ' l i n e $?m)))
(thconse c - c i r c l e 5 (c ded circle 11 rad ( t h r e s t r i c t 12 ' ( l a m b d a (teg) (not ( e g ( t h v 11) teg))))) (condition-on ( t h v c) c e n t e r c i r c l e (thv circle)) ( t h g o a l ({thv c i r c l e ) tangent (thv 11))) (thcond ( ( t h g o a l ((thv c i r c l e ) t a n g e n t (thv 1 2 ) ) ) ) ( ( t h g o a l {{thv c i r c l e ) t a n g e n t ( t h v 12) at " ? ) ) ) ) (thcond {(thgoal ( i n t e r s e c t i n g ( t h v 11) (thv 12)) (thuse c - i n t e r s e c t i n g 1 c-intersecting2)) (this ( d e t e r m i n e l i n e (thv 11)) (thtbf thtrue)) (this (determine l i n e (thv 12)) (thtbf thtrue)) (construction center point ( t h v c) is on the bisector of the angle formed by lines (thv 11) and (thv 12))) ((thgoal (parallel ( t h v 11) ( t h v 12)) (thtbf thtrue)) (this (determine l i n e (thv 11)) (thtbf thtrue)) (this { d e t e r m i n e l i n e ( t h v 12)) (thtbf thtrue)) (thgoal (radius (thv c i r c l e ) (thv rad))) (thdo (thassert (deduced length (thv rad) ( i s one h a l f t h e s e p a r a t i o n o f t h e p a r a l l e l l i n e s ) ) ) (thassert (known l e n g t h (thv rad)))) (construction center point ( t h v c) is on a line parallel M
to lines (thv 11) and (thv midway between them))))
12)
s
, BP^ ,.. i i P S t , A n d _ P h r a s e a
e
Specialists
(thante a-altmed1 (side len segment a b c ( t h r e s t r i c t o t onto) ( t h r e s t r i c t f a c t o r altmedp) ( t h r e s t r i c t t h ' ( l a m b d a (th) (memq t h ' ( t h e t h a t o n e ) ) ) ) ) (given the $ ? f a c t o r $?ot $?th $?side) (thcond ((memq $ ? s i d e » ( b a s e h y p o t e n u s e ) ) ( t h g o a l ( t r i a n g l e $?a $?b $?c)) ( t h s e t g $ ? s e g m e n t (seg $?b $?c) $?point $?a)) ((eg $ ? s i d e *side) ( t h g o a l ( t r i a n g l e $?a $?b $?c)) (thcond ( ( t h g o a l (known l e n g t h ( t h e v ( s e g $?b $?a)))) ( t h s e t g $?segment (seg $?b $?a) $?point $?c)) ( ( t h g o a l (known l e n g t h (thev ( s e g $?a $?c)))) ( t h s e t g $?segment (thev (seg $?a $?c)) $?point $?b)) (t (thsetg $?segment (thev (seg $?b $?c)) $?point $?a)))) (t ( t h e r t bad s i d e - a - a l t m e d 1 ) ) ) (thsetq $?len (gensyml »len)) ( t h a s s e r t (known l e n g t h $?len)) ( t p r i n t l e t t h e g i v e n $ ? f a c t o r be o f l e n g t h $ ? l e n ) (or (eg $ ? f a c t o r ' a l t i t u d e )
(thassert (median $ ? p o i n t t o $?segment) $ t ) ) (thassert (point $?point (thev (tlist condition-on $?point st $?factor $?point to (cond ((eg $ ? f a c t o r ' a l t i t u d e ) ( l i n e $?segment)) (t $ ? s e g m e n t ) ) is $?len})) (thprop (cond ((eg $ ? f a c t o r ' a l t i t u d e ) 100)
(thante a-anyangle ((threstrict art articlep) (given $?art angle) ( t h g o a l ( t r i a n g l e $?a $?b (thor (thand ( t h a s s e r t (known (tprint angle (ang $?a (thand ( t h a s s e r t (known (tprint angle (ang $?a (thand ( t h a s s e r t (known (tprint angle (ang $?b
a
b
(t -110)))))
c)
$?c)) angle ( t h e v (ang $ ? a $?b $ ? c ) ) ) ) $?b $?c) i s a g i v e n angle)) angle ( t h e v (ang $ ? a $ ? c $ ? b ) ) ) ) $ ? c $?b) i s a g i v e n a n g l e ) ) angle ( t h e v (ang $?b $ ? a $ ? c ) ) ) ) $?a $?c) i s a g i v e n a n g l e ) ) ) )
(thante a-isos1 (a b c ) ( i s o s c e l e s t r i a n g l e $?a $?b $?c) (thassert (point $?a (thev (tlist condition-on $?a st $?a eguidistant $?b and $?c))) (thprop 40)) (thassert (length (thev (seg $?a $?b)) equal length (thev (seg $?a $ ? c ) ) ) ) )
(thante a-isos2 (a b c ) ( i s o s c e l e s t r i a n g l e $?a $?b $?c) (thassert (angle (thev (ang $ ? a $?b $?c)) egual angle ( t h e v (ang $?a $ ? c $?b)))))
Sample
LiSP-PLAHNBR
Hybrid
Functions
(defun c o n s t r u c t i o n f e x p r (cnarg) ; t h i s f u n c t i o n a d d s a new i n s t r u c t i o n to the ; s o l u t i o n a l g o r i t h m a f t e r c h e c k i n g t h a t the ;same i n s t r u c t i o n h a s n o t b e e n a d d e d p r e v i o u s l y . ; t h e i n s t r u c t i o n s may be r e m o v e d by failure ;backup i f n e c e s s a r y (prog n i l ( s e t q cntemp (mapcar •(lambda (a) (cond ( ( a t o m a) a) (t ( e v a l a ) ) ) ) cnarg)) (cond ((member c n t e m p c o n s t r u c t i o n ) (return n i l ) ) (t (setq thexp ( l i s t 'thand * ( t h s e t q c o n s t r u c t i o n (cons cntemp c o n s t r u c t i o n ) ) ( l i s t »threturn ( l i s t 'quote cntemp))))) ) ( r e t u r n t) )) ( s e t q cntemp n i l )
(defun l i n e expr cnsegs (prog (cnsega cnsegb cnexp) (cond ( ( e q c n s e g s 2) ( s e t q c n s e g a ( a r g 1) cnsegb (arg 2))) (t (setq cnexp (explode ( a r g 1)) cnsega (car cnexp) cnsegb (cadr cnexp)))) (return (thval •(thprog (1) ( $ g ($e c n s e g a o n $?1)) ( $ g ($e c n s e g b o n $?1)) ( t h r e t u r n $?1)) thalist)) )))))))))