ほぼ独学です。。。
A+B=Cであるような非負整数A,B,Cの組をすべて数え上げるようなプログラムを作りたいのですが、
A+B=CのCが与えられた場合についてA,Bをすべて数え上げるプログラムしかできません。。。

add(0,Y,Y).
add(s(X),Y,s(Z)) :- add(X,Y,Z).

これを使って、

adda(X,Y,0) :- add(X,Y,0).

という風にすると、A+B=0のときのA,Bの組が求められるので、この3つ目の'0'の部分を徐々にs(0),s(s(0)),,,,と増やしていく、
というプログラムにしたいのですが、どうもうまくいきません。

どうすればよいのか教えていただけないでしょうか・・・。
よろしくお願いします。