eyemind 0.1.34 → 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SPEC.md +60 -26
- package/package.json +1 -1
- package/src/version.js +1 -1
package/SPEC.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
```text
|
|
4
4
|
Title: The eyemind Rule Language and Proof Format
|
|
5
|
-
Version: eyemind 0.1.
|
|
5
|
+
Version: eyemind 0.1.36
|
|
6
6
|
Status: Informational
|
|
7
7
|
Author: Jos De Roo, KNoWS office of IDLab, Ghent University - imec
|
|
8
8
|
Repository: https://github.com/eyereasoner/eyemind
|
|
@@ -22,36 +22,70 @@ command line.
|
|
|
22
22
|
## Status of This Memo
|
|
23
23
|
|
|
24
24
|
This document is not an Internet Standards Track specification. It describes
|
|
25
|
-
the language and formats as implemented by eyemind 0.1.
|
|
25
|
+
the language and formats as implemented by eyemind 0.1.36, for readers who want
|
|
26
26
|
to write programs, produce or consume proofs and reports, or implement a
|
|
27
27
|
compatible reasoner or checker. Where this document and the implementation
|
|
28
28
|
disagree, that is a defect in one of them.
|
|
29
29
|
|
|
30
30
|
## Table of Contents
|
|
31
31
|
|
|
32
|
-
1.
|
|
33
|
-
2.
|
|
34
|
-
3.
|
|
35
|
-
4.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
32
|
+
- [1. Introduction](#1-introduction)
|
|
33
|
+
- [2. Conventions and Terminology](#2-conventions-and-terminology)
|
|
34
|
+
- [3. Terms](#3-terms)
|
|
35
|
+
- [4. Programs](#4-programs)
|
|
36
|
+
- [4.1 Program scripts](#41-program-scripts)
|
|
37
|
+
- [4.2 Statements](#42-statements)
|
|
38
|
+
- [4.3 Names a program does not define](#43-names-a-program-does-not-define)
|
|
39
|
+
- [4.4 Terms in a program](#44-terms-in-a-program)
|
|
40
|
+
- [4.5 Stratification](#45-stratification)
|
|
41
|
+
- [4.6 Inline rule templates](#46-inline-rule-templates)
|
|
42
|
+
- [4.7 Source rule inspection](#47-source-rule-inspection)
|
|
43
|
+
- [5. Goals, Controls and Primitives](#5-goals-controls-and-primitives)
|
|
44
|
+
- [5.1 Controls](#51-controls)
|
|
45
|
+
- [5.2 Primitives](#52-primitives)
|
|
46
|
+
- [6. Arithmetic](#6-arithmetic)
|
|
47
|
+
- [7. Reasoning](#7-reasoning)
|
|
48
|
+
- [7.1 Search](#71-search)
|
|
49
|
+
- [7.2 Forward reasoning](#72-forward-reasoning)
|
|
50
|
+
- [7.3 Bounds](#73-bounds)
|
|
51
|
+
- [7.4 Goals](#74-goals)
|
|
52
|
+
- [7.5 Halting](#75-halting)
|
|
53
|
+
- [7.6 Conclusions](#76-conclusions)
|
|
54
|
+
- [7.7 Proof recording](#77-proof-recording)
|
|
55
|
+
- [8. Canonical Text](#8-canonical-text)
|
|
56
|
+
- [8.1 Atoms, numbers, variables and lists](#81-atoms-numbers-variables-and-lists)
|
|
57
|
+
- [8.2 Compounds](#82-compounds)
|
|
58
|
+
- [8.3 Variables in written documents](#83-variables-in-written-documents)
|
|
59
|
+
- [9. Reading Documents](#9-reading-documents)
|
|
60
|
+
- [10. Proof Documents](#10-proof-documents)
|
|
61
|
+
- [10.1 Structure](#101-structure)
|
|
62
|
+
- [10.2 Clause displays](#102-clause-displays)
|
|
63
|
+
- [10.3 Steps](#103-steps)
|
|
64
|
+
- [11. Proof Checking](#11-proof-checking)
|
|
65
|
+
- [11.1 Reading the document](#111-reading-the-document)
|
|
66
|
+
- [11.2 C1 Resolution](#112-c1-resolution)
|
|
67
|
+
- [11.3 C2 Well-foundedness](#113-c2-well-foundedness)
|
|
68
|
+
- [11.4 C3 Justification](#114-c3-justification)
|
|
69
|
+
- [11.5 C4 Coverage](#115-c4-coverage)
|
|
70
|
+
- [11.6 C5 Re-decision](#116-c5-re-decision)
|
|
71
|
+
- [11.7 C6 Boundary consistency](#117-c6-boundary-consistency)
|
|
72
|
+
- [11.8 C7 Relevance](#118-c7-relevance)
|
|
73
|
+
- [11.9 C8 Witness integrity](#119-c8-witness-integrity)
|
|
74
|
+
- [11.10 Counts and validity](#1110-counts-and-validity)
|
|
75
|
+
- [11.11 What a valid proof establishes](#1111-what-a-valid-proof-establishes)
|
|
76
|
+
- [12. Check Reports](#12-check-reports)
|
|
77
|
+
- [13. Unused Clauses](#13-unused-clauses)
|
|
78
|
+
- [14. Command Line](#14-command-line)
|
|
79
|
+
- [15. Security Considerations](#15-security-considerations)
|
|
80
|
+
- [16. Conformance](#16-conformance)
|
|
81
|
+
- [17. Semantics](#17-semantics)
|
|
82
|
+
- [17.1 Herbrand interpretation](#171-herbrand-interpretation)
|
|
83
|
+
- [17.2 Variables and witnesses](#172-variables-and-witnesses)
|
|
84
|
+
- [17.3 Positive least model](#173-positive-least-model)
|
|
85
|
+
- [17.4 Negation and collection](#174-negation-and-collection)
|
|
86
|
+
- [17.5 Sets, solutions and operational behavior](#175-sets-solutions-and-operational-behavior)
|
|
87
|
+
- [17.6 Termination and proofs](#176-termination-and-proofs)
|
|
88
|
+
|
|
55
89
|
- [Appendix A. Document Grammar](#appendix-a-document-grammar)
|
|
56
90
|
- [Appendix B. Example](#appendix-b-example)
|
|
57
91
|
|
|
@@ -1063,7 +1097,7 @@ and checks every proof
|
|
|
1063
1097
|
it produces as Section 11 describes. A conforming **checker** implements
|
|
1064
1098
|
Sections 9, 11 and 12 and does not depend on a reasoner. For the same
|
|
1065
1099
|
program, a conforming reasoner and checker MUST produce the same
|
|
1066
|
-
conclusions, proof documents and reports as eyemind 0.1.
|
|
1100
|
+
conclusions, proof documents and reports as eyemind 0.1.36, byte for byte,
|
|
1067
1101
|
except for comments and the `Detail` texts of failures (Section 12), the internal names of
|
|
1068
1102
|
variables where Section 3 says so, and where the host's floating-point
|
|
1069
1103
|
library functions (`exp`, `log`, the trigonometric and hyperbolic functions,
|
package/package.json
CHANGED
package/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// The release this checkout is; ./release keeps it in step with package.json.
|
|
2
|
-
export const VERSION = '0.1.
|
|
2
|
+
export const VERSION = '0.1.36';
|