この問題では、リストに A より小さい要素 L がない場合、M が A のときに満たされるという Prolog をコーディングする必要があります。それ以外の場合は、M がリスト L の最小値であるときに満たされます。
minLessThan([],A,A).
minLessThan([H|T], A, M) :-
H >= A,
M is A,
minLessThan(T, A, M).
minLessThan([H|T], A, M) :-
H < A,
M is H,
minLessThan(T, A, M).
これで、私の結果は文の最初の部分で有効ですが、M がリスト L の最小値である場合は false を返し続けます。リスト L が空の場合に問題が発生すると想定し、A を返します。これを解決する方法はありますか?