rec.puzzles Archive

In a small town there are N married couples in which one of the pair has committed adultery.

logic/smullyan/priest Added material

Problem

In a small town there are N married couples in which one of the pair
has committed adultery.  Each adulterer has succeeded in keeping their
dalliance a secret from their spouse.  Since it is a small town,
everyone knows about everyone else's infidelity.  In other words, each
spouse of an adulterer thinks there are N - 1 adulterers, but everyone
else thinks there are N adulterers.

People of this town have a tradition of denouncing their spouse in
church if they are guilty of adultery.  So far, of course, no one has
been denounced.  In addition, people of this town are all amateur
logicians of sorts, and can be expected to figure out the implications
of anything they know.

A priest has heard the confession of all the people in the town, and is
troubled by the state of moral turpitude.  He cannot break the
confessional, but knowing of his flock's logical turn of mind, he hits
upon a plan to do God's work.  He announces in Mass one Sunday that
there is adultery in the town.

Is the priest correct?  Will this result in every adulterer being
denounced?
Show solution
Yes.  Let's start with the simple case that N = 1.  The offended spouse
reasons as follows: the priest knows there is at least one adulterer,
but I don't know who this person is, and I would if it were anyone
other than me, so it must be me.  What happens if N = 2?  On the first
Sunday, the two offended spouses each calmly wait for the other to get
up and condemn their spouses.  When the other doesn't stand, they
think:  They do not think that they are a victim.  But if they do not
think they are victims, then they must think there are no adulterers,
contrary to what the priest said.  But everyone knows the priest speaks
with the authority of God, so it is unthinkable that he is mistaken.
The only remaining possibility is that they think there WAS another
adulterer, and the only possibility is: MY SPOUSE!  So, they know that
they too must be victims.  So on the next Sunday, they will get up.
What if N = 3?  On the first Sunday, each victim believes that the
other two will not get up because they did not know about the other
person (in other words, they believe that each of the two other victims
thought there was only one adulterer).  However, each victim reasons,
the two will now realize that there must be two victims, for the
reasons given under the N = 2 case above.  So they will get up next
Sunday.  This excuse lasts until the next Sunday, when still no one
gets up, and now each victim realizes that either the priest was
mistaken (unthinkable!) or there are really three victims, and I am
ONE!  So, on the third Sunday, all three get up.  This reasoning can be
repeated inductively to show that no one will do anything (except use
up N - 1 excuses as to why no one got up) until the Nth Sunday, when
all N victims will arise in unison.

The induction can also be run "top down" on the priest's statement. 
What must everyone believe about what everyone else believes?
N victims of adultery believe there are N - 1 victims, and that all of
  these
 N - 1 victims believe that there are N - 2 victims, and that all of
    these
  N - 2 victims believe that there are N - 3 victims, and that all of
    these
  ...
   2 victims believe that there is 1 victim, and that this
    1 victim believes there are no victims.

Suppose the priest says, "There are N adulterers in this town."  Then
all the adulterers will know immediately that their spouses have been
unfaithful, and will denounce them the next Sunday.  Now, suppose the
priest says, "There are at least N - 1 adulterers in this town."  On
the first Sunday, the offended spouses all wait for each other to stand
up.  When none do, they all know that they have all been horribly
mistaken, and they stand up on the following Sunday.  But what if the
priest says, "There are at least N - 2 adulterers in this town."  On
the first Sunday, the victims reason, those N - 1 victims are going to
be surprised when no one stands up, and they'll stand up next Sunday.
On the second Sunday, the victims reason, wait a minute, since they
didn't stand up, I must be one of the deluded victims.  And everyone
stands up on the third Sunday.  This resoning applies inductively,
adding one Sunday at each step, until the priest's original statement
is reached, which takes N Sundays for everyone to unravel.

By the way, the rest of the town, which thinks there are N adulterers,
is about to conclude that their perfectly innocent spouses have been
unfaithful too.  This includes the adulterous spouses, who are about to
conclude that the door swings both ways.  So the priest is playing a
dangerous game.  A movie plot in there somewhere?

This problem has been traced back to _Puzzle-Math_, George Gamow and 
Marvin Stern, Viking Press, New York, 1958, p. 20, attributed to Dr.
Victor Ambarzuminian.

This problem is an analogue of the "dirty children" problem discussed
in the seminal paper on common knowledge by Halpern and Moses (JACM
1990).

If the information of each victim is less than perfect, the problem is
related to the "frame" problem of AI, cf. J. M. McCarthy & P. J. Hayes,
"Some philosophical problems from the standpoint of artificial
intelligence" (1968) in _Readings in Artificial Intelligence_ (pp.
431-450), Tioga Publishing Co., Palo Alto, CA (1981).

Additional material

[ Editor: the solution in verse. ]

SMULLYAN'S TOWN OF ILL REPUTE
                a solution in poetry by Mike Soss

In a quiet, little town
Lay a church on hallowed ground.
Every joyous Sabbath day
The village gathered there to pray.

The townsfolk felt a little twitch
When seven years had caused that itch,
Undressing neighbors with their eyes
Despite commandment number nine.

But that's not all, and here's the twist.
Such fantasy's just a quick fix.
So when that itching did persist,
Some even broke commandment six!

The members of the congregation
Knew who else did fornication.
But every man was quite content;
He thought his own was innocent.
Yet if that person did find out,
He'd wait 'till church to have a clout
Then leave from there back to his house
So he could oust the lousy spouse!

