SNARK is an automated theorem-proving program being developed in Common
Lisp. Its principal inference rules are resolution and paramodulation.
SNARK's style of theorem proving is similar to Otter's.
Some distinctive features of SNARK are its support for special
unification algorithms, sorts, answer
construction for program synthesis, procedural attachment,
and extensibility by Lisp code.
SNARK has been used as the reasoning component of SRI's
High Performance Knowledge Base (HPKB) system, which
deduces answers to questions based on large repositories of information,
and as the deductive core of NASA's
Amphion
system, which composes software from components to meet users' specifications,
e.g., to perform computations in planetary astronomy.
SNARK has also been connected to Kestrel's SPECWARE environment for software development.
SNARK, another reasoning system with the same name by Jean-Louis Laurière in 1985,
is described in J.-L. Laurière and M. Vialatte,
SNARK: A Language to Represent Declarative Knowledge and an Inference Engine which Uses Heuristics,
Proceedings of the IFIP Congress, 1986, 811-816.