7
A
回答
6
0
從邏輯上講,「B或C」是一回事「B或C(或兩者)」
您可以閱讀序言關於邏輯運算符這裏:http://rigaux.org/language-study/syntax-across-languages-per-language/Prolog.html
你能解釋多一點請你想要做什麼'隱含'?
1
我不完全確定你想要做什麼與這意味着聲明。但是我會認爲以下幾點就足夠了(記住這是SICStus不是swi的,但是在這個低層我覺得它們都是一樣的)。
predicate(a, b).
predicate(a, c).
?- predicate(a, Then).
Then = b ;
Then = c ;
no
?- predicate(x, Then).
no
你可以做更復雜的檢查,以確保一個從來未綁定值(爲防止predicate(If, b)
。是真的),但除非你正在做一個巨大的應用那麼我敢肯定,良好的文檔就足夠了。
相關問題
- 1. 如何在C#中編寫exp(a/b)?
- 2. 如何爲「a,b,c」.containsAllOf(「b」,「a」)編寫Specs2匹配器?
- 3. 如何寫A :: B :: C => D給定A :: B :: C和(A,B,C)=> D?
- 4. Prolog中的列表[[a,b] | c]
- 5. 從{a-b,b-c,c-a}改變爲{(a,b),(b,c),(c,a)}?
- 6. .Match()A或B或C
- 7. 如果A和B是單子,如何將A [B [C]]轉換爲B [A [C]]?
- 8. 簡化布爾表達式(a *'b *'c)+('a *'b * c)+('a * b *'c)+(a *'b * c)
- 9. a-b(= 100)會在C#中編譯嗎?
- 10. 測試X = A,B或C
- 11. PHP變換陣列'a','b','c'到'a/b/c','a/b','a'
- 12. * a = * b在C中表示什麼?
- 13. SQL條件:(A = B AND C LIKE%D%)或(A LIKE%B%和C = D)
- 14. 如何寫A包含的MySQL查詢(「a」或「b」)
- 15. 如何在MongoDB中寫入「max((a + b)/ c)」?
- 16. 如何在C#中編寫最佳交換(T a,T b)算法?
- 17. 測試非整數是否在範圍[a,b) - 或[a,b],(a,b),(a,b)
- 18. 如何在js中將字符串('a | b \\ | c')拆分爲數組('a','b | c'')?
- 19. 如何在Scala中從a => b => c獲取(a,b)=> c?
- 20. 我該如何說服coq(A/\ B)/ \ C == A/\ B/\ C?
- 21. 如何支持(a = b)= c?
- 22. 如何在prolog中編寫predicate convert/2?
- 23. 如何在Prolog中編寫鍵值對?
- 24. 如何在prolog中編寫unflatten函數?
- 25. 書寫(A && C)|| (B && C)條件較短
- 26. 搜索A/B或在露天4.2D「A/B」或A/B有問題
- 27. 如果(a或b)和c語句
- 28. 如何在SQL中爲「B或A = B中包含的A」建模關係?
- 29. a = b || c在Python中
- 30. 如何在Mockito中表示「A,然後(B或C)」調用訂單?
我用錯了嗎?答案似乎表示暗示不是正確的術語。是不是所有(大部分)prolog子句都被讀爲某種東西暗示其他東西('something_else:-something.')?我沒有用英語學習Prolog,所以我可能會用錯句子。 – baruch