Automated discovery of angle theorems

We consider geometry theorems whose premises and statement comprise a set of bisector conditions. Each premise and the statement can be represented as the rows of a “bisector matrix”: one with three non zero elements per row, one element with value -2 and the others with value 1. The existence of a theorem corresponds to rank deficiency in this matrix. Our method of theorem discovery starts with identification of rank deficient bisector matrices. Some such matrices can be represented as graphs whose vertices correspond to matrix rows and whose edges correspond to matrix columns. We show that if a bisector matrix which can be represented as a graph is rank deficient, then the graph is bicubic. We give an algorithm for finding the rank deficient matrices for a Hamiltonian bicubic graph, and report on the results for graphs with 6,8,10 and 12 vertices. We discuss a method of deriving rank deficient bisector matrices with more than 2 non-zero elements. We extend the work to matrices containing rows corresponding to angle trisectors.


Introduction
There are a number of methods of automated geometry theorem proving [5,6,13,18].The Full Angle Method [7] treats an angle and its supplement as the same thing.It has the benefit of allowing theorems to be expressed in a more general form, and hence allowing multiple instances of the same theorem to be proved at once.However, it does not allow theorems to be expressed which themselves depend on the conventional notion of an angle, as the difference in the direction of two signed rays.Geometry Expressions employs the Analytical Geometry Method to derive an expression for output measurements in terms of symbolic values for input constraints [17].The method relies on deriving a symbolic Cartesian coordinate description of the model.When an angle is measured, it is derived from the Cartesian equations of its lines using inverse trigonometric functions.Simplification of expressions involving such functions imposes a heavy burden on the algebra system, and results for angle-dominated diagrams are not satisfactory.This prompted the development of an auxiliary system which is deployed when the entire computation can be kept in the angle domain.For example, if a triangle is defined by one side and two angles, and the third angle is measured, the Cartesian computation involves an inverse trigonometric function (arc trig).However, expressed in terms of angles the result is simply the difference between π and the sum of the other two angles.In contrast to the full angle method, this approach considers angles to be signed, and hence an angle and its supplement are different.This means that theorems are less general, but has the advantage of corresponding with the conventional notion of angle used by consumers of mathematics such as students and engineers.
Beyond theorem proving, the topic of automated theorem discovery has attracted a number of different approaches In [1,3] the geometric discovery process starts with a given diagram.Provable geometry statements about the geometric entities or further derived entities are found by exhaustive or random search.The given diagram can be in fact a parametrized family of diagrams [12].Another approach [2] is to start with the statements one wants to prove, and discover supplementary conditions required to make the theorems true.Again, however, the geometric context is given.Finding metrics that can be used in filtering the interesting theorems from a set of automatically generated theorems is an active topic of research [9,10].
In this paper, we consider working in reverse and generating the geometric diagram to match a more abstract form of the theorem, which guarantees both its solution, but also the absence of redundant premises.The abstract form is developed by analogy with known Fig. 1 AD is the reflection of the altitude AD of triangle ABC in the bisector of ∠B AC.O is the circumcenter of ABC.O lies on AD theorems, considered (by this author) to be aesthetically pleasing.We develop and automate here a method for generating many new theorems of broadly comparable structure to our seed theorems.
Our focus will be on theorems which can be stated in terms of angle bisectors.This is not quite as small a group as one might initially think, as the base of an isosceles triangle is parallel to the external angle bisector at its apex, and any circle chord defines an isosceles triangle with the radial lines to its end points.In addition, the axis of a reflection is the angle bisector of the incident and reflected rays.
For example, the theorem [6] that the reflection of a triangle's altitude in its angle bisector passes through its circumcenter, contains only one explicit angle bisector (Fig. 1).However an angle bisector is implicit in the reflection.In addition, the circumcenter forms isosceles triangles with the three sides of the triangle, and the bases of these triangles can be considered, in a broad sense, angle bisectors.The theorem can then be stated as five angle bisections and a single angle (the right angle between the altitude and the base).We present algorithms to discover new theorems of this sort.
We describe modifications in our approach to accommodate angle trisectors, and identify a pure angle bisector diagram which yields Napoleon's Theorem, and a mixed bisector/trisector diagram which yields Morley's Theorem.

