Source Code for twoocon 0.9, Twootie2, & Bertie3

Professor Austen Clark
Department of Philosophy
University of Connecticut
Storrs, CT 06269-2054
email: austen.clark <at> uconn.edu
(Spelled out to discourage machine harvesting.)


Revised so that the most recent stuff is first. The advantages of moving to Linux have begun to accrue.
Twootie 2 has a full inference engine for predicate logic, which it can use to generate answers to arbitrary problems, as well as to generate hints. twoocon 0.9 begins to demonstrate what this inference engine can do with the memory available on machines these days. Bertie3 is still unique among proof checkers in its use of "templates", which can be generated by mentioning a rule name, edited, and filled in from the bottom up, as details emerge. These encourage good strategy in proof construction.
twoocon 0.9, Twootie 2, and Bertie3 are copyright (c) by Austen Clark 2004, 2005, 1991, and licensed and distributed under the provisions of the GNU General Public License (GPL). Before downloading any code, please read that license. Any person or persons or entity or entities who distributes a program based on the source code posted here should understand that such distribution will also fall under the terms of the GNU GPL.
A full discussion can be found at http://www.gnu.org/copyleft and http://www.gnu.org/philosophy.

Twoocon 0.9: A console version of the parser and inference engine of Twootie 2.

The first fruit of freeing the source code of Twootie. Twoocon version 0.9 implements the core functions of Twootie 2, including the full inference engine for predicate logic with identity, which it can use to solve arbitrary problems. The source code will compile and run in either Windows or Linux. The current version is however just a "console" (or command-line) program, aimed at optimizing the computations for big trees, and making it easy to display internals of the data structures. It will be of interest primarily to programmers, instructors, and advanced students. The license agreement is the same as for the other two programs.

Source code for a non running CLX implementation of Twootie: twootclx.zip

Unlike the "as is" code for Twootie, the code provided here will compile successfully in a current (2002) Windows development environment: Borland's Delphi 6, whose language is a superset of Turbo Pascal. Calls to the windows, menu, and help system are here re-directed to "stubs" which contain no code. So the program won't do anything (its inference engine is cut off from the external world) but it does compile successfully.
This package can help programmers understand the full structure of Twootie 2, and it has code not found in twoocon that may be useful for a final version (specifically, the tree drawing algorithms--see the twoocon readme). "CLX" means "Component Library, cross-platform". Borland has developed a Linux version of Delphi called "Kylix", now in version 3. Kylix supports the CLX library. If the menus, commands, and help system are implemented using only the objects found in CLX, the code should port relatively easily from Kylix to Windows (or vice-versa). In August 2001 Borland released the source code for the Linux version of the CLX library. It is distributed under terms of the GNU General Public License, just like Twootie. Finally, Borland now provides an "Open edition" of Kylix version 3, first released in October 2001. It can be downloaded for free from their website. The code also compiles successfully in Kylix.

Documentation and user manuals for Twootie: twootdoc.zip

The on-line help system largely duplicates the manual that was printed and distributed by Random House with the 2nd edition of The Logic Book. The Microsoft Word document files used to create that manual are included in this package, along with others that might be useful in porting the help system. (Warning: The documents were originally created in DOS, and are here provided in "Windows" formats. The conversion did not successfully translate all the logic symbols.)

Source code for the DOS version of Twootie 2: twootpas.zip

Both Bertie3 and Twootie were originally developed in Turbo Pascal for DOS, version 5.5. To implement the windows, menu system, and on-line help in the programs I used a proprietary library of routines called Turbopower Professional 5.0, developed and copyright by Turbopower Software, a great company that closed in January 2003. Some of the Turbopower software was released under the GNU GPL, but (as far as I can tell) not Turbopower Professional. It may still be available for purchase elsewhere. If you purchase a copy the code provided in this distribution package will enable you to compile and run an executable version of Bertie3.  It will not compile or run without that library present.

Source code for Bertie3: bertpas.zip

The windows, menus, and help system in Twootie were implemented almost exactly as in Bertie3, so the same caveats about the "as-is" code for Bertie3 apply here too.  (But note an implication:  whatever code is develop to port one of the programs will work almost identically for the other one too.)

Documentation and user manuals for Bertie3: bertdoc.zip

See the notes on documents provided for Twootie 2; the same applies here.

Revised October 2005. Other links:

The Bertie/Twootie homepage.

The self-paced logic project.

Austen Clark's homepage.

The Philosophy Department homepage.