Skip to content Skip to navigation

Connexions

You are here: Home » Content » Relations and Logic: properties of relations

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the authors

Recently Viewed

Relations and Logic: properties of relations

Module by: Ian Barland, John Greiner, Phokion Kolaitis, Moshe Vardi, Matthias Felleisen

Summary: Relations are subsets. Binary relations might be reflexive, symmetric, antisymmetric, or transitive.

When using relations in logic formulas, there are two things going on:

  • relations themselves, as mathematical entities, and
  • formulas involving symbols, which must be interpreted as specific relations.
First things first: we'll just discuss relations for now, and later tackle using relations in logic formulas.

We'll start with a couple of equivalent ways of defining relations, and then discuss a common subclass of relations — binary relations.

Relations as subsets

Consider the set of WaterWorld locations LL = { AA, BB, …, ZZ }. For this domain (also known as a universe), we'll say a binary relation is a set of (ordered) pairs of the domain.

Example 1

For instance, the nhbrnhbr relation of the previous section is the set A BA GB AB CY XY ZZ Y A B A G B A B C Y X Y Z Z Y .

That is, xx is related to yy if x yx y is in the set nhbrnhbr.

Example 2

For the domain D=ObjectStringMutableString D Object String MutableString , the relation subclass-ofsubclass-of might be String Object MutableString Object MutableString String String Object MutableString Object MutableString String .

In general, a binary relation over the domain DD is a subset of D×D D D . Note that these are ordered pairs — just because xx is related to yy doesn't mean yy has the same relation to xx. For example, while MutableString Object MutableString Object is in the relation subclass-ofsubclass-of, the pair Object MutableString Object MutableString most certainly is not.

Example 3

You can consider the relation hasStarredWithhasStarredWith, over the domain of Hollywood actors. We won't list all the elements of the relation, but some related pairs are:

  • hasStarredWith(Ewan McGregor,Cameron Diaz)hasStarredWith(Ewan McGregor,Cameron Diaz), as witnessed by the movie A Life Less Ordinary, 1997.
  • hasStarredWith(Cameron Diaz,John Cusack)hasStarredWith(Cameron Diaz,John Cusack), as witnessed by the movie Being John Malkovich, 1999.

If binary relations are subsets of pairs of the domain, what might a unary relation be? Simply, subsets of the domain.

Example 4

For the domain of vegetables, Ian defines the relation yummy?yummy? as tomatoesokracucumberscarrotspotatoes tomatoes okra cucumbers carrots potatoes and nothing else.

Example 5

In one particular game of WaterWorld, the relation hasPiratehasPirate turned out to be KTRUE K T R U E .

If unary and binary relations make sense, what about ternary, etc., relations? Sure! In general, a kk-ary relation (or, “relation of arity kk”) over the domain DD is a subset of Dk D k . However, any given relation has a fixed arity. That is, a relation may be binary or ternary, but not both.

As with propositions, rather than writing “R(x,y)R(x,y) is true”, we'll simply write “R(x,y)R(x,y)”. In fact, notice that once you choose some particular xx, yy, then R(x,y)R(x,y) can be treated as a single true/false proposition. (We'll soon extend the idea of propositions to include such relation symbols, and then allow formulas to include these terms.)

Example 6

prime(18)prime(18)” is a proposition that's false, (assuming the standard interpretation of primeprime — more on interpretations later.)

Example 7

safe(A)safe(A)” is a proposition that is true on some boards and not others.

Relations as functions

The relation nhbrnhbr, which we're defining as a set (of pairs), could also be thought of being a function. We say that the indicator function of a set is a Boolean function indicating whether its input is in the set or not. So instead of being given the set nhbrnhbr, you would have been equally happy with its indicator function fnhbrfnhbr, where (for example) fnhbrBC=true fnhbr B C and fnhbrBQ=false fnhbr B Q . Similarly, if you know that fhasPirateK=true fhasPirate K and that fhasPirateL=false fhasPirate L , then this is enough information to conclude that KhasPirate KhasPirate and LhasPirateLhasPirate. The set and the function are equivalent ways of modeling the same underlying relation.

The next two exercises aren't meant to be difficult, but rather to illustrate that, while we've sketched these two approaches and suggested they are equivalent, we still need an exact definition.

Exercise 1

For the indicator function f(x,y)=trueify=x2falseotherwise f(x,y) y x 2 on the domain of (pairs of) natural numbers, write down the set-of-pairs representation for the corresponding binary relation. It's insightful to give the answer both by listing the elements (and using “…”), and also by using set-builder notation.

In general, for a binary indicator function ff, what, exactly, is the corresponding set?

Solution 1

00112439i i2 00 11 24 39 i i2 In set-builder notation, this is {xy|y=x2} xy y x2

In general, for an indicator function ff, the corresponding set would be {xy|fxy} xy f xy (Note that we don't need to write “… fxy=true f xy ”; as computer scientists comfortable with Booleans as values, we see this is redundant.)

Exercise 2

For the relation hasPirate=KTRUE hasPirate K T R U E on the set of (individual) WaterWorld locations, write down the indicator-function representation for the corresponding unary relation. In general, how would you write down this translation?

Solution 2

fhasPiratex=trueifx=Ktrueifx=Ttrueifx=Rtrueifx=Utrueifx=Efalseotherwise fhasPirate x x K x T x R x U x E .

In general, for a (unary) relation RR, fRx=trueifxRfalseifxR fR x x R x R .

Since these two formulations of a relation — sets and indicator functions — are so close, we'll often switch between them (a very slight abuse of terminology).

Think about when you write a program that uses the abstract data type Set. Its main operation is elementOf. When might you use an explicit enumeration to encode a set, and when an indicator function? Which would you use for the set of WaterWorld locations? Which for the set of prime numbers?

Comments, questions, feedback, criticisms?

Send feedback