Bisectors, theorems and matrices
We define the direction θ(v) of cartesian vector v to be the angle between the direction of the positive x axis and v.Given two vectors u and v, define the bisector vector B(u, v) to be the unit vector whose direction is defined by Given two lines L 1 and L 2 , let v 1 be a vector along L 1 and v 2 a vector along L 2 , then B(v 1 , v 2 ) is a vector along one of the two angle bisectors of L 1 and If w is a vector along one of the bisectors of L 1 and L 2 , and δ = θ(w), then for some integer n.We define a bisector theorem as one whose premises can be expressed as a set of angle bisectors.The conclusion may be a further angle bisection relation which is implied by the premises.Each bisection forms a linear equation whose coefficients are 1, 1 and -2.Viewed as a linear system and expressed in matrix terms, a bisection theorem can be associated with a matrix whose rows contain three non-zero elements: two 1's and one -2.
More generally, we also define as a bisector theorem one whose premises can be expressed as a set of angle bisectors and whose conclusion is that the angle between two of the lines has a specific value.We illustrate the mapping between theorem and matrix and the relationship between both flavors of bisection theorem in this section.
We state as a theorem that: The definitions of v 5 . . .v 9 can each be expressed as a linear equation, as can the conclusion.This yields a system of 6 equations in 9 unknowns, which can be expressed in matrix form as follows: Such a theorem is true if and only if the conclusion is in the null space of the premises.An alternative way of stating this is that the matrix It is simple to check with a computer that M above has rank 5, whereas its full rank would be 6, hence it is rank deficient and the theorem is true.
The theorem statement given above is that the bisector vector of v 5 and v 7 is also the bisector vector of v 6 and v 8 .An alternate way of phrasing this is to state that the bisector vector of v 5 and v 7 has the same direction as the bisector vector of v 6 and v 8 .This phrasing would lead us to introduce two vectors: We would then add a row to our matrix specifying that θ(v 10 ) − θ(v 9 ) = 0.The resulting matrix would be The rank deficiency of Q can be computed directly or deduced from a consideation of the coefficients of row 6 of matrix M expressed as a linear sum of the first five rows.Applying those coefficients to the first five rows of Q and subtracting the sixth row yields a scalar multiple of the seventh row.
Such 2D theorems in 2D vector space have geometric corollaries, e.g. the theorem of Fig. 3 that the angle bisectors of the opposite sides of a cyclic quadrilateral are perpendicular.In the figure, A chord of a circle is perpendicular to the angle bisector of the lines joining the circle's center to the chord's endpoints.The linear equations defining w 5 . . .w 8 will therefore be analogous to those for v 5 . . .v 8 but with π or −π in the right hand side.The definitions of w 5 . . .w 10 can each be expressed as a linear equation.The conclusion of our theorem is a statement that the angle between w 9 and w 10 , is determined by the premises to have a specific constant value.We denote this value .This yields a system of 7 equations in 10 unknowns, The matrix equation corresponding to the above theorem is then 1 1 0 0 −2 0 0 0 0 0 0 1 1 0 0 −2 0 0 0 0 0 0 1 1 0 0 −2 0 0 0 1 0 0 1 0 0 0 −2 0 0 0 0 0 0 1 0 1 0 −2 0 0 0 0 0 0 1 0 1 0 −2 0 0 0 0 0 0 0 0 1 −1 As the matrix Q is rank deficient, its final row may be expressed as a linear combination of the previous rows.Applying these coefficients to the right hand side of the equation and setting the final value to 0 yields a linear equation for .In our example, the linear equation implies that is π 2 , and our theorem statement is that the bisectors are perpendicular.

Bisector matrices
We have seen how geometry diagrams containing angle bisectors may be expressed as linear systems involving the directions of the vectors.We consider a diagram to comprise a theorem if one of its statements can be deduced from the others, that is if the linear system is rank deficient.Assuming a matrix form of our linear system where columns correspond to directions in the diagram, and rows correspond to bisection conditions, a single bisection corresponds to a row with three non zero elements, one -2 and two 1's.We call a matrix whose every row contains one -2 and two 1's as its only non-zero element a bisector matrix.
Our approach to theorem discovery breaks down into two parts: finding rank deficient bisector matrices, and interpreting these matrices as geometry theorems.Our initial focus in this paper is on the first task.We allude to some techniques which may be employed for the second task, but that is properly the topic of further work.
The starting point for this study is the pair of theorems in Figs. 4 and 5.With a judiciously selected labelling of the lines, the matrices for these two theorems have non-zero entries in the same places, however the values in those places are not the same.The matrices are different, but their shape is the same.We develop a graph theoretical characterization of matrix shapes which yield rank deficient bisector matrices.We further present a graph theoretical criterion on the assignment of values within these matrix shapes which can be used to accelerate a search for rank deficient assignments.Twelve directions are identified in the figure: the direction of eight lines joining the center of the circle to the vertices of the cyclic quadrilaterals, and four directions for the five lines of those quadrilaterals (the theorem statement is that two of the lines are parallel; these lines can be considered as the same direction and labelled accordingly).With this labelling, the following matrix corresponds to the figure .⎛