There is one man who hates this truth --
The priest inside the little booth!
The guilty names would be suppressed;
He can't reveal what's been confessed!
Yet just beneath his very chin
Did lie a den of filth and sin.
This lesson that he had to teach
He stood to preach and made this speech,

        "To rid the town of sinful vermin
         I'm adding something to my sermon.
         In that booth I heard you mumble:
         Someone's had an extra tumble!"

The priest just simply had to wait.
The guilty would be scorned by fate
When evident became the source
Of all this extra intercourse.

The first week no one stood and said,
"My wife's been in another bed!"

Now if the adulteresses were two,
No one would know what he should do
Except for nervous Mister Y,
Who wonders if his wife did lie.
   "Oh, that poor old Mister X.
    No other wife I know had sex.
    Shouldn't he have had a strife
    To publicly denounce his wife?
    That must mean she's not unique;
    He would have said something last week!
    The other one, who could it be?
    My very wife!  It must be she!
    Oh no!  My God!  She cheats on me!
    I'll scold her next for all to see!"
(And Mister X does equally
 Sans loss of generality.)

Let's suppose they number N.
Just what would happen then and when?
The men whose wives had extra fun
Know of the other N less one.
Just as many weeks would pass
Before those wives are scorned in mass.
   "Yet why was nothing said or done
    In that week N minus one?"
Each man does ponder on and on 'till
He learns his wife's been horizontal!
They all await the Sunday next
To tell the town their wives had sex!

Thus revealed implicitly
Are those who act illicitly.
And so announced by this induction:
All unholy reproduction!

-- Mike Soss <soss@cs.mcgill.ca>

[ Editor: a mail to Chris Cole, February 1994: ]

You write, on rec.puzzles, quoting from the rec.puzzles archive,

    ==> logic/smullyan/priest.p <==
    ...,  everyone [except each adulterer's respective spouse] knows
    about everyone else's infidelity.  ...

It seems to me that the solution given in the FAQ relies not merely 
on the assumption that the condition quoted above is true, but on 
the assumption that it is "common knowledge."  That is, everybody 
knows it, everybody knows that everybody knows it, everybody knows 
that everybody knows that everybody knows it, and so on ad infinitum.  
(Well maybe something in the neighborhood of N levels, where N is 
the actual number of adulterers, would be adequate.) 

For example, suppose that the quoted condition is true, but is not 
common knowledge, and suppose there is only one adulterer.  The priest 
announces that there is at least one adulterer.  The adulterer's 
wife in fact knows about all the other adulterers (none) in the village, 
but perhaps she doesn't *know* that she knows about all the adulterers
(except possibly her husband) in the village.  Thus the wife can't
conclude with certainty that the adulterer whose existence is announced 
by the priest is in fact her husband, and so she cannot denounce 
him. 

Am I quibbling?  I think not.  For some logic puzzles, it may be fair 
to expect readers to assume implicitly that a condition given in 
the problem statement is in fact common knowledge, as defined above.  
This problem hinges entirely on the subtle difference between "common 
knowledge" and "what everyone knows." (In particular, the priest's 
announcement makes the occurrence of adultery in the village common 
knowledge, when it was not common knowledge before, even though everbody 
knew about it.)  Therefore, failure to be explicit about which facts 
are common knowledge seems like a definite flaw in the problem statement. 


-- Jim Saxe <saxe@src.dec.com>

[ Editor: a rec.puzzles reply of August 1995 to the archive entry; the
quoted problem and solution are omitted. ]

> Is the priest correct?  Will this result in every adulterer being denounced?

NO!!!

[ Editor: and, after the quoted solution: ]

Bad reasoning.  First of all, there is an additional assumption not
originially stated in the problem:  Everyone knows everyone else knows
there bussiness...  This is an even higher level of intelligence than
was originally stated that eveyone knows eachother's bussiness.  i.e.

   I know.
   I know you know.
   I know you know I know.

These are all successively higher levels of awareness...

OK, now lets go with your assumption that they do know everyone knows
everone elses bussiness.  Lets look at the N=2 case.

Man A and Man B's wifes are adulters, and noone else'ss wifes.  The
preist announce there is an adulter, and Sunday arrives.

Man A is sitting there thinking I know it is Man B's wife, and visa versa.
Man A and Man B don't initially come forward.  Man X is sitting there
waiting for A and B to come forward.

Man A is sitting there thinking why doesn't Man B come forward?  Is he
scared or such?  Likewise Man B has the same thought about Man A.  Man
X knows they are both running through the same logic, so he doesn't 
worry yet.

After awhile of sitting, it finially occures to Man A that there could be
two adulters, and his wife must be the other.  So he comes forward and
denounces his wife.

Man B sees Man A finially comming forward and thinks, awe that is it he
must have been scared...  Then it occures to him that mayber there were
two adulters.  He can't be certain if Man A was scared or if there were
two adulters, so rather than risk unjustly accusing his wife he stays
sighlent.

Man X thinks why doesn't B come forward?  He relizes it could either
be there are really 3 adulters, or Man B is uncertain of Man A's 
motivation for waiting.  Since he can't be certain he stays sighlent
rather than falsely accusing his wife.

If you follow through this line of logic, you'll find the correct answer
is:

    max(1,N-1)  If men getup one at a time, and don't want to falsely
                accuse their wife.
    >= N        Otherwise.

So, the priest is incorrect.  Most likely, there will still be adulters
on the lose, or many innocent women will be accused...  In the real
world, both.

-- Bill C. Riemers <bcr@physics.purdue.edu>