1

Prolog で次のクエリを実行しようとすると、エラーが発生します...

Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 6.4.1)
Copyright (c) 1990-2013 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

?- conc([a,b], [c,d], [a,b,c,d] ).
ERROR: toplevel: Undefined procedure: conc/3 (DWIM could not correct goal)

これは、事実とルールを含む別のファイルにロードしていないためですか? それは奇妙に思えるからです。たとえば、次のクエリは機能します。

?- member(apple, [apple, broccoli, crackers]).
true .
4

2 に答える 2

2

SWI-Prolog をインタープリターとして使用しており、組み込みの述語concが同梱されていません。append/3を見ることができます(これはリスト ライブラリの述語でもありますが、SWI ではこのライブラリは自動ロードされますが、他の実装では必ずしも真ではないことに注意してください。たとえば、Yap を参照してください。したがって、use_moduleを使用することをお勧めします。 )。

Bratko の「Prolog Programming for Artificial Intelligence」から Prolog を勉強していますか? (答えが「はい」の場合は、これらの述語を自分で実装してみてください:))

于 2013-10-09T05:49:34.537 に答える