这是我不明白的加号代码
plus(0,X,X):-natural_number(X).
plus(s(X),Y,s(Z)) :- plus(X,Y,Z).
同时给出:
natural_number(0).
natural_number(s(X)) :- natural_number(X).
我不明白这个递归。如果我有我plus(s(0),s(s(s(0))),Z)
怎么能得到答案1+3=4
?
我需要对第一个代码进行一些解释。我尝试这样做plus(0,X,X)
会停止递归,但我认为我做错了。