Motivating examples
The eight isosceles triangles in the figure each contribute a row to the matrix.For example the first row corresponds to the condition that line 12 in the diagram (FG) is the base of an isosceles triangle with sides 1 and 8 (and hence is parallel to the external angle bisector of those sides).
It is easy to check that the reduction of this matrix to row echelon form results in a zero final row, and hence the matrix is rank deficient.
Figure 5 illustrates a theorem from geometrical optics Parallel rays reflected in a hinged mirror ABC meet on a circle defined as follows.Let O be the circumcenter of ABC.Then the reflections of the rays meet on the circumcircle of AOC.
Labelled as given in the diagram, the matrix for this problem is below.
Again, the row echelon form of this matrix has a zero final row, and hence the matrix is rank deficient.
With this judicious ordering of the lines, these two theorems correspond to matrices whose non-zero values occupy the same positions.This yields an immediate question: in how many ways can these positions be filled by a 1, 1, -2 in each row so that the matrix is rank deficient?Each rank deficient matrix can then be interpreted as a theorem by using seven of the bisector conditions as postulates and the eighth as the theorem statement.
Each bisection condition may be interpreted in one of several different ways: as an isosceles triangle, as the chord of a circle, as a reflection; sequences of bisections can yield chords of In Fig. 6a, each bisector relation is represented explicitly as an angle bisection.In Fig. 6b, four of the relations implicitly define the cyclic quadrilateral, while another four are used in the reflections.In Fig. 6c, four relations represent the fact that the line joining the center of a circle to the intersection of two tangents bisects the angle between the tangents, while four other relations correspond to the cyclic quadrilateral.The parallelisms serve to unify the directions of two line pairs.
Our strategy for theorem discovery, then, is to identify rank deficient matrices then extract corresponding geometry theorems.With the matrix shape above, there are 3 8 = 6561 different ways of assigning the numbers to the locations.A simple Mathematica program was written to compute the matrix rank of each assignment and identify those which are rank deficient.Fig. 7 The four different arrow decorations on a cube which satisfy the condition that each circuit of a graph cycle passes as many arrows in the direction of travel as opposite.Their corresponding matrices are rank deficient, and represent bisection theorems There are 33.After removing isomorphic copies, obtainable by reordering rows and columns, the number is reduced to 4.
The non-zero values in the matrices above are distributed three to a row and two to a column.The latter fact allows them to be represented by a graph G whose edges correspond to matrix columns, and whose vertices correspond to rows.The edge corresponding to a given column is adjacent to the vertices corresponding to the two rows with non-zero values in that column.The adjacency matrix of G has non-zero values in the same locations as our matrices.As there are three non zero values to a row, the graph has uniform degree 3, that is to say: cubic.In fact it can be seen to be archetypal cubic graph: the wireframe of a cube.
Each non-zero entry of the matrix has a row and column corresponding to a vertex and edge of the graph.We could represent this on the graph by annotating each edge with its corresponding column's two non-zero values, placing each annotation at the end of the edge adjacent to the vertex representing the entry's row.However, as these values are all either 1 or -2, we simply need to mark the locations of the -2's.We choose to do this with an arrowhead pointing away from the vertex.With this convention, the four rank deficient matrices corresponding to the cube are depicted in Fig. 7.It can readily be verified that pattern A has 12 rotations which yield isomorphic patterns, B has 12 rotations, C has 6 and D has 3.In total, then, 33 configurations.The matrix corresponding to the geometry of Fig. 4   Graph edges with a single arrow to a cyclic polygon edge with a further bisection relation.
Our strategy for the automated discovery of angle theorems is this: first discover rank deficient matrices which can correspond to bisector relationships, then turn those matrices into geometry theorems.A straightforward automation would generate theorems of the style of Fig. 6a.Our longer term goal, however, is to automate the creation of more attractive theorems, such as 6b and 6c.This automation is the subject of ongoing work.In this paper we consider the first phase: finding rank deficient matrices.Our initial focus is on matrices which share the property that they have two non-zero entries per column, and can be represented by a graph (which means that no two columns have both non zero entries in the same rows).

Bisector matrices with underlying graphs
Definition 1 Given a matrix M, we define the underlying hypergraph G M of M to have vertices corresponding to the rows of the matrix, hyperedges corresponding to its columns and an incidence matrix with non-zero elements in the same locations as M.
If the columns of the matrix all have two non-zero elements, and if no pair of columns have both non-zero elements in the same rows, then the hypergraph is in fact a graph.In such a case, we'll refer to it as the underlying graph of the matrix and say that the matrix has an underlying graph.
Lemma 1 A matrix with connected underlying graph is rank deficient if and only if all the submatrices corresponding to graph cycles are rank deficient.with the column corresponding to edge e i which is not a member of the spanning tree.If M is full rank, then M i must be full rank for some i.The graph corresponding to

