サーチ…


副作用のある述語

副作用をもたらす述語は、純粋な論理の領域を離れます。たとえば、次のようなものがあります。

  • writeq/1
  • read/1
  • format/2

副作用は、プログラム内で推論できない現象です。たとえば、システム端末上のファイルまたは出力の削除。

メタ論理述語

インスタンス化についての理由をメタ論理と呼ぶ述語。例は:

  • var/1
  • ground/1
  • integer/1

これらの述語は、結合詞の可換性のような性質を破るため、純粋な単調論理プログラムの領域外です。

メタ論理的な他の述部には、

  • arg/3
  • functor/3
  • (=..)/2

これらの述語は原則として一次論理の中でモデル化することができるが、無限数の節が必要である。

全解述語

すべての解決策についての理由が論理的でないことを示す述語。たとえば、次のようなものがあります。

  • setof/3
  • findall/3
  • bagof/3

!/ 0と関連する述部

Prologプログラムの宣言的読解を妨げるか禁止する述語は、余分な論理です。そのような述部の例は次のとおりです。

  • !/0
  • (->)/2とif-then-else
  • (\+)/1

これらの述語は、インタプリタの実際の制御フローを考慮することによってのみ手続き的に理解することができ、純粋な論理の領域を超えている。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow