Using Mathematica 3 to Understand the Computer Proof of the Robbins Conjecture

Branden Fitelson
University of Wisconsin–Madison

1.  The Robbins Conjecture—A Brief History

In 1933, Huntington gave this 3-axiom basis for Boolean algebra: 

	x ⊕ y = y ⊕ x			[Commutativity of ⊕]
	(x ⊕ y) ⊕ z = x ⊕ (y ⊕ z)	[Associativity of ⊕]
	(OverBar[\(x\&_\) ⊕y])⊕(OverBar[\(x\&_\) ⊕\(y\&_\)])  = x 		[Huntington equation]

Shortly thereafter, Robbins conjectured that if the Huntington equation were replaced with the following equation (which, in the context of Boolean algebra, is equivalent to the Huntington equation):

	(OverBar[(OverBar[x ⊕ y]) ⊕ (OverBar[x ⊕(OverBar[ y])])]) = x		[Robbins equation]

then the resulting axiomatization would also be characteristic of Boolean algebra.  This is the Robbins conjecture.  Robbins and Huntington could not find a proof of it.  The problem was later studied by Tarski and his students (they couldn't prove it either).

In 1992, almost 60 years later, Winker (with the help of Argonne's automated theorem provers) showed that the surprisingly weak:
	
	(∃C)(∃D) [(OverBar[C⊕D]) = (OverBar[C])]	[Winker condition]

is sufficient to make any Robbins algebra Boolean.

In early October, 1996, Bill McCune and his Argonne Lab team found a proof of the Winker condition from the Robbins axioms, using their automated theorem prover EQP.  This finally established the truth of the Robbins conjecture.  Unfortunately, the 16–line EQP proof object is not terribly illuminating.  It is highly complex and dense, and quite difficult to follow.  Indeed, it is virtually impossible to work through the proof entirely "by hand".  That's where Mathematica comes in…

2.  The Puzzling EQP Proof Object

There are two main problems with discovering the inner workings of the EQP proof.  (1) The EQP proof object doesn't give us any information about precisely which substitution strategies were used during the complicated derivation (it only says which previous lines were used to derive each line), and (2) EQP's 1-dimensional prefix notation for the "negation" operator "n(•)" is quite difficult to parse for complex, nested formulas of the kind seen in the proof.

There isn't much we can do about (1).  In fact, our challenge is to figure out which substitution strategies were involved in the computer proof.  As for problem (2), this is where Mathematica comes in handy.  Mathematica's 2-dimensional overbar notation (OverBar[ • ])  is much more informative, concerning the structure of complex nested formulas.

To get a feel for how the 2-D Mathematica 3 notation improves our ability to see patterns in complex expressions, consider the first line of the EQP proof object (i.e., the Robbins equation) and the second line of the EQP proof object — in EQP notation vs. Mathematica 3 notation.

Line 1 (EQP).  n (n(x⊕y)⊕n(x⊕n(y))) = x
            
	
Line 2 (EQP).  n (y⊕n(
                  y⊕n(x)⊕n(x⊕y))) =
            n(x⊕y)

Line 1 (Mathematica 3).  \(\(\(x⊕y\)\&_⊕\(x⊕y\&_\)\&_
                  \)\&_ = x\)

Line 2 (Mathematica 3).  (OverBar[y⊕(OverBar[y⊕\(x\&_\)⊕(OverBar[x⊕y])])])=\(\(x⊕y\)\&_\)

Notice how much more visually informative the Mathematica 3 versions are.  This improved clarity afforded by the Mathematica 3 notation is just the beginning of Mathematica's usefulness…

3.  Mathematica to the Rescue: Part I—Encoding the Robbins Axioms in Mathematica 3

I explain below how I figured out the first step of the EQP proof using Mathematica (for the other 14 steps, consult my Robbins Algebra Web Page, see page 6 below for the URL).  This first step is the most important step in the proof, and it paves the way for the proof's completion.  First, I introduce three useful Mathematica constructs.

The key to cracking the computer proof is effectively encoding the three Robbins axioms in Mathematica 3.  To this end, we evaluate the following three Mathematica 3 expressions:

Attributes[CirclePlus]  =  {Orderless,  Flat};
RF[x_, y_]:=(OverBar[(OverBar[x⊕y])⊕(OverBar[x⊕\(y\&_\)])]);
RR:={(OverBar[(OverBar[x__⊕y__])⊕ (OverBar[x__⊕\(y__\&_\)])])->x};

By telling Mathematica that ⊕ is Orderless and Flat, we insure that Mathematica will automatically take into account the commutativity and associativity of ⊕ in all of its symbolic operations.  This allows us to focus on the more interesting role that the Robbins equation plays in the proof.  (EQP also makes implicit use of commutativity and associativity, without explaining how they are used.)

Encoding the Robbins equation is more important, and not as easy.  The function RF[x,y] (which is equivalent to x, for all y) lets us generate arbitrary Robbins-equivalents of any formula x.  And, the replacement rule RR automatically simplifies (some) expressions containing instances of the Robbins pattern (see page 5 for some subtleties in defining RR).  These simple Mathematica constructs prove to be very powerful tools for aiding our comprehension of the EQP proof.

4.  Mathematica to the Rescue: Part II —Deciphering the First Step of the Proof

Line 2 of the proof says that  (OverBar[x⊕y]) = (OverBar[y⊕(OverBar[y⊕(OverBar[x])⊕(OverBar[x⊕y])])]).  We know this must follow from the Robbins equation (i.e., Line 1).  The only way to go from the Robbins equation to Line 2 is by creating a Robbins –equivalent of (OverBar[x⊕y]) using RF[(OverBar[x⊕y]),y], for some y.  The question is which y is such that RF[(OverBar[x⊕y]),y] yields  (OverBar[y⊕(OverBar[y⊕(OverBar[x])⊕(OverBar[x⊕y])])])?

As with any good proof-theoretic question of this kind, the answer involves a neat trick.  In this case, the relevant trick is very difficult to figure out (or even see) without Mathematica's help.

\(RF[\(x⊕y\)\&_, x\&_⊕y]\)

We can clearly see that RF[(OverBar[x⊕y]),(OverBar[x])⊕y] contains two distinct instances of the Robbins pattern.  By definition, the entire formula is an instance of the Robbins pattern (equivalent to (OverBar[x⊕y])).  But, so is the sub-expression (OverBar[(OverBar[x⊕y])⊕(OverBar[y⊕(OverBar[x])])]), which is equivalent to y.  Using RR, we can automatically simplify this sub-expression, yielding the desired result.

\(RF[\(x⊕y\)\&_, x\&_⊕y] /. RR\)

(Where's Waldo?)  Can you to find the two distinct instances of the Robbins pattern, in the EQP rendition of \(RF[\(x⊕y\)\&_, x\&_⊕y]\)?

\(TraditionalForm[
      RF[\(x⊕y\)\&_, x\&_⊕y] //. {
          x__\&_ -> n[x]}]\)

5.  Some Implementation Notes on RR

RR is useful for illustrating the first step of the EQP proof.  But, one should not think of RR as a "general inverse" of RF[x, •].  In fact, RR only works effectively for certain kinds of instances of the Robbins pattern.  To wit (can you explain RR's behavior in these cases?):

RF[a, b] /. RR // TraditionalFormRF[a ⊕ b, c] /. RRRF[c, a ⊕ b] /. RR // TraditionalFormRF[a ⊕ b, c ⊕ d] /. RR // TraditionalForm

RR can only be counted on to correctly simplify RF[x, y] when x and y are both of length 1 (as in the first case above).  The following table summarizes the behavior of the four possible variants of RR.  Together, these 4 variants provide a general "inverse" of RF[x,•].

6.  Getting More Information about Automated Reasoning, the Robbins Problem, and my Mathematica 3 Reconstruction

My Robbins Algebra Web Page

Check-out my Robbins Algebra Page.  It contains a Mathematica 3 notebook explaining my entire reconstruction of the EQP proof of the Winker condition.  The best way to figure out how the proof works is to fiddle around with my Mathematica notebook yourself!  You'll also find links there to Bill McCune's highly informative automated reasoning web pages at Argonne National Laboratory:

http://polyglot.lss.wisc.edu/philosophy/PEOPLE/TA/BF/ROBBINS.HTM

Bibliography

Huntington, E.V., 1933a, "New sets of independent postulates for the algebra of logic'', Transactions of the American Mathematical Society 35, pages 274–304

Huntington, E.V., 1933b, "Boolean algebra: A correction", Transactions of the American Mathematical Society 35, pages 557–558.

Kolata, G., 1996, "Computer Math Proof Shows Reasoning Power", The New York Times, December 10, 1996.

McCune, W., 1997, "Solution of the Robbins Problem," forthcoming in the Journal of Automated Reasoning.

Tarski, A., et al, 1971, Cylindric Algebras: Part I, North-Holland.

Winker, S., 1992, "Absorption and idempotency criteria for a problem in near-Boolean algebras'', Journal of Algebra 153(2), pages 414–423.

Wos, L., et al, 1992, Automated Reasoning: Introduction and Applications, Second Edition, McGraw Hill.