A Mathematical Solution to Eddington’s Controversy Problem

Share & Comment

eddingtonSometime back, while reading Fazlollah M. Reza’s “An Introduction to Information Theory“, I revisited a solution that I have sketched out years back on the Eddington’s controvery problem. This problem is interesting to me because it exemplifies the type of confusion that existed in probability prior to the introduction of set theory considerations. Eddington is the same astrophysicist who did the solar eclipse experiment to demonstrate the prediction of light bending using Einstein’s general relativity. I thought I should share the solution which I co-solved with Yen Lee, an old friend from Cambridge who’s now a postdoc in Purdue University. To quote the problem, “If A, B, C, D each speaks the truth 1 in 3 times (independently), and A affirms that B denies that C delcares that D is a liar, what’s the probability that D was speaking the truth?” Historically, this problem was examined by M. Gardner in an article entitled “Brain Teasers that involve Formal Logic” and to everyone’s surprise, some theoretical physicists and mathematicians are embroiled in getting the correct the number of the solution. So, I will discuss the problem in detail, giving my solution to the problem and explain why Eddington’s answer of 25/71 was greeted with so much protests from the thinkers of the time. (Warning: If you are not a theoretical physicist or mathematician, you will be inundated by a plethora of mathematical symbols, hence you are warned before proceeding to the interesting parts).

To simplify the problem without bringing up the controversy, we make the following assumptions (see the last section of the blog article):

  1. All four men made statements.
  2. A, B, and C each made a statement that either affirmed or denied the statement that follows.
  3. A lying affirmation is taken to be a denial and a lying denial is taken to be an affirmation.

Let a, b, c and d be the event when A, B, C and D tells the truth respectively, and let

  • p be the event that D lied,
  • q be the event that C declared that D lied,
  • r be the event that B denied that C declared that D lied,
  • s be the event that A affirmed that B denied that C declared that D lied.

We are told that A, B, C, D each tel the truth (denote truth as T and false as F) with a probability of 1/3. Thus, we get the following:


where == indicates that two logical statements are equivalent.We set up the following logical operations for the problem. The event p is the event that D lied, i.e that d is false, so


and we use the logical operators && means AND, || means OR and ^ means XOR.Let’s work out q, which is the event that C declared that D lies, i.e. q is the event that C declared that “p is true”. This happens if either “p is true and C tells the truth” or “p is false and C lies”, hence, we get the following:


Then we continue with r which is the event that B denied statement q, i.e. r is the event that B said that “q is false”. This happens if either “q is false and B tells the truth” or “q is true and B lies”, hence


Finally, we evaluate s which is the event that A affirmed the statement r, we run thru the same calculation and find:


where we use the identity (x == y) == !(x^y). Since the XOR operation is commutative and associative, we can just write:


You can refer to this truth table which I have painstakingly constructed:

With the logical relation s, we proceed to find the probability that D told the truth (event d) given what A said (event s):


and we calculate the denominator by setting up the truth table: Therefore we calculate the answer:


and yes, my solution is slightly different from Eddington’s solution of 25/71, which I will explain how he come to that solution.

How Eddington got his solution

In this section, we describe Eddington’s original solution to the problem [Eddington (1935)]. Eddington interpreted the question as the following: D has made a statement X, and A stated that B denied that C contradicted X, hence what is the probability that the statement X is true?

There are only two premises made in Eddington’s view: (1) D’s statement, X and (2) A’s statement that “B denied that C contradicted X”. He assumed that we do not know whether B and C made any relevant statements. An example will be if B truthfully denied that C contradicted X, there is no reason that C affirmed X. By this reasoning, the only cases which are inconsistent with what’s known are: (1) A truths, B lies, C truths, D truths and (2) A truths, lies, C lies, D lies.

If A is lying, we don’t know what B said and if A and B both spoke the truth, we do not know what C said. Since case 1 and 2 occur twice and eight times out of 81 occasions respectively, therefore D’s 27 truths and 54 lies are reduced to 25 truths and 46 lies. Therefore the probability becomes 25/(25 + 46) = 25/71
≈ 0.35. Hence that’s Eddington’s answer to the problem.

A Historical Depiction of the Problem from Gardner’s paper “Brain Teasers that involve Formal Logic”

I thought that it may be good to quote the comments on the Eddington problem here from Gardner’s paper (note that while trying to write out the solution, I have read all the papers cited below by spending a few days digging in old stacks library of journals in Cambridge and, yes, they have Nature papers dated back 1900s):

“Eddington’s answer of 25/71 was greeted by howls of protest from his readers touching off an amusing controversy that was never decisively resolved. The English astronomer Herbert Dingle, reviewing Eddington’s book in Nature (March 23, 1935) dismissed the problem as meaningless and symptomatic of Eddington’s confused thinking about probability. Theodore Sterne, an American physicist, replied (Nature, June 29, 1935) that the problem was not meaningless but lacked sufficient data for a solution. Dingle responded (nature, Sept 14, 1935) by contending that if one granted Sterne’s approach, there were enough data to reach a solution of exactly 1/3. Eddington then re-entered the fray with a paper entitled “The Problem of A, B, C and D” (Math. Gaz., October 1935) in which he explained in detail how he calculated the answer.

The difficulty lies chiefly in deciding exactly how to interpret Eddington’s statement of the problem. If B is truthful in making his denial, are we justified in assuming that C said that D spoke the truth? Eddington thought not. Similarly, if A is lying, can we then be sure that B and C said anything at all? Fortunately, we can side-step all these verbal difficulties by making (as Eddington did not) the following assumptions:

  1. All four men made statements.
  2. A, B, and C each made a state that either affirmed or denied the statement that follows.
  3. A lying affirmation is taken to be a denial and a lying denial is taken to be an affirmation.

Related Links:
[1] David Stirzake, Elementary Probability (presented a solution using Set theory).

Share & Comment

Have something to add?

Loading Facebook Comments ...


  1. JP says

    Your solution to this problem is true if and only if C knows whether D is lieing or telling the truth (which was not stated in the problem unless “to declare” requires that one know the truth). Assuming nobody knows if D told the truth or not, the probability is just 1/3.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>