September 6 2021

Walnut 3 is now available! It contains several new and useful commands. It is available for download here. This version represents additional work done by Laindon C. Burnett to the previous versions of Walnut written by Hamoon Mousavi and updated by Aseem Raj Baranwal.

Walnut Software

Walnut is a free software program written by Hamoon Mousavi to solve problems and answer questions, posed in first-order logic, about automatic and related sequences. It can handle a wide variety of problems. There are some recent additions to Walnut, written by Aseem Baranwal.

Walnut is available at github. After you download it and install it, go to the directory Walnut/bin and type java Main.prover to get started. A manual of how to use it is available on the arxiv. There is also a text file with some examples of how to use Walnut.

Here is a video tutorial on how to use Walnut:

If you are using Walnut under the Eclipse environment, here are a few tips. Download the Walnut software. Start Eclipse up. Use the default workspace. Open "Project" from the File choices, and choose "Walnut". Next, go to src/Main in the menu choices, right-click on and choose "Run As Java Application". You should now get a window where you can enter Walnut commands. To see results, go to the Eclipse file menu, right-click on "Result" and choose "Refresh" and the results should be there. Thanks to Stepan Holub for this info.

Recently Walnut has been modified by Aseem Baranwal to handle the Pell number system, and more generally, the Ostrowski number system based on any quadratic irrational. To use this version of Walnut, visit After you download and install it, go to the directory Ostrowski/bin and type java Main.Prover to get started. (Note: for the old Walnut, you use lowercase "p" in prover; for the new version you use uppercase "P" in prover.) The command "ost name [0 1 2] [3 4]", for example, defines an Ostrowski number system for the continued fraction [0,1,2,3,4,3,4,3,4,...]. It can then be used by prefacing a query with "?msd_name" or "?lsd_name". Aseem Baranwal has prepared a brief summary of his additions to Walnut here.

If you find Walnut useful in your research, please be sure to cite Hamoon Mousavi as the author of the software, and let me know what you achieved with it.

Walnut has been used in a variety of papers. A partial list is here (will be updated):