Proof
Definition 2 Let matrix M have underlying graph G.An edge of G corresponds to a column of M. If we give the edge a direction, its head and tail correspond to specific matrix rows.For directed edge e i = (h i , t i ), we define its head weight to be: a i = M h i ,e i and its tail weight to be: b i = M t i ,e i Definition 3 Given a directed cycle C, we define H C to be the product of the head weights around C and T C to be the product of tail weights around C.

Theorem 2 A matrix with connected underlying graph is rank deficient if and only if any even cycle has H C − T C = 0 and any odd cycle has H C + T C = 0
Proof Order the rows and columns of the matrix such that e 1 , e 2 , . . ., e k corresponds to a path around the cycle and (h 1 , t 1 ) = (1, 2).The matrix corresponding to a cycle is: For even cycles the determinant is a 1 a 2 . . .
only if all these determinants are 0.

Definition 4
We'll define a Bisector Matrix to be a matrix whose rows all contain three non-zero elements: one -2 and two 1's.

Corollary 3 Let M be a bisector matrix with connected underlying graph G, then M is rank deficient if and only if G has only even cycles and each directed cycle has as many head weights of -2 as tail weights.
Proof For a bisector matrix, head and tail weights are either 1 or -2.For a directed cycle C, let p be the number of head weights which are -2, and q be the number of tail weights which are -2.H C = (−2) p and T C = (−2) q .If M is rank deficient then by Theorem 2, there can be no odd cycles and for any even cycle p = q.
To find rank deficient bisector matrices with underlying graphs, we need first to find cubic graphs without odd cycles.These are the bicubic graphs, and for small n are catalogued, for example in [4,14].For n = 8, there are 5 cubic graphs, only one of which (the cube) is bicubic.For n = 6, there are two cubic graphs, one of which is bicubic.Exhaustive search yields 15 different rank deficient bisector matrices with this underlying graph.Eliminating isomorphic forms yield the two non-isomorphic matrices depicted in Fig. 9. Corresponding geometric theorems are depicted in the figure .We note that Figs.9b and 8b are special cases of the following general theorem, whose validity follows from Corollary 3. Theorem 4 Let a 1 . . .a 2n be the sides of a cyclic 2n-gon.Let {a i 1 , a j 1 }, . . ., {a i n , a j n } be pairs of sides such that | a i k − a j k | is an odd number greater than 1 for each k.Let {a i 1 , a j 1 }, . . ., {a i n−1 , a j n−1 } be parallel, then {a i n , a j n } are parallel.
Proof A graph corresponding to the theorem has a hamiltonian cycle representing the radial lines of the cyclic polygon.Parallel pairs correspond to graph edges, each of which is decorated with a pair of arrows.This guarantees condition 2 of Corollary 3. Condition 1 follows from the restriction that the difference in the indices of the parallel pairs is odd.
Corollary 3 may be used as a substitute for explicit rank computation with performance advantages which become important for larger values of n.A set of cycles which cover the graph need to be tested.For Hamiltonian graphs (as all of the lower order bicubic graphs are), such a set may readily be found by taking each edge which is not in the Hamiltonian circuit, and tracing a cycle containing it.Algorithm 1 can be used to find these matrices.

4:
Let ans ← ans ∪ {k} 7: end if 8: end for Proof The graph is assumed to contain a Hamiltonian cycle from 1 to n.We can create a set of cycles which cover the graph by adding a cycle for each off-hamiltonian edge.In the algorithm we consider the cycle around the Hamiltonian in the positive direction.The algorithm assigns base 3 digit to each vertex, which should be interpreted as follows: 0 -The tail weight of the preceding edge in the Hamiltonian circuit is -2 1 -The head weight of the next edge in the Hamiltonian circuit is -2 2 -The weight of the off-hamitonian edge at the vertex is -2 With this interpretation, S i counts the difference between the number of -2 head weights and the number of -2 tail weights in a circuit along the Hamiltonian path from u i to v i and back along the off-hamiltonian edge.We complete our coverage of the graph with the Hamiltonian circuit itself, whose count is n j=1 (K j − 1).All these sums need to evaluate to 0 by Corollary 3.
The algorithm outputs a list of integers, each of which corresponds to a particular assignment of -2 to the non-zero locations of a matrix with this shape.Algorithm 2 performs the mapping from integer to matrix.The performance of Algorithm 1 can be improved by re-ordering the iteration to facilitate branch cutting in the following way.
1. Decompose the graph into simple cycles.2. Order the vertices so that one cycle is added at a time.3. Compute head weight products and tail weight products for each cycle.4. Branch cut when their difference is non zero for a cycle.
A problem with head weights and tail weights is that if a cycle is traversed in the opposite direction, the head weights become tail weights and vice versa.In visualizing the distribution of -2's on the graph, we use an arrow pointed away from the neighboring vertex (Fig. 7).The condition of Corollary 3 can then be interpreted visually that any traversal of a cycle will pass as many arrows in the direction of travel as in the opposite direction.

