Question

I am currently learning about predicate logic in Prolog. I am having trouble answering a question on the topic and would like to know the steps one one take to solve such a question using Prolog predicates. I have a scenario which must be represented in Prolog predicates using only two different predicate names.

  1. A and B are married
  2. B likes C
  3. C and D are married
  4. D likes E
  5. F likes B
  6. E likes B
  7. E and G are married
  8. A likes G
Was it helpful?

Solution

Just write down what it says.

are_married(a,b).

likes(b,c).

And so on. We've used two names of predicates so far.

In Prolog, atoms are denoted by identifiers starting with a lower case letter. Identifiers starting with an upper case letter or an underscore _ denote logical variables.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top