我有以下序言代碼:循環的Prolog
equiAngularTriangle(T) :-
equiLateralTriangle(T).
equiLateralTriangle(T) :-
equiAngularTriangle(T).
有沒有辦法讓翻譯從問同樣的問題兩次?例如,如果我詢問equiAngularTriangle(t)
,那麼它將詢問equiLateralTriangle(t)
,然後詢問equiLateralTriangle(t)
,但它應該知道不要再追求最後一個,因爲同樣的問題在「查詢棧」上。
是否有一個選項或一些特殊的語法讓Prolog按照我想要的方式工作?
如何檢查該陳述是否屬實?你是否也有一個規則來完成這個查詢?否則:它是如何知道它是否是其中之一? – Marnix 2012-02-06 19:39:42