Tips for using Split

This is a collection of simple suggestions which can save you time and/or get you better results. I'll add more suggestions later.

Use gullible mode where appropriate.

Split has two modes of execution. In normal mode, each statement is verified. In gullible mode, each statement is accepted as true, whether it is true or not. In general, gullible mode is faster than normal mode. This assertion applies both to commands which prove nonexistence results and commands which create codes. Thus if you have already verified a sequence of statements, it makes sense to insert a "set gullible;" statement before the sequence and an "unset gullible;" statement at the end of it.

Turn off auto joint list if you don't need it.

Normally, every time you issue a "type..." command, Split will go to considerable effort to create a list of all the joint variables for the given type. Although this may payoff when you do a linear programming calculation (of one or another sort), it is time consuming. Therefore for many purposes it is best to issue an "unset auto joint list;" command before doing anything.

Make warnings nonfatal.

When experimenting, issue the command "unset warnings are fatal;". Otherwise execution terminates each time a warning message is issued.

Use interactive mode (with caution).

If you execute Split with the "-i" option (as in "Split -i"), you cause it to run interactively. This may seem like the right way to experiment (and for some purposes it is), but Split was not designed to be interactive, and usually it is more efficient to use the following method: you create a file of Split commands (we'll call it woof). You execute with "Split < woof". You look at the output, edit woof accordingly (perhaps making use of gullible mode), and iterate.

Consider loading a file of known results.

The command "accept (tables only) code.data;" will load various results (mostly about nonexistence) from the file code.data. As you execute subsequent commands, much of this information will be automatically utilized. You could of course substitute an alternate file for code.data. In that case you should be aware that "accept (tables only)..." only reads type, status, n =, no, and yes commands. If you want to input an entire file (in gullible mode), leave out the "(tables only)". This is likely to be much slower.