
NTAB -- Propositional satisfiability checker

ntab expects to read a clausal wff from standard input.  There should
be one clause per line in the input.  All variables are represented by
non-zero integers.  Negation is represented by "-".

There are currently three version of the search control algorithm:

	ntab		chronological backtracking

	ntab_back	backjumping

	ntab_back2	dynamic-backtracking light (also called "relevance
			bounded learning" by Bayardo and Miranker in AAAI-96)

Command line arguments:

	-p	causes the final assignment to be printed (the default is
		just to report SAT or UNSAT).

	-vx	sets the maximum number of variables to x (the default is 1000).

	-ix	run isamp (see Crawford&Baker AAAI-94).  x is number of tries.

	-h	use the horn clause heuristic (see Crawford&Auton AAAI-93).

	-s	reports statistics every 1024 nodes.  Useful on large problems
		to see how well tableau is doing.

	-r	pick branch variables randomly.  Useful for testing
		whether tableau's heuristics are helping or just getting
		in the way.

ntab outputs the following statistics:

STATS: levels 31233 branch_points 1802 mean_height 6 max_height 16

	levels -- number of times tableau makes an assumption
		  (values a variable and unit propagates).
		  The heuristics sometimes make assumptions
		  and calculate their consequences, so this is
		  often much higher than the number of actual
		  nodes in the search tree.
	branch_points -- probably the most useful metric.
		  The number of nodes in the search tree.
	mean_height -- mean height of search tree (sort of).
	max_height  -- max height of search tree (sort of).

WARNING: Much of this is old code and none of it is ANSI standard.
Some day I hope to clean it up and comment it, but for the moment if
you do find any helpful comments consider it a lucky accident.

TODO:

1. Read DIMACS style files as well as tableau format.
3. Add flag to set the search cut off point (current disabled)
4. Add arguments to set to_keep and unlucky_lits (parameters for
branch variable selection).
5. If incorrect flags are given, print out a summary of allowed options.

NOTE: ntab is copyright 1996 James Crawford, CIRL, The University of
Oregon.  It is distributed for research purposes only.  No warranty,
etc.
