В основном вам необходимо рассмотреть два случая:
- базовый случай
0
, который отображается на 0
; и - рекурсивный случай
s(X)
, который использует результат для X
.
Таким образом, базовый случай выглядит так:
convert(<b>0</b>, <b>0</b>).
рекурсивный регистр, таким образом, выглядит так:
convert(<b>S(X)</b>, N) :-
convert(X, N1),
….
где …
, таким образом, шаг, который вам нужно сделать, чтобы определить N
с учетом N1
. Я оставляю это как упражнение.