Algorithm 2 Gets bisector matrix from integer k.
Require: off-Hamiltonian edges, integer 1: Let K be the base 3 representation of k padded with zeros to n digits.2: Let M be an n by n zero matrix 3: for i = 1 to n do 4: end if 12: end for To eliminate the isomorphic matrices from our answer set, we compute the graph automorphism group G of B, then apply the elements of the group in turn to the matrices represented by our answer set, eliminating duplicates.

Theorem 6 Algorithm 2 expands an integer into a bisector matrix, consistent with the representation in Algorithm 1.
There are 2 bicubic graphs on 12 vertices [4,14,16].The results of applying Algorithm 1, and pruning isomorphic matrices yields the 19 rank deficient matrices depicted in Fig. 10.A theorem corresponding to one of these matrices is presented in Fig. 11(b).

Coalescing lines
Figure 11b shows a geometry theorem corresponding to the 10 row matrix diagrammed in Fig. 11a.This could be criticized for being rather complicated.In this section, we explore how we can reduce the geometric complexity by coalescing lines in the diagram, which is equivalent to summing columns in the matrix.We show that summing columns which share a bisection relation generally preserves rank deficiency.We further show that successive summation of columns starting from a rank deficient bicubic can generate all rank deficient bisector matrices whose underlying hypergraphs contains 2-edges and sufficiently sparse 3-hyperedges.
The following theorem circumscribes this process Theorem 7 Let A be a rank deficient matrix.Form matrix B by replacing a number of columns of A with their sum, and matrix C by removing any zero rows from B. If the rows of A which are thus removed are linearly independent, then C is rank deficient.Proof As A is rank deficient, there exists weights, not all zero, such that the weighted sum of the rows is zero.These same weights provide a zero weighted sum for matrix B, and for matrix C. As the rows removed in the transition from B to C are linearly independent, at least one non-zero weight must survive.
Take a rank deficient bisector matrix with an underlying graph.Pick one of the rows and sum the three columns with non-zero entries in that row and remove the (now zero) row.By Theorem 7, the new matrix is rank deficient.Viewed geometrically, this process gives us a method of creating new geometry theorems by coalescing lines.Given a bisector theorem whose matrix has an underlying graph, consider a diagram where the three lines involved in one of the bisector relationships have been merged.That bisector relationship has gone, but the new line is involved in the three other bisector relationships which the merged lines belonged to.As the original matrix has an underlying graph, no pair of geometric lines can share more than one bisector relationship.From a matrix perspective then, merging the lines is equivalent to adding the corresponding columns.Hence we can apply Theorem 7 to show that the new matrix is rank deficient, and a reduced geometry theorem holds.
This process is illustrated in Fig. 12. Figure 12(a) is derived from Fig. 11(b) by merging three lines which form an isosceles triangle in the original.Figure 12(b) is derived from Fig. 12(a), again by merging three lines which form an isosceles triangle.We note that the merged line family is a pair of perpendicular lines.We now introduce a theorem which gives a conditional guarantee that a rank deficient matrix whose underlying hypergraph has 2-edges and 3-edges can be found by coalescing lines on a graph with one less 3-hyperedge.
Theorem 8 Let M be a matrix with an underlying hypergraph H containing 2-edges and 3-edges, where the 2-edges contain a spanning tree.Let G be the graph formed by replacing each 3-hyperedge with a vertex and 3 graph edges joining it to the vertices adjacent to the hyperedge.If M is rank deficient then there is a matrix with underlying graph G from which M can be formed by summing columns and removing zero rows.
Proof Given a spanning tree T comprised of 2-edges, we order the matrix so that the first n-1 columns correspond to the edges of T. We add one of the columns corresponding to a 3-hyperedge.An efficient algorithm for the reduction to row echelon form of such a matrix is given in [15].Every non-zero element in the resulting row-echelon form is a linear combination of the elements in that column in the full matrix with coefficients which are products of matrix elements of the first n-1 columns and their inverses, perhaps with a minus sign.
Let the elements of the final column be f ,g,h.Then the final element of the leading diagonal of the row echelon matrix is F f + Gg + H h, where F,G and H are products of powers of a i , b i , a −1 i , b −1 i and -1 For a bisector matrix F f , Gg and H h are all integer powers of (-2), perhaps multiplied by -1.Hence Without loss of generality, assume p ≤ q ≤ r If the matrix is rank deficient, then As the right hand side is even, we require (−2) q− p = 1.As the final term cannot be zero (−1) v−u = 1, which then implies (−1) w−u (−2) r − p = −2.Hence (F f , Gg, H h) = K (1, 1, −2) for some scalar K.
Hence the following transformation preserves the rank deficiency of the matrix.
Applying this transformation to M yields a rank deficient matrix with one less 3-hyperedge, which produces M when the columns involved with the added bisection are summed.
In some cases an angle conclusion was indirectly obtained by applying a single direction to two or more lines in the diagram, and obtaining a conclusion that a pair of lines are parallel.In this section, we discuss deriving other angles from bisector matrices.We do this in the context of a bisector theorem which yields Napoleon's Theorem.
In the diagram of Fig. 13, point P lies inside triangle DE F. Points A,B,C are the reflections of P in D F, DE and E F respectively.We further require triangles AD B, B EC and AFC to be isosceles, and D B E, EC F, F AD to have the same angle bisectors as ABC, BC A, C AB respectively.Such a large sparse matrix is conveniently expressed in a condensed form.We represent the matrix by a sequence of triples, where the first two elements of the triple are the indexes of the columns containing the number 1 in that row of the matrix, and the third element of the triple is the column containing -2.
A number of the columns of M have three non-zero elements, and hence M does not have an underlying graph.The 3-hyperedges of M are dense enough that there is no spanning tree of 2-edges, so it is not necessarily (and not, in fact) obtainable by merging columns of a matrix with underlying bicubic graph.However, it is easy to check by computer that M has rank 14 rather than 15, and hence this matrix represents a theorem: one of the bisector conditions can be derived from the others.
Running a symbolic linear equation solver on this underdetermined system yields solutions where indeterminates have been added for directions 10,14,16, and 18.If we take differences between pairs of directions, any difference which does not contain any of the added indeterminates corresponds to an angle which is determined by the diagram.In this case a number of differences are constant.
The initial set shows that the angles in the isosceles triangles are π 6 , while the second set shows that the angles of triangle DE F are π 3 .Matrix M, then, determines both the premises and conclusion of Napoleon's Theorem.

