谓词中的Prolog否定

谓词中的Prolog否定,prolog,Prolog,我是一个prolog编程任务,不能用prolog形式表示以下谓词 蝙蝠侠喜欢看足球,从比尔那里买票,在业余时间从不打曲棍球或板球 我不能用列表格式写出谓词的否定部分。该列表是表格的一部分 成员([蝙蝠侠、足球、高谭、提克塞特、比尔],列表名) 蝙蝠侠-蝙蝠侠的名字 足球-人们喜欢做什么 高谭-起源城市 tikcet-买东西做他喜欢做的事 比尔-普雷森卖票 谢谢你的帮助 谢谢 我看不出问题与您的列表之间有什么联系 蝙蝠侠喜欢看足球,从比尔那里买票,在业余时间从不打曲棍球或板球 第一部分在我看来是这

我是一个prolog编程任务,不能用prolog形式表示以下谓词

蝙蝠侠喜欢看足球,从比尔那里买票,在业余时间从不打曲棍球或板球

我不能用列表格式写出谓词的否定部分。该列表是表格的一部分

成员([蝙蝠侠、足球、高谭、提克塞特、比尔],列表名)

蝙蝠侠-蝙蝠侠的名字 足球-人们喜欢做什么 高谭-起源城市 tikcet-买东西做他喜欢做的事 比尔-普雷森卖票

谢谢你的帮助


谢谢

我看不出问题与您的列表之间有什么联系

蝙蝠侠喜欢看足球,从比尔那里买票,在业余时间从不打曲棍球或板球

第一部分在我看来是这样的:

loves(batman, watching(soccer)).
buys(batman, tickets, bill).
:- dynamic plays/2.
最后一部分在我看来是这样的:

loves(batman, watching(soccer)).
buys(batman, tickets, bill).
:- dynamic plays/2.
这只是告诉Prolog,plays/2是一种事实,这些事实即将出现

然后您可以这样编写查询:

?- loves(Batman, watching(soccer)), 
   buys(Batman, tickets, bill), 
   \+ plays(Batman, hockey),
   \+ plays(Batman, cricket).
这似乎向我反映了这个问题,并给出了预期的回答:

Batman = batman.