student(ram, cse). /* ram is student of CSE branch */
student(kirat, com).
student(ajay, cse).
student(amit, cmt).
studies (cmt, uc). /* CMT branch studies the module UC */
studies(cmt, pm).
studies(com, pm).
studies(com, aplc).
studies(com, ads).
studies(cse, aplc).
studies(cse, pm).
studies(cse, algorithms).
studies(cmt, pm).
classmate(X,Y):-student(X,Y).这些是我得到的规则和事实。我对Prolog完全陌生。
当我编写classmate(X,com)时,它总是显示false,并且在输入classmate(X,cse)或classmate(X,cmt)时,它会给出解决方案。
发布于 2013-11-20 05:04:40
对我来说没问题
1 ?- classmate(X,com).
X = kirat
2 ?- classmate(X,cse).
X = ram ;
X = ajay.您是否记得将.放在所执行的查询的末尾?
尝试将注释写为/* comment*/。
除此之外,它工作得很好。
https://stackoverflow.com/questions/20081802
复制相似问题