:- use_module(library(clpfd)).

clpsum(Sum,L,AddStr):-
  clpsum2(L,AddStr),AddStr#=Sum.
   
clpsum2([H],H).  
clpsum2([H|T],AddStr):-  
  clpsum2(T,AddStr2),
  AddStr = H+AddStr2.



| ?- X in 1..100,Y in 1..100,clpsum(10,[X,Y],A).
! Type error in argument 1 of user: #= /2
! integer expected, but _76+_77 found
! goal: _76+_77#=10
| ?- 
A clpsum-nak elvileg osszeg korlatot kellene tennie listaban szereplo valtozokra (2. kishf-hez kellene).

--

Zsíros Levente