Prolog 序言谓词

Prolog 序言谓词,prolog,predicates,Prolog,Predicates,我目前正在学习Prolog中的谓词逻辑。我在回答一个关于这个主题的问题时遇到了困难,我想知道使用Prolog谓词解决这个问题的步骤。我有一个场景,它必须用Prolog谓词表示,只使用两个不同的谓词名称 A和B结婚了 B喜欢C C和D结婚了 D喜欢巧克力 F喜欢B E喜欢B E和G结婚了 A喜欢G 把上面写的写下来 are_married(a,b). likes(b,c). 等等。到目前为止,我们已经使用了两个谓词的名称 在Prolog中,原子由以小写字母开头的标识符表示。以大写字母或下划线开

我目前正在学习Prolog中的谓词逻辑。我在回答一个关于这个主题的问题时遇到了困难,我想知道使用Prolog谓词解决这个问题的步骤。我有一个场景,它必须用Prolog谓词表示,只使用两个不同的谓词名称

  • A和B结婚了
  • B喜欢C
  • C和D结婚了
  • D喜欢巧克力
  • F喜欢B
  • E喜欢B
  • E和G结婚了
  • A喜欢G

  • 把上面写的写下来

    are_married(a,b).
    
    likes(b,c).
    
    等等。到目前为止,我们已经使用了两个谓词的名称


    在Prolog中,原子由以小写字母开头的标识符表示。以大写字母或下划线开头的标识符表示逻辑变量

    也许是问这样一个问题的好地方。@CiaranG不,这是关于Prolog编程这样的问题的合适地方。它们都可以放在两个谓词中吗?例如,你结婚了吗((a,b),(c,d),(E,g))@DrKhan不,Prolog不是这样工作的。你当然可以定义另一个谓词,
    已婚夫妇([(a,b),(c,d),(e,f)]。
    。但是,要想得到一对已婚夫妇,你必须花一些时间。如果这对下面的话正确吗,我给出了两个谓词:
    1。你结婚了吗。2.喜欢([b,c],[d,e],[f,b],[e,b],[a,g])。@DrKhan我不知道你这是什么意思。如果你能更全面地阐述背景并描述你需要什么,那么你可以发布一个新的问题