09/07/10 12:36:25
>>425
sum(N,M,Sum) :-
integer_to_varlist(N,L1),
integer_to_varlist(M,L2),
integer_to_varlist(Sum,L3),
sum_1(L1,L2,L3),
integer_to_varlist(N,L1),
integer_to_varlist(M,L2),
integer_to_varlist(Sum,L3).
sum_l(L,L,L) :- not(var(L)).
sum_l(L1,L2,X) :- append(L1,Z,X),sum_l([_|L1],L2,Z).
integer_to_varlist(N,L) :- integer(N),list(L),length(L,N).
integer_to_varlist(N,L) :- integer(N),var(L),length(L,N).
integer_to_varlist(N,L) :- var(N),list(L),length(L,N).
integer_to_varlist(N,L) :- var(N),var(L).