snark
2016-04-21
The Snark Theorem Prover
Upstream URL
Author
Mark E. Stickel, SRI International
License
MPL 1.1, see file LICENSE
=====
SNARK
=====
SNARK, SRI's New Automated Reasoning Kit, is a theorem prover intended for
applications in artificial intelligence and software engineering. SNARK is
geared toward dealing with large sets of assertions; it can be specialized
with strategic controls that tune its performance; and it has facilities
for integrating special-purpose reasoning procedures with general-purpose
inference.
--------
Overview
--------
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.
Selected Publications
Stickel, M., R. Waldinger, M. Lowry, T. Pressburger, and I. Underwood.
Deductive composition of astronomical software from subroutine libraries.
Proceedings of the Twelfth International Conference on Automated Deduction
(CADE-12), Nancy, France, June 1994, 341-355.
---------------------
Links & Documentation
---------------------
SNARK tutorial ... http://www.ai.sri.com/snark/tutorial/tutorial.html
SNARK paper ...... http://www.sri.com/work/publications/guide-snark
SNARK home ....... http://www.ai.sri.com/~stickel/snark.html
SNARK author ..... https://en.wikipedia.org/wiki/Mark_E._Stickel
----------------
Obtaining SNARK:
----------------
New (18-MAR-2016): get it by QuickLisp
(ql:quickload :snark)
Or:
SNARK can be downloaded from the SNARK web page
http://www.ai.sri.com/~stickel/snark.html
See INSTALL file for installation instructions
Running SNARK:
lisp
(load "snark-system.lisp")
(make-snark-system)
:
Examples:
(overbeek-test) in overbeek-test.lisp
some standard theorem-proving examples, some time-consuming
(steamroller-example) in steamroller-example.lisp
illustrates sorts
(front-last-example) in front-last-example.lisp
illustrates program synthesis
(reverse-example) in reverse-example.lisp
illustrates logic programming style usage
A guide to SNARK has been written:
http://www.ai.sri.com/snark/tutorial/tutorial.html
but has not been updated yet to reflect changes in SNARK,
especially for temporal and spatial reasoning.
-----
NOTES
-----
This repository is based on the latest version 20120808-r022 from the
download site and the '.asd' files from https://github.com/hoelzl/Snark.
The goal is to get SNARK installable by QuickLisp.
Loadable by quicklisp since: 18-MAR-2016
* (ql:system-apropos :snark)
#<SYSTEM snark / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-agenda / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-auxiliary-packages / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-deque / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-dpll / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-examples / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-feature / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-implementation / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-infix-reader / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-lisp / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-loads / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-numbering / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-pkg / snark-20160318-git / quicklisp 2016-03-18>
#<SYSTEM snark-sparse-array / snark-20160318-git / quicklisp 2016-03-18>
*