This is the homepage for the Wim DRP Reading Group titled, "Creative telescoping and automated proof of combinatorial identities."
Rougly speaking, we will use this group to read the first 6 chapters of "A=B," by Petkovsek, Wilf, and Zeilberger. First published in the late 1990s, this book is a gentle but comprehensive introduction to the theory of creative telescoping for automatic proof of hypergeometric identities, written by the founders of the field. The focus is on introducing the key concepts and algorithms, as well as providing numerous detailed examples, inclduing those with a software focus. If time, we will supplement our study with various adjacent topics in computer algebra.
The buzzword for the course is Creative Telescoping. This is a very fun topic, relevant to many people working in combinatorics, special function theory, and the general sciences. It turns out it is beneficial to have provably correct, efficient algorithms for manipulating and evaluating exact representations of sums and integrals. While not universal, such algorithms allow us to "do" many integrals and sums --i.e. find relatively nice closed-form expressions for large classes of functions or sequences. Having such tools is especially useful in the age of generative AI, where large language models can now reliably give answers to simple instances of such problems, but with a very nonzero chance of providing an incorrect answers.
I anticipate this to be a difficult course. We have quite a bit of ground to cover, and most of the topics will be new to you. Our meetings will consist of reviewing topics from the previous week, answering questions, and going over problem solutions… so it will be up to you to actually learn the material on your own. This comes from reading the assigned textbook chapters and doing the assigned exercises. Please do them. If you are struggling in the course or cannot finish the problems, please reach out to me privately and we can find a way to get you up to speed. If the pace is found to be too fast for everyone, we will adjust the schedule accordingly.
…But as with all such things, you get out what you put in. These topics are useful and interesting, and I hope that any tedium will be negated by the presence of these aspects.
When I first learned about these topics as an early undergrad, it changed my life. I hope to be able to impart at least an epsilon of the curiosity and joy that I experienced learning about these things in the coming term, and to possibly inspire some of you to continue studying creative telescoping in the future. :)
Some exercises in the course will involve running implemented versions of the algorithms in the book on examples, or perhaps writing your own code. Thus you will need to download and install a Computer Algebra System. A=B presents code for either Mathematica or Maple, which you are free to use if you have licenses. A free and open source alternative is SageMath, a Python-based CAS with a comprehensive featureset and library of matheamtical functions. Follow the install guide at the linked webpage for your operating system. We do not need to do the developer install; a normal installation will do.
We may also need the OreAlgebras addon for Sage, which has many useful methods for creative telescoping. See the linked webpage for installation instructions.
It is important to become familiar and dextrous with these tools early, as this leads to better understanding of the underlying examples and concepts– plus they may prove useful future courses and your careers.
We will begin meeting the first week of the Winter 2026.
Place: DC 2306, Algorithms & Complexity lab. All meetings will be in person, unless indicated otherwise.
Time: TBD. Meeting times will be decided by When2Meet poll.
Here is a tentative schedule for the course. It is open to change, based on how we’re doing or what you would like to see more of:
| Week | Dates | Readings | Problems | Description |
|---|---|---|---|---|
| 1 | Jan 05-Jan11 | A=B, Ch. 1-1-1.6 (1.7-1.8 optional) | Install CAS; experiment | Introduction |
| 2 | Jan 12-Jan 18 | A=B, 2.1-2.3, 2.5-2.6 | 2.1, 2.2, 2.4 | Tightening the target |
| 3 | Jan 19-Jan 25 | A=B, 3.1-3.7 | 3.1, 3.3 | Hypergeometric Functions, methods & lookup tables |
| 4 | Jan 26-Feb 01 | A=B, 4.1-4.3 | 4.3 | Sister Celine’s Method, intro and examples |
| 5 | Feb 02-Feb 08 | A=B, 4.4-4.5, 5.1-5.2 | 4.1-4.2, 5.1abcd, 5.2abcd | Sister Celine’s method, theory; Gosper’s Algorithm, intro and examples |
| 6 | Feb 09-Feb 15 | A=B, 5.3-5.6 | 5.3abc, 5.4, 5.6 | Gosper’s Algorithm, theory |
| 7 | Feb 16-Feb 22 | Reading week / catch-up | ||
| 8 | Feb 23-Mar 01 | A=B, 6.1-6.5 | 6.1ab, 6.2, 6.5 | Zeilberger’s Algorithm, all |
| 9-13 | Mar 02 - TBD | TBD | TBD | TBD |
Possible further topics, after Week 8:
Our typical meeting format will be as follows. This is subject to change over the term, depending on pace and what students want.
We will have a discord server for the reading course, where we will do most of our communication. Invites to this server will be sent out as needed. Please email John Hunn Smith if you’d like an invite.
John Hunn Smith: j47smith (at) uwaterloo (dot) ca