HiLogは高階構文を持つプログラミング論理であり、述語や関数の位置に任意の項を出現させることができます。 [1]しかし、 HiLogのモデル理論は一階です。構文的にはHiLogは厳密に一階論理を拡張しますが、HiLogはこの論理に埋め込むことができます。
HiLogは1989年に初めて記述されました。[2]その後、多ソート論理の方向に拡張されました。[3]
XSBシステムはHiLog 構文を解析しますが、HiLog の XSB への統合は部分的です。特に、HiLog は XSB モジュール システムと統合されていません。HiLog の完全な実装はFlora-2システムで利用できます。
HiLogは、かなり単純な変換によって一階論理に埋め込むことができることが示されています。 [1]たとえば、p(X)(Y,Z(V)(W))は次の一階項として埋め込まれます。apply(p(X),Y,apply(apply(Z,V),W))[ 1]
ルール交換フォーマット(RIF)のロジックベース方言フレームワーク(RIF-FLD)は、主にHiLogとFロジックの基礎となるアイデアに基づいています。[4]
例
以下のすべての例では、大文字の記号は変数を表し、コンマは論理積を表します。これは、ほとんどの論理型プログラミングclosure(P)言語と同様です。最初と 2 番目の例は、変数が述語の位置に出現できることを示しています。述語は、またはmaplist(F)のように、複雑な項にすることもできます。3 番目の例は、変数が原子式の代わりに出現できることを示し、4 番目の例は、関数記号の代わりに変数を使用する方法を示しています。最初の例は、任意のバイナリ述語に適用できる汎用推移閉包演算子を定義します。2 番目の例も同様です。これは、任意のバイナリ述語に適用できるLISPのようなマッピング演算子を定義します。3 番目の例は、Prologメタ述語が自然な方法で、余分な論理機能を使用せずに HiLog で表現できることを示しています。最後の例は、一階項call/1として表される任意のバイナリ ツリーをトラバースする述語を定義します。
閉包( P )( X , Y ) <- P ( X , Y )。
閉包( P )( X , Y ) <- P ( X , Z )、 閉包( P )( Z , Y )。
maplist ( F )([],[]).
maplist ( F )([ X | R ],[ Y | Z ]) <- F ( X , Y ), maplist ( F )( R , Z ).
( X ) <- Xを呼び出します。
トラバース( X ( L , R )) <- トラバース( L )、 トラバース( R )。
参考文献
- ^ abc Chen, Weidong; Kifer, Michael; Warren, David S. (1993年2月). 「HiLog: 高階論理プログラミングの基礎」. Journal of Logic Programming . 15 (3): 187–230. doi : 10.1016/0743-1066(93)90039-J .
- ^ Chen, Weidong; Kifer, Michael; Warren, David S. (1989). 「HiLog: 高階論理プログラミング構造のための第一階セマンティクス」論理プログラミング: 北米会議議事録、1989 年。MIT プレス。ISBN 0262620642. OCLC 1153667751.
- ^ Chen, Weidong; Kifer, Michael (1995). 「Sorted HiLog: 高階論理データ言語におけるソート」。Gottlob, Georg; Vardi, Moshe Y. (編)。データベース理論 - ICDT '95: 第 5 回国際会議、チェコ共和国プラハ、1995 年 1 月 11 ~ 13 日: 議事録。コンピュータ サイエンスの講義ノート。第 893 巻。Springer。pp. 252 ~ 265。doi : 10.1007 /3-540-58907-4_20。ISBN 9780387589077. OCLC 31740400。
- ^ Kifer, Michael (2008)。「ルール交換フォーマット: フレームワーク」。Calvanese, Diego、Lausen, Georg (編)。Web推論とルール システム: 第 2 回国際会議、RR 2008、カールスルーエ、ドイツ、2008 年 10 月 31 日~11 月 1 日: 議事録。コンピュータ サイエンスの講義ノート。Vol. 5341。Springer。pp. 1~11。doi : 10.1007 / 978-3-540-88737-9_1。ISBN 9783540887362. OCLC 262884460.
さらに読む
- Ross, Kenneth A. (1994 年1月)。「HiLog における否定について」。Journal of Logic Programming。18 (1): 27–53。doi :10.1016/0743-1066(94)90040-X。
- ジョス・ブライジン;ヘイマンズ、スタイン (2008 年 1 月)。 「記述ロジックベースのオントロジーとFロジックベースのオントロジーの関係について」。基礎情報。82 (3): 213–236。
