| геометрический_тип+point→геометрический_тип
 Добавляет координаты второго аргумента типа pointк каждой точке первого аргумента, осуществляя таким образом перенос объекта. Имеется для типовpoint,box,pathиcircle. box '(1,1),(0,0)' + point '(2,0)'→(3,1),(2,0)
 | 
| path+path→path
 Соединяет два открытых пути (если один из путей замкнутый, возвращает NULL). path '[(0,0),(1,1)]' + path '[(2,2),(3,3),(4,4)]'→[(0,0),(1,1),(2,2),(3,3),(4,4)]
 | 
| геометрический_тип-point→геометрический_тип
 Вычитает координаты второго аргумента типа pointиз каждой точки первого аргумента, осуществляя таким образом перенос объекта. Имеется для типовpoint,box,pathиcircle. box '(1,1),(0,0)' - point '(2,0)'→(-1,1),(-2,0)
 | 
| геометрический_тип*point→геометрический_тип
 Умножает координаты каждой точки первого аргумента на координаты второго аргумента типа point(координаты точек воспринимаются как комплексные числа с вещественной и мнимой частью, результатом становится их обычное комплексное произведение). Если же рассматривать вторую точку как вектор, данная операция равнозначна умножению размера объекта и расстояния от начала координат на длину вектора с поворотом против часовой стрелки относительно начала координат на угол, равный углу между вектором и осьюx. Имеется для типовpoint,box,path,circle. path '((0,0),(1,0),(1,1))' * point '(3.0,0)'→((0,0),(3,0),(3,3))
 path '((0,0),(1,0),(1,1))' * point(cosd(45), sind(45))→((0,0),(0.7071067811865475,0.7071067811865475),(0,1.414213562373095))
 | 
| геометрический_тип/point→геометрический_тип
 Делит координаты каждой точки первого аргумента на координаты второго аргумента типа point(координаты точек воспринимаются как комплексные числа с вещественной и мнимой частью, результатом становится их обычное комплексное частное). Если же рассматривать вторую точку как вектор, данная операция равнозначна делению размера объекта и расстояния от начала координат на длину вектора с поворотом по часовой стрелке относительно начала координат на угол, равный углу между вектором и осьюx. Имеется для типовpoint,box,path,circle. path '((0,0),(1,0),(1,1))' / point '(2.0,0)'→((0,0),(0.5,0),(0.5,0.5))
 path '((0,0),(1,0),(1,1))' / point(cosd(45), sind(45))→((0,0),(0.7071067811865476,-0.7071067811865476),(1.4142135623730951,0))
 | 
| @-@геометрический_тип→double precision
 Вычисляет общую длину. Имеется для типов lseg,path. @-@ path '[(0,0),(1,0),(1,1)]'→2
 | 
| @@геометрический_тип→point
 Вычисляет центральную точку. Имеется для типов box,lseg,polygon,circle. @@ box '(2,2),(0,0)'→(1,1)
 | 
| #геометрический_тип→integer
 Возвращает количество точек. Имеется для типов path,polygon. # path '((1,0),(0,1),(-1,0))'→3
 | 
| геометрический_тип#геометрический_тип→point
 Вычисляет точку пересечения, а если пересечения нет, возвращает NULL. Имеется для типов lseg,line. lseg '[(0,0),(1,1)]' # lseg '[(1,0),(0,1)]'→(0.5,0.5)
 | 
| box#box→box
 Вычисляет пересечение двух прямоугольников, а если пересечения нет, возвращает NULL. box '(2,2),(-1,-1)' # box '(1,1),(-2,-2)'→(1,1),(-1,-1)
 | 
| геометрический_тип##геометрический_тип→point
 Вычисляет ближайшую к первому объекту точку, принадлежащую второму объекту. Имеется для следующих пар типов: (point,box), (point,lseg), (point,line), (lseg,box), (lseg,lseg), (line,lseg). point '(0,0)' ## lseg '[(2,0),(0,2)]'→(1,1)
 | 
| геометрический_тип<->геометрический_тип→double precision
 Вычисляет расстояние между объектами. Имеется для всех геометрических типов кроме polygon, для всех сочетаний типаpointс другим геометрическим типом, а также для следующих пар типов: (box,lseg), (lseg,line), (polygon,circle) (и пар с обратным порядком). circle '<(0,0),1>' <-> circle '<(5,0),1>'→3
 | 
| геометрический_тип@>геометрический_тип→boolean
 Первый объект содержит второй? Имеется для следующих пар типов: (box,point), (box,box), (path,point), (polygon,point), (polygon,polygon), (circle,point), (circle,circle). circle '<(0,0),2>' @> point '(1,1)'→t
 | 
