如何将元素附加到 forall 中的列表?

How to append an element to a list in a forall?

基本上是尝试将 D 附加到 forall 中的列表,这样我就可以对该列表进行排序并提取最小值。到目前为止,这是我尝试过的方法:

smallest_distance( W ) :-
    forall( a( S1, S2 ), ( w( S1, S2, D ), append([D], Xs, Ls ), Xs = Ls ) ),
    sort(Xs, [W|_]).

改为 findall

smallest_distance( W ) :-
    findall(D, ( a( S1, S2 ), w( S1, S2, D ) ), Ls),
    sort(Ls, [W|_]).