Mixed bisector / trisector matrices
If direction γ is the trisector closer to direction β of the angle between β and α then α + 2β − 3γ = 0 Definition 5 A bisector/trisector matrix contains both bisector rows and trisector rows.
A bisector/trisector matrix can contain elements with value 2 and -2, hence it is possible for the sum of the head weight product and the tail weight product to be zero.By theorem 2, the underlying graph of a rank deficient bisector/trisector can have an odd cycle C, so long as This is possible if head weights of 2 are balanced by tail weights of -2, and vice versa.In our decorated graph, we indicate a value of +2 by putting an asterisk next to the arrow.We depict a value of -3 using a hollow arrow (Fig. 14a).The rule for visually checking that a cycle conforms with Theorem 2 now depends on whether the cycle is even or odd.Odd cycles should contain an odd number of asterisks while even cycles should contain an even number of asterisks.In any case, there should be as many solid arrows and as many hollow arrows in the direction of travel as in the opposite direction.
Figure 14 shows the triangular prism graph with decorations which satisfy these conditions, and which therefore illustrate a rank deficient matrix.Figure 14(b) is a geometry theorem which has this matrix.
We finish by formulating Morley's Theorem ([6, 8, 11] example 3.53) as a bisector/trisector matrix.Morley's Theorem states that the triangle joining the intersections of the angle trisectors of a general triangle is equilateral.it is most frequently illustrated with internal angle trisectors, however it is also true when the angle trisectors are external, and this orientation has more space to show subsidiary lines.
In Fig. 15, lines 1, 2 and 3 form a general triangle.Lines 4 and 11 are the external trisectors of lines 1 and 2, and line 6 is the bisector of lines 4 and 5. Line 7 is defined to lie in a position such that line 6 trisects the angle between a perpendicular to line 1 and line 7. Line 7 is also the bisector of lines 8 and 9. Line 23 is the bisector of lines 8 and 4, and line 22 is the bisector of 5 and 9. Adding symmetric conditions on the lines defined on the other sides of the triangle yields the matrix whose sparse representation is: Bisector Rows: The triple representing a trisector row gives the column index of the 1, followed by the column index of the 2, followed by the column index of the -3.This matrix turns out to be full rank, and so there is not a true Bisector/Trisector theorem in the sense that one of the bisection or triection conditions can be deduced from the others.However solving the linear system symbolically yields values of ± π 3 for the differences between directions 22, 23 and 24.Inspection of the solution reveals other line pairs in the diagram whose angle is ± π 3 , namely the following set of line pairs; (4, 21), (5,15), (11,20), (10,9), (17,8), (16,14) However, the differences between directions 1,2 and 3 retain 2 indeterminates, hence the triangle which they define is general and this bisector/trisector matrix implies Morley's Theorem.

