簡體   English   中英

您如何將序言規則和查詢轉換為一階邏輯?

[英]How can you translate prolog rules and query into first order logic?

我想了解如何翻譯序言規則

brother(g(x), g(y)) :- brother(x,y).
brother(n,n).

一階邏輯。

∀x,y(brother(x,y) -> brother(g(x), g(y))是正確答案嗎?

不,答案不正確。

首先,確定 Prolog 程序中的xyn是否實際上是邏輯變量 在這種情況下,您需要更改程序: Prolog 變量以大寫字母或下划線開頭。 因此,假設您將程序更改為:

brother(g(X), g(Y)) :- brother(X, Y).
brother(N, N).

那么你給出的翻譯仍然不足以捕捉到這個邏輯程序的聲明性含義。

例如,僅使用您給出的含義,您能否推導出一個實際成立的語句

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM