A Set of rules for a constructive geometric constraint solver

This work presents the set of constructive rules used by a two-dimensional, variational geometric constraint solver based on a constructive approach. The main goal in defining the rules has been to keep the set of rules as small as possible while being able to yield a useful solver with a large enough domain of solvable constructions. The rules can be classified according to their functionality as belonging to one of three possible types: creation rules, merging rules, and constructive rules. Creation rules translate the geometric constraints into the appropriate internal representation. Merging rules are used to compute the transitive closure of angle constraints. Construction rules allow to build triangles and they also build some quadrilaterals. The rules can build any triangle defined by a set of three independent relationships given as either distances between two vertices, angles between two sides and altitudes. Quadrilateral rules can build three specific, different quadrilaterals.