問題タブ [gnu-prolog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prolog - gnu prolog が「false」述語をサポートしないのはなぜですか? (私はswiに変更しました)
私はプロローグでいくつかのことをするためにgprologのことを使ってきました。しかし、さらにコードをテストすると、「false」がサポートされていないことがわかりました。swi でサポートされているのはどれですか?
prolog - gprologのファイルへの書き込み
プロローグプログラムから取得したすべてのソリューションをファイルに書き込むにはどうすればよいですか?
c - C と gprolog の間でどのようにやり取りするのですか?
私は、C と Prolog のコードをやり取りするというやや不運な立場にいます。C のデータ収集コードと Gnu-Prolog の分析コードがあります。では、C と gprolog を接続する最良の方法は何でしょうか? 現在、gprolog パッケージに含まれている C ライブラリを使用して、C から Prolog を呼び出そうとしています。
注:私はubuntuマシンで作業しています。
私が直面していた問題の 1 つは、リストを反復処理する方法でした。n 個の要素からリストを作成することはできますが、Prolog 方式で反復処理する必要があることに最終的に気付きました。頭を取得し、末尾を取得して、再帰します。
prolog - 変数を使用したPrologクエリの`\+`に関する問題
「7週間で7つの言語」atmを読んでいて、「no」の応答がわからないPrologクエリに困惑しています。
ファイルは次のfriends.pl
ようになります。
次のような簡単なクエリを実行できます。
これはすべて予想通りです。ここで、クエリに変数を導入します。私の意図は、PrologがWallaceのすべての友達のリストを私に与えるということです。私は期待していX = grommit
ますが、私は得ていno
ます:
X
(_16
)を。と統合しようとさえしませんgrommit
。なんで?
prolog - Prologのbagof/3の問題
私が理解している限り、述語setof/3とbagof/3を使用して、問題の解決策のリストを生成できます。(gprologマニュアルへのリンク)。
予想どおり、次のクエリの解決策はa、b、cです。
そして今、私はこれを試します:
私の意見では、解決策は[a、b、c]でなければなりませんでした。私は何が間違っているのですか?
MacOS用にgprolog1.4.0を使用しています。
編集:解決策
本当に必要だったのは(^)/ 2演算子でしたが、ここでの答えは完全に正しかったので、よろしくお願いします。誰かが同様の問題を抱えている場合は、3次元グリッドからセルを選択するための現在のコードがここにあります。
prolog - リスト変換
私はプロローグの初心者であり、次のようなリストをフラット化しようとしています。
必要な出力は次のとおりです。
これどうやってするの?
module - プロローグを使用した大規模なプログラミング
私は自分のPrologコードをモジュール式に保とうとしていますが、これを行う方法について誰かがアドバイスを持っているかどうか疑問に思いました。私がこれを単純なconsult
sで行っていた方法ですが、ファイルの数が増えて名前の衝突に屈するにつれて、それは面倒になります。「典型的な」インポートと同様の構成はありますか?
ソースファイルの先頭にありますか?プログラム固有の場合は、を使用してgprolog
います。助けてくれてありがとう。
open-source - GNU Prolog のトートロジー チェッカー
GNU Prolog で書かれたトートロジー チェッカーのオープンソース実装を探しています (SWI-Prolog の実装も受け入れられますが、GNU Prolog が推奨されます)。
次のようなクエリでプログラム入力をフィードしたいと思います。
また
もちろん、表記は次のように異なる場合があります。
結果として私が期待するのは、「はい/いいえ」、「等しい/異なる」、「見つかった証明/証明を見つけることができなかった」などのブール値の答えです。
ftp://ftp.cs.yorku.ca/pub/peter/SVT/GNU/で GNU-Prolog のトートロジー チェッカーを見つけましたが、ライセンスが添付されておらず、Gnu Prolog 算術制約と算術機能を適用する方法の手掛かりがありません論理モデルだけを算術で拡張するため。
- 他の同様のソルバーはありますか?
- モデルを拡張するために算術機能を使用する方法の例。
ありがとう、グレッグ。
PS 算術によると、部分的なサポートを探しています - 提案されたソリューションが古典的なロジックを適切に処理して開く場合、単純なヒューリスティック (gnu-prolog 整数関数の例も歓迎) を使用して手動でコーディングできるいくつかの基本的なケースのみを処理したい-ソースコードは拡張するのに適しています:)。
PPS @larsmansが指摘したように、ゲーデルの不完全性定理によれば、 「すべての」式を証明する方法はありません。そのため、Gnu Prolog プログラムを探しているので、与えられた公理と規則のセットから証明できるものを探しています。そのような公理と規則のセットの例を探しています ;) もちろん、チェッカーは失敗する可能性があります-「いくつかの」ケースで動作することを期待しています:)。- 一方、ゲーデルの完全性定理があります ;)。
prolog - Prolog互換性レイヤー-利用可能なプログラミングライブラリ
1つのProlog実装には、他の実装で使用可能ないくつかの述語がありません。
不足している述語を実装することができます。これを「Prolog互換性レイヤー」と呼びましょう。
Prolog(特にGNU-Prolog)の「Prolog互換性レイヤー」を知っていますか?
次のように回答を構成してください。
- リンク付きのタイトル。
- 「Implementedfor」 -使用したいプロローグの実装
- 「互換性」 -互換性レイヤーが行われるプロローグの実装
- 「関数」 -互換性関数のリスト(お気に入りを太字にすることができます)
- 「追加情報」 -コメント、要件、制限など。
- 「ライセンス」 -ライセンス情報
別の質問に触発されたPS質問:プロローグ構文の問題。