このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1272006124/159
#  <問題> 
#  ゼロでない整数x のn 乗xn の再帰式 
#  x^n = 1 (when n = 0) 
#  x^n = x * x^(n-1) (when n > 0) 
#  を利用したプログラムを書きなさい。 
# 
%
%  この解答では 'x^n = 1 (when n = 0) ' を解析してソースプログラム、 p(_,0,1). を導き、
%  これを出力するという答え方はしていない。ここでの課題は「利用した」をどこまで表現できるかだ。

'ゼロでない整数x のn 乗xn の再帰式'(_,0,1) :-   'x^n = 1 (when n = 0) '.
'ゼロでない整数x のn 乗xn の再帰式'(X,N,Y) :-   'x^n = x * x^(n-1) (when n > 0) ',
        N_1 is N - 1,
        'ゼロでない整数x のn 乗xn の再帰式'(X,N_1,Y_1),
        Y is X * Y_1.


%%%%%%%%%%%%%%%%%% 注釈的述語 %%%%%%%%%%%%%%%%%%%

'x^n = 1 (when n = 0) ' :- true.

'x^n = x * x^(n-1) (when n > 0) ' :- true.