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.