Conclusion
"Chasing angles" is a favorite technique for the solution of class of geometry problems.Our research focuses on the automated generation of new geometry problems which can be solved in this manner.

A simple approach to problem generation involving only angles
There are simple angle chasing problems where the premises specify the values of given angles either directly, or implicitly (as is the case, for example, between the tangent of a circle and a line joining its center to the point of tangency).We can represent the directions of the vectors in such a problem as vertices of a graph, and for every given angle create an edge of the graph between the vertices corresponding to the lines bracketing that angle.If the problem asks for the computation of a derived angle from the drawing, the conclusion can also be represented as an edge of the graph.The problem is solvable if the addition of the conclusion forms a cycle in the graph, and the angle chasing can be viewed as traversing the path through the premise edges joining the vertices adjacent to the conclusion edge.
Applying the approach of this paper to those simple problems, we might initially create a representation of the problem as a graph.As the graph would be a cycle, and as there is only one cycle for a given number of vertices this part of the program would be trivial.We might then automate the process of converting our graph to a specific geometry problem.One edge of the cycle would be selected as the conclusion.Removing this edge from the graph would leave a single path between the vertices.To create a geometry problem, we would represent each edge of the path by a perpendicular or parallel constraint, by a tangency, or by a specified angle measure.The conclusion would state the value of the angle between the lines corresponding to the end vertices of the path.
We note that in this approach the geometry diagram is being created to conform to the graph, and the structure of the graph (the fact that it is a cycle) guarantees that the problem is solvable, and the solution requires all the premises.

Adding angle bisectors
Richer angle chasing problems can be obtained by considering angle bisectors, which can appear in the guise of circle chords, reflections and isosceles triangles.In this paper we have concentrated on problems where both premises and statement can be phrased as angle bisectors, although problem statements are frequently extracted in the form of parallelism or perpendicularity.We address the first step: generating matrices which, when interpreted as geometric theorems, guarantee the truth of the theorem.The second part of the program: automatically generating elegant instances of these theorems is a topic of ongoing work.The examples in this paper which are matched with matrices were constructed by hand using heuristics which we will in future work attempt to mechanize.
While our technique is motivated by analogy with existing theorems, the bisector matrices derived above do not conform to any pre-existing geometry theorem, but can be considered newly discovered by the algorithm.Geometry theorems with these matrix patterns are therefore entirely new discoveries (within the system), no longer tied by direct analogy to existing theorems.
An approach to theorem discovery which pulls together the various elements we discuss above is as follows for a bisector theorem.
1. Start with a bicubic graph.2. Use Algorithm to find non-isomorphic rank deficient matrices with this underlying graph.3. Perhaps reduce the size of the matrix by removing a row, summing the 3 columns implicated.(this step may be repeated).
If we are looking for a bisector/trisector theorem, the first two steps are replaced by these three: 1. Start with a cubic graph.2. Assign values to the edges of any odd cycles.As these must contain a balance of 2's and -2's and no -3's, there are limited options.3. Assign values to edges of even cycles to conform to the odd cycles.
Once we have a matrix, we need to create a geometric diagram conforming to the matrix and then to assign right hand sides to the bisectors.In the manual process used here, this was done by creating an instance of the drawing in a dynamic geometry system and extracting the numeric values for the directions of the vectors.A vector of these values was multiplied by the matrix and rounded to multiples of π.
With these values in place a symbolic linear solver could be invoked, and pairs of directions subtracted to ascertain if the value of any angles were fortuitously determined by the diagram.In any case, as the matrix is rank deficient, one of the bisector conditions can be derived from the others.The theorem can be presented with any condition as the statement and the rest as the premises.

Fig. 3
Fig. 3 Vectors w 1 , w 2 , w 3 and w 4 join the circumcenter O to the vertices of cyclic quadrilateral ABC D. w 5 is − → B A, w 6 is − → C B, w 7 is −→ C D, w 8 is − → D A, w 9 is B(w 5 , w 7 ) ,w 10 is B(w 6 , w 8 )

