### Predicate Definitions

| Predicate                                    | Explanation                                                       |
|----------------------------------------------|-------------------------------------------------------------------|
| `Line(A,B)`                                  | A line segment with endpoints A and B                              |
| `Angle(A)`                                   | The angle with point A as vertex                                   |
| `Angle(A,B,C)`                               | Angle ABC with B as the vertex                                     |
| `Triangle(A,B,C)`                            | Triangle with vertices A, B, and C                                 |
| `Quadrilateral(A,B,C,D)`                     | Quadrilateral with vertices A, B, C, and D                         |
| `Parallelogram(A,B,C,D)`                     | Parallelogram with vertices A, B, C, and D                         |
| `Square(A,B,C,D)`                            | Square with vertices A, B, C, and D                                |
| `Rectangle(A,B,C,D)`                         | Rectangle with vertices A, B, C, and D                             |
| `Rhombus(A,B,C,D)`                           | Rhombus with vertices A, B, C, and D                               |
| `Trapezoid(A,B,C,D)`                         | Trapezoid with vertices A, B, C, and D                             |
| `Kite(A,B,C,D)`                              | Kite with vertices A, B, C, and D                                  |
| `Polygon(A,B,C....)`                         | Polygon with vertices A, B, C, etc.                                |
| `Pentagon(A,B,C,D,E)`                        | Pentagon with vertices A, B, C, D, and E                           |
| `Hexagon(A,B,C,D,E,F)`                       | Hexagon with vertices A, B, C, D, E, and F                         |
| `Heptagon(A,B,C,D,E,F,G)`                    | Heptagon with vertices A, B, C, D, E, F, and G                     |
| `Octagon(A,B,C,D,E,F,G,H)`                   | Octagon with vertices A, B, C, D, E, F, G, and H                   |
| `Circle(A)`                                  | Circle with center A                                               |
| `Circle(O, r)`                               | Circle with center O and radius r                                  |
| `Arc(A,B)`                                   | Minor arc with A and B as endpoints on circle                      |
| `Arc(A,B,C)`                                 | Arc that passes through points A, B, and C                         |
| `Sector(O,A,B)`                              | Sector of a circle with center O and points A and B on the circumference |
| `Equilateral(Polygon(A,B,C,D))`              | Polygon ABCD is equilateral                                       |
| `Regular(Polygon(A,B,C,D))`                  | Polygon ABCD is regular                                           |
| `AreaOf(Shape(...))`                         | Area of the Shape ...                                             |
| `PerimeterOf(Shape(...))`                    | Perimeter of the Shape ...                                        |
| `RadiusOf(Circle(O))`                        | Radius of the circle O                                            |
| `DiameterOf(Circle(O))`                      | Diameter of the circle O                                          |
| `CircumferenceOf(Circle(O))`                 | Circumference of the circle O                                     |
| `MeasureOf(Angle(A, B, C))`                  | Measure of the angle ABC                                          |
| `MeasureOf(Arc(A, B))`                       | Measure of the arc AB                                             |
| `LengthOf(Line(A, B))`                       | Length of the line segment AB                                     |
| `PointLiesOnLine(A,Line(B,C))`               | Point A lies on segment BC                                        |
| `PointLiesOnCircle(A,Circle(O,r))`           | Point A lies on the circle with center O and radius r             |
| `Parallel(Line(A,B),Line(C,D))`              | Line AB is parallel to Line CD                                    |
| `Perpendicular(Line(A,B),Line(C,D))`         | Line AB is perpendicular to Line CD                               |
| `BisectsAngle(Line(A,B),Angle(X,A,Y))`       | Line AB bisects angle XAY                                         |
| `Congruent(Triangle(A,B,C),Triangle(D,E,F))` | Triangle ABC is congruent to triangle DEF                         |
| `Similar(Triangle(A,B,C),Triangle(D,E,F))`   | Triangle ABC is similar to triangle DEF                           |
| `Tangent(Line(A,B),Circle(O,r))`             | Line AB is tangent to circle O with radius r                      |
| `Secant(Line(A,B),Circle(O,r))`              | Line AB is a secant to circle O with radius r                     |
| `CircumscribedTo(Shape(...),Shape(...))`     | First shape is circumscribed to the second shape                  |
| `InscribedIn(Shape(...),Shape(...))`         | First shape is inscribed in the second shape                      |
| `IsMidpointOf(C,Line(A,B))`                  | Point C is the midpoint of line AB                                |
| `IsCentroidOf(O,Triangle(A,B,C))`            | Point O is the centroid of triangle ABC                           |
| `IsIncenterOf(O,Triangle(A,B,C))`            | Point O is the incenter of triangle ABC                           |
| `IsRadiusOf(Line(O,A),Circle(O,r))`          | Line OA is a radius of circle O with radius r                     |
| `IsDiameterOf(Line(A,B),Circle(O,r))`        | Line AB is a diameter of circle O with radius r                   |
| `IsMidsegmentOf(Line(A,B),Triangle(D,E,F))`  | Line AB is a midsegment of triangle DEF                           |
| `IsChordOf(Line(A,B),Circle(O,r))`           | Line AB is a chord of circle O with radius r                      |
| `IsPerpendicularBisectorOf(Line(A,B),Line(C,D))` | Line AB is the perpendicular bisector of line CD              |
| `IsMedianOf(Line(E,F),Trapezoid(A,B,C,D))`   | Line EF is the median of trapezoid ABCD                           |
| `IsMedianOf(Line(E,F),Triangle(A,B,C))`      | Line EF is a median of triangle ABC                               |
| `SinOf(var)`                                 | Sine of var (var can be variable, measure of angle or arc)        |
| `CosOf(var)`                                 | Cosine of var (var can be variable, measure of angle or arc)      |
| `TanOf(var)`                                 | Tangent of var (var can be variable, measure of angle or arc)     |
| `CotOf(var)`                                 | Cotangent of var (var can be variable, measure of angle or arc)   |
| `HalfOf(var)`                                | Half of var (var can be variable, length, measure, area, etc.)    |
| `SqrtOf(var)`                                | Square root of var (var can be variable, length, measure, area, etc.) |
| `RatioOf(var1,var2)`                         | Ratio of var1 to var2 (can be variables, lengths, measures, areas, etc.) |
| `Add(var1,var2,...)`                         | Addition of var1, var2, and possibly more variables                |
| `Mul(var1,var2,...)`                         | Multiplication of var1, var2, and possibly more variables          |
| `Sub(var1,var2)`                             | Subtraction of var2 from var1                                      |
| `Div(var1,var2)`                             | Division of var1 by var2                                           |
| `Pow(var1,var2)`                             | var1 raised to the power of var2                                   |
| `Equals(var1,var2)`                          | var1 equals var2 (a = b is equivalent to Equals(a, b))             |
| `Find(var)`                                  | Find the value of the variable                                     |
| `Prove(predicate)`                           | Prove a predicate                                                  |