| геометрический_тип<@геометрический_тип→boolean
 Первый объект содержится во втором? Имеется для следующих пар типов: (point,box), (point,lseg), (point,line), (point,path), (point,polygon), (point,circle), (box,box), (lseg,box), (lseg,line), (polygon,polygon), (circle,circle). point '(1,1)' <@ circle '<(0,0),2>'→t
 | 
| геометрический_тип&&геометрический_тип→boolean
 Объекты пересекаются? (Для выполнения этого условия достаточно одной общей точки.) Имеется для типов box,polygon,circle. box '(1,1),(0,0)' && box '(2,2),(0,0)'→t
 | 
| геометрический_тип<<геометрический_тип→boolean
 Первый объект строго слева от второго? Имеется для типов point,box,polygon,circle. circle '<(0,0),1>' << circle '<(5,0),1>'→t
 | 
| геометрический_тип>>геометрический_тип→boolean
 Первый объект строго справа от второго? Имеется для типов point,box,polygon,circle. circle '<(5,0),1>' >> circle '<(0,0),1>'→t
 | 
| геометрический_тип&<геометрический_тип→boolean
 Первый объект не простирается правее второго? Имеется для типов box,polygon,circle. box '(1,1),(0,0)' &< box '(2,2),(0,0)'→t
 | 
| геометрический_тип&>геометрический_тип→boolean
 Первый объект не простирается левее второго? Имеется для типов box,polygon,circle. box '(3,3),(0,0)' &> box '(2,2),(0,0)'→t
 | 
| геометрический_тип<<|геометрический_тип→boolean
 Первый объект строго ниже второго? Имеется для типов box,polygon,circle. box '(3,3),(0,0)' <<| box '(5,5),(3,4)'→t
 | 
| геометрический_тип|>>геометрический_тип→boolean
 Первый объект строго выше второго? Имеется для типов box,polygon,circle. box '(5,5),(3,4)' |>> box '(3,3),(0,0)'→t
 | 
| геометрический_тип&<|геометрический_тип→boolean
 Первый объект не простирается выше второго? Имеется для типов box,polygon,circle. box '(1,1),(0,0)' &<| box '(2,2),(0,0)'→t
 | 
| геометрический_тип|&>геометрический_тип→boolean
 Первый объект не простирается ниже второго? Имеется для типов box,polygon,circle. box '(3,3),(0,0)' |&> box '(2,2),(0,0)'→t
 | 
| box<^box→boolean
 Первый объект ниже (или касается снизу) второго? box '((1,1),(0,0))' <^ box '((2,2),(1,1))'→t
 | 
| point<^point→boolean
 Первый объект строго ниже второго? (Обозначение оператора ошибочно, корректным было бы <<|.) point '(1,0)' <^ point '(1,1)'→t
 | 
| box>^box→boolean
 Первый объект выше (или касается сверху) второго? box '((2,2),(1,1))' >^ box '((1,1),(0,0))'→t
 | 
| point>^point→boolean
 Первый объект строго выше второго? (Обозначение оператора ошибочно, корректным было бы |>>.) point '(1,1)' >^ point '(1,0)'→t
 | 
| геометрический_тип?#геометрический_тип→boolean
 Объекты пересекаются? Имеется для следующих пар типов: (box,box), (lseg,box), (lseg,lseg), (lseg,line), (line,box), (line,line), (path,path). lseg '[(-1,0),(1,0)]' ?# box '(2,2),(-2,-2)'→t
 | 
| ?-line→boolean
 ?-lseg→boolean
 Линия является горизонтальной? ?- lseg '[(-1,0),(1,0)]'→t
 | 
| point?-point→boolean
 Точки выровнены по горизонтали (имеют одинаковую координату y)? point '(1,0)' ?- point '(0,0)'→t
 | 
| ?|line→boolean
 ?|lseg→boolean
 Линия является вертикальной? ?| lseg '[(-1,0),(1,0)]'→f
 | 
| point?|point→boolean
 Точки выровнены по вертикали (имеют одинаковую координату x)? point '(0,1)' ?| point '(0,0)'→t
 | 
| line?-|line→boolean
 lseg?-|lseg→boolean
 Линии перпендикулярны? lseg '[(0,0),(0,1)]' ?-| lseg '[(0,0),(1,0)]'→t
 | 
| line?||line→boolean
 lseg?||lseg→boolean
 Линии параллельны? lseg '[(-1,0),(1,0)]' ?|| lseg '[(-1,2),(1,2)]'→t
 | 
| геометрический_тип~=геометрический_тип→boolean
 Объекты совпадают? Имеется для типов point,box,polygon,circle. polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))'→t
 |