Introduction to Prolog (in Japanese) を一通り読んだ感想:
- 便利だなぁ "変数を含んだ質問では,複数の答えが存在する場合がある. たとえば, saburo の子供は naoyuki と shinji の 2 人がいるから ?- father(saburo, C). の答えは 2 種類存在するはずである. Prolog ではこのような場合,プログラム中での記述の順序にしたがって 答えが表示される."
- えーと。これは定義の順に辿って最初に見つかった1つの例が選択されるってことなんです? "質問 ?- father(G, F), father(F, hyogo). の場合も左から順に処理される. まず father(G, F) の最初の答え G=naoyuki, F=hyogo が求められる."
- これでも、、、バックトラックを手作業で制御するとなると、、、記述量が増えませんか?
- あーspyは便利ですね。
- でも、、、それってシンボリック実行の方がより強力だと感じます
- うーん、これCollatzを実装したとしても任意の自然数で停止する証左にならないのでは。。。
- これ結局実行しているから、バックトラックで枝切りした範囲でしか健全性が主張できないのでは