From the hub, tagged: "Relations"

is_Of and has_: Predicate Naming

Prolog is a declarative language, we have the joy of telling the computer what is, and run our programs by allowing the computer to deduce what is true. As programmers we often have to read code for ourselves and figure out what is true. This naming convention can help us do that by making our intentions explicit.

Reflexive, Symmetric and Transitive Relations in Prolog

When we start doing knowledge representation in Prolog, we start needing to describe the properties of relations so we can infer more than is in our recorded data. Symmetry, reflexivity and transitivity are the three main relationship properties you'll end up using. In this interactive post we take a look at how they can be encoded.