GRACE - Graphical Ruler and Compass Editor

Welcome to GRACE, the Graphical Ruler and Compass Editor. GRACE is an interactive ruler and compass construction editor for use in teaching the fundamental concepts of geometry to high school students. With GRACE's intuitive graphical user interface, students can both define geometric constructions, and create formal proofs about their constructions.

GRACE allows dynamic creation and modification of ruler and compass constructions, allowing students to easily visualize the steps of a construction and how it varies for different inputs. Constructions may be built from one of five geometric primitives (Line, Line Segment, Ray, Circle, Perpendicular Bisector, and Intersection), and from other constructions; thus constructions may be built by composing more basic constructions.

GRACE's proof system is based on equality constraints over angles and distances. The system automatically infers constraints from the geometric primitives and axioms applied by the student. The student may then make assertions about the construction, which will be automatically verified by the system, so it is impossible to prove a false assertion within GRACE. (The exception to this occurs when a construction contains invalid intersections - in this case, no assertions are guaranteed to be valid.) Proofs are verified by an automatic method based on linear algebra, which allows students to reason about geometry without being overwhelmed by the complexities of computer programming or classical logic.

GRACE presents a consistent framework for experimenting with mathematical principles in the context of high schol geometry. GRACE introduces two important mathematical concepts: First, the concept of formally verifying the correctness of a statement - this idea is at the core of classical mathematics. Second, the concept of building an operation by combining a sequence of simpler operations - this idea is fundamental to computer science.

Getting Started

To run GRACE, click on the button below. (You may want to resize the main window when it appears.)