eyemind 0.1.36 → 0.1.37

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eyemind",
3
- "version": "0.1.36",
3
+ "version": "0.1.37",
4
4
  "description": "A dependency-free JavaScript rule language with forward and backward reasoning and checkable proofs.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
package/src/engine.js CHANGED
@@ -611,7 +611,7 @@ export class Solver {
611
611
  // For a rule semi-naive search can take, the key of each body goal answered
612
612
  // by facts alone, or null for a primitive or a negation or collection; null
613
613
  // for other rules. Negations and collections consult lower strata only
614
- // (Section 4.5), so they do not change within one.
614
+ // (Section 6.1), so they do not change within one.
615
615
  directKeys(clause) {
616
616
  if (this.direct.has(clause.id)) return this.direct.get(clause.id);
617
617
  let keys = [];
@@ -887,7 +887,7 @@ export function run(program, { goal = null, goals = null, proof = false, maxDept
887
887
  }
888
888
 
889
889
  // The comment that opens a run's output and proof: what its conclusions are
890
- // (SPEC Section 7.6), and that there are none when there are none.
890
+ // (SPEC Section 8.6), and that there are none when there are none.
891
891
  function conclusionsHeading(kind, count) {
892
892
  if (kind === 'halted') return "// Halted: a contradiction() holds; the facts derived until then, ending with 'false'.";
893
893
  if (kind === 'goals') {
package/src/program.js CHANGED
@@ -31,7 +31,7 @@ export class Clause {
31
31
  }
32
32
 
33
33
  // The names of the variables only the conclusion mentions: a forward rule
34
- // gives each a Skolem witness per firing (SPEC Section 7.2).
34
+ // gives each a Skolem witness per firing (SPEC Section 8.2).
35
35
  get witnessNames() {
36
36
  if (this.witnessed === null) {
37
37
  const inBody = new Set();
package/src/proof.js CHANGED
@@ -494,7 +494,7 @@ function checkResolution(program, step, fail, tally) {
494
494
  // Skolem term of this firing, skolem(Rule, Variable, Arguments), where
495
495
  // Arguments are the ground values of the conclusions' other variables, in
496
496
  // order of first occurrence, leaving out those that hold a witness of this
497
- // firing: the term the reasoner makes (Section 7.2). Returns null when the
497
+ // firing: the term the reasoner makes (Section 8.2). Returns null when the
498
498
  // rule has no witnesses, else whether they all hold; head is the rule's
499
499
  // renamed conclusions and names maps its variables to their renamed ones.
500
500
  function checkWitnesses(clause, head, names, env) {
package/src/reader.js CHANGED
@@ -12,7 +12,7 @@ import { CHAINED, RESERVED_WORDS, decodeName } from './writer.js';
12
12
  const JS_VALUES = new Set(['undefined', 'NaN', 'Infinity']);
13
13
 
14
14
  // The name of the variable an identifier writes: names starting VAR_ are
15
- // encoded (Section 8.1).
15
+ // encoded (Section 9.2).
16
16
  function variableName(text, line) {
17
17
  if (!text.startsWith('VAR_')) return text;
18
18
  const name = decodeName(text);
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.36';
2
+ export const VERSION = '0.1.37';