May 9, 2007
How can you be your own grandpa?
Daniel Jackson in his book Software Abstractions: Logic, Language, and Analysis (OIP) approaches the problem of finding out through Alloy (a software specification language) if it is possible for you to be your own grandpa.
As a first approach if we define parent as being the union of the set mother and the set father and grandpa as being a man and a parent of one of our parents, we cannot possibly be our own grandfather. However, what happens if we include in the definition of parent the step-parents also, i.e., our fathers wife and our mothers husband? Then it is possible… but it is also a crime because the easiest way (as the smallest model for being our own grandpa) is incest. If you marry one of your parents, then you’ll be your father, but you’ll also be your grandpa by applying the same idea on yourself again. Think about it!
Now, what if we rule out incest? If we dismiss people marrying their own parents? Is it possible?
It turns out that it is. Consider a Man0, whose mother is a Woman0. Man0 is married to Woman1, Woman0 is married to Man1. The mother of Man1 is Woman0. Basically, you have two couples, in which the wife in each is the mother of the husband in the other. So, Man0 is his own granpa!
Daniel Jackson then informally tells the reader that this questions was answered many years ago in terms of song. This song, the lyrics and a diagram at how this is possible can be found at : http://gean.wwco.com/grandpa/
(Note however, that the song’s description of the model matches none of the two presented in the book, which I transcribed to this post)
No matter how you think about it… it’s always quite confusing to be your own grandpa!