-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
128 lines (90 loc) · 4.16 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
*** Update 20-FEB-2025
Replaced some SRI links (not available anymore) by adding [docs] folder locally.
More info: http://nilqed.github.io/SNARK/
(ql:quickload :snark)
=====
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 ... https://nilqed.github.io/SNARK/tutorial/tutorial.html
SNARK paper ...... https://nilqed.github.io/SNARK/snark.pdf
SNARK home ....... https://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 (~10m)
(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:
https://nilqed.github.io/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>
*