Proof of Ira Gessel's Lattice Path Conjecture
By Manuel Kauers, Christoph Koutschan, and Doron Zeilberger
.pdf
LaTeX source
Written: June 25, 2008.
In a recent
article, Manuel Kauers and I tried very hard to prove Ira Gessel's notorious
conjecture, that has been circulating in combinatorial enumeration circles for the last
seven years, about the number of ways of walking, in the "Manhattan lattice"
(2D square-lattice), 2n steps, from the origin back
to the origin, using unit steps in the four fundamental directions (north, south,
east, and west), all the while staying in x+y ≥ 0, y ≥ 0.
Ira Gessel conjectured that it is given by the beautiful expression
[ 16n (5/6)n (1/2)n]/[(5/3)n (2)n] ,
where (a)n=a(a+1)...(a+n-1) .
We failed, becuase our computers ran out
of memory, even though we felt that a sufficiently large computer would yield to
our approach. But then came along the brilliant
Christoph Koutschan,
and joined the effort, and together with Manuel, was able to complete the task,
still using our ideas, but adding to them some very good ones of his own, and
this lead to the final solution.
Important: This article is accompanied by the following
Maple and Mathematica files
-
The Maple file
Guessel1
that has the annihilating operator described in the paper, and the input
to the checking procedure, bdok(n), is numeric n,
and that verifies that Gessel's expression does indeed satisfy it numerically
for n from 0 to 205.
Note that this is already a rigorous proof, since the calculation
boils down to proving that a certain polynomial of degree ≤ 205 is
identically zero. To use it, download it into a directory, and type
(in Linux)
maple -q < Guessel1
and you should get the following
output
-
The Maple file
Guessel2
that has the annihilating operator described in the paper, and the checking
procedure, bdok1(n); now takes symbolic input.
It verifies, this time symbolically,
that Gessel's expression does indeed satisfy it (for symbolic n, and hence, in particular
for all integer n).
To run it, download it into a directory, and type
maple -q < Guessel2
and you should get the following
output.
-
There is still one minor technicality. The homog. linear recurrence equation,
of order 32, may, a priori, be "singular", i.e. have positive integer roots.
In that case, we would have to check more than the first 32 initial values.
If K is the largest positive integer root of the coeff. of f(n+32) in the recurrence equation,
let's call it P0(n), then we would have to check the first max(32,32+K) initial values.
Fortunately, when Maple factors P0(n) you only get factors of the form (an+b), with
a and b positive integers, as well as other higher-degree factors. So
K=-infinity, and 32 initial values suffice. Here is the Maple file,
GuesselP0,
that factors the leading coeff. P0(n).
To run it, download it into a directory, and type
maple -q < GuesselP0
and you should get the following
output.
-
But how did we come up with this order-32, degree-172,
linear-recurrence-with-polynomial-coefficients
annihilating operator Monster?
We could have easily cheated and cooked it up by taking the minimal
operator of order 2, satisfied by the conjectured expression, and
left-multiplied it by a random monstrous order-30 operator with
gigantic coefficients, and pretented that it came out
from our non-commutative Groebner bases program.
For those
who have any suspicion, here is
Christoph Koutschan's Mathematica Notebook, that describes
all the needed steps, and that would enable the skeptic (and patient!)
reader to check all the steps.
-
Finally, the set of 16 annihilating operators that formed the basis
for the elimination described in the article is the set S
given
right here.
Doron Zeilberger's List of Papers
Doron Zeilberger's Home Page