Fig. 4 A
Fig.4  A theorem states that BC D E is a cyclic quadrilateral, and B FGC is a second cyclic quadrilateral with B F the same line as B E, and CG the same line as DC.Under these conditions FG is the same direction as E D

Figure 4
Figure 4 illustrates the following theorem ([6] example 1.115): Let BC D E be a cyclic quadrilateral, and B FGC be a second cyclic quadrilateral with B F the same line as B E, and CG the same line as DC.Then FG is the same direction as E D.

Fig. 5 O
Fig. 5 O is the circumcenter of ABC.D lies on the circumcircle of AOC.The reflection of D A in AB is parallel to the reflection of DC in BC

Fig. 6
Fig. 6 Three different geometry theorems which share the matrix of Fig. 4. (a) Line pairs (A, B), (B, C), (C, D) have angle bisectors U ,V ,W respectively.Likewise line pairs (E, F), (F, G), (G, H ). Then the angle bisector of (A, D) is the same as the angle bisector of (E, H ). (b) If you bounce a billiard ball off the four sides of a cyclic quadrilateral in sequence, then the end track is parallel to the initial track.(c) ABC D is a quadrilateral with an inscribed circle center E. Let G be the intersection of the line through D parallel with EC and the line through A parallel to EB. AE DC is cyclic has pattern D, while that of Fig. 5 has pattern A. Geometry Theorems with matrices B and C are shown in Fig. 8.

Fig. 8
Fig. 8 Theorems corresponding to the two indicated decorated graphs.(a) ABC DE F is a cyclic hexagon with AB parallel to DE.The angle bisector of F A and BC is parallel to the angle bisector of E F and C D. (b) Let ABC DE FG H be a cyclic octagon with AB parallel to DE, BC parallel to G H, and C D parallel to FG.Then AH is parallel to E F Let M be an m × n matrix with connected underlying graph G.As G is connected, M can only have ranks m or m − 1.Let T be a spanning tree of M. Take a cycle C, length k, of G and consider M C the submatrix of M corresponding to C. Edges from T can be added to C to create an m × m graph G C with the same vertex set as G. Let M C be the matrix corresponding to G C , then rank(M C ) = rank(M C ) + m − k If M C has rank k then M C has rank m, hence so does M. Conversely, let M T be the m×m−1 submatrix corresponding to T and let M i be the m × m matrix formed by augmenting M T

Fig. 9
Fig. 9 Graphical representation of the two non isomorphic rank deficient bisector matrices with 6 rows along with geometry theorems with these matrices.a The angle bisectors of the bisectors of opposite angles of a quadrilateral are perpendicular.b ABC DE F is a cyclic hexagon with BC parallel to E F and AB parallel to DE Then AF is parallel to C D Algorithm 1 Find rank deficient bisector matrices Require: ((u 1 , v 1 ), . . ., (u n , v n )).off-Hamiltonian edges 1: ans ← {} 2: for k = 0 to 3 n − 1 do 3:Let K be the base 3 representation of k padded with zeros to n digits.4:LetS i = (2K u i + 1) mod 3 + (2K v i ) mod 3 +

Fig. 10
Fig. 10 There are 2 bicubic graphs on 10 vertices.Displayed are the arrow patterns of the nineteen nonisomorphic rank deficient bisector matrices

Fig. 11 a
Fig. 11 a One of the 19 different rank deficient patterns for bisector matrices with 10 rows.b A geometry theorem with this underlying matrix: AB E F and EC DG are cyclic, G is the intersection of B D and E F. AB K is isosceles.L is the intersection of AK and DC.The theorem states that ADL is isosceles

Fig. 12 a
Fig. 12 a A reduction of the theorem of Fig. 11b by merging the lines AD, AK and DC.b A further reduction by merging lines O D and OG.The theorem now states that O D is perpendicular to B D

Fig. 14 (
Fig. 14 (a) A representation on the triangular prism graph of a rank deficient bisector/trisector matrix.(b) A geometry theorem with this matrix.Diagonal AC trisects the angles of quadrilateral ABC D, O is the circumcenter of ABC.Then the angle bisector of D AO is perpendicular to the angle bisector of DC O

Fig. 15 A
Fig.15 A diagram for Morley's Theorem.Lines and 11 are the external trisectors of lines 1 and 2, and 6 is the bisector of 4 and 5. 7 is defined by the fact that line 6 trisects the angle between line 7 and a perpendicular to line 1. 7 is the bisector of lines 8 and 9. 23 is the bisector of lines 8 and 4, and 22 is the bisector of 5 and 9. Symmetric conditions apply to the other lines in the figure