На этом шаге мы рассмотрим целочисленную и вещественную арифметику.
Пролог поддерживает предикаты и функции модульной арифметики, целого деления, квадратные корни и абсолютные значения, тригонометрические и трансцендентные функции, округление (вверх или вниз) и усечение. Они приводятся в таблице 1 из шага 49 и поясняются ниже.
Функция mod вычисляет остаток от деления X на Y (где X и Y - целые).
   X mod Y % (i,i)
Z=7 mod 4 %Z будет равно 3 Y=4 mod 7 % Y будет равно 4
Функция div вычисляет целое частное от деления X ни Y (где X и Y - целые).
   X div Y % (i,i)
Z=7 div 4 %Z будет равно 1 Y=4 div 7 % Y будет равно 0
Функция abs возвращает абсолютное значение своего аргумента.
   abs(X) % (i)
   Z=abs(-7) % Z  будет равно  7
Функция cos возвращает значение косинуса своего аргумента.
   cos(X) % (i)
   Pi=3.141592653,
   Z=cos(Pi) % Z  будет равно -1
Функция sin возвращает значение синуса своего аргумента.
   sin(X) % (i)
   Pi=3.141592653,
   Z=sin(Pi)  % Z будет почти равно 0
Функция tan возвращает значение тангенса своего аргумента.
   tan(X) % (i)
   Pi=3.141592653,
   Z=tan(X) % Z будет равно почти 0
Функция arctan возвращает арктангенса от вещественного значения, с которым связано X.
   arctan(X) % (i)
   Pi=3.141592653,
   Z=arctan(Pi) % Z будет равно 1.2626272556
Функция ехр возвращает значение е в степени значения, с которым связано X.
   ехр(Х) % (i)
   Z=ехр(2.5) %  Z будет равно  12.182493961
Функция ln возвращает значение натурального логарифма от X (по основанию е).
   ln(X) % (i)
   Z=ln(12.182493961) % Z  будет равно 2.5
Функция log возвращает значение логарифма по основанию 10 от X.
   log(X) % (i)
   Z=log(2.5) % Z будет равно 0.39794000867
Функция sqrt возвращает квадратный корень от X.
   sqrt(X) % (i)
   Z=sqrt(25) % Z будет равно 5
Функция round возвращает округленное значение X.
   round(X) % (i)
Z1=round(4.51) % Z1 будет равно 5.0 Z2=round(3.40) % Z2 будет равно 3.0
Функция trunc усекает X справа до десятичной точки, отбрасывая дробную часть. Как и round, trunc не выполняет преобразование типов:
   trunc(X) % (i)
   Z=trunc(4.7) % Z  будет равно  4.0,
На следующем шаге мы рассмотрим сравнение.