occam-verify-cli 0.0.902 → 0.0.904

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.
Files changed (51) hide show
  1. package/lib/axiomLemmaTheoremConjecture.js +18 -34
  2. package/lib/conclusion.js +3 -3
  3. package/lib/constants.js +1 -9
  4. package/lib/metaLemmaMetatheorem.js +22 -40
  5. package/lib/rule.js +45 -83
  6. package/lib/ruleNames.js +1 -21
  7. package/lib/utilities/array.js +49 -42
  8. package/lib/utilities/verifier.js +4 -10
  9. package/lib/verifier/node/metastatement.js +31 -6
  10. package/lib/verifier/node/statementAsCombinator.js +31 -6
  11. package/lib/verifier/node/termAsConstructor.js +25 -5
  12. package/lib/verifier/nodes/equality.js +13 -3
  13. package/lib/verifier/nodes/intrinsicLevel.js +13 -3
  14. package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +13 -3
  15. package/lib/verifier/nodes/metaLevel.js +13 -3
  16. package/lib/verifier/nodes/statementAgainstCombinator.js +13 -3
  17. package/lib/verifier/nodes/termAgainstConstructor.js +13 -3
  18. package/lib/verify/containedAssertion.js +2 -2
  19. package/lib/verify/premise.js +1 -3
  20. package/lib/verify/statement/qualified.js +4 -7
  21. package/lib/verify/statement/unqualified.js +2 -5
  22. package/lib/verify/statement.js +34 -19
  23. package/lib/verify/statementAsCombinator.js +1 -2
  24. package/package.json +1 -1
  25. package/src/axiomLemmaTheoremConjecture.js +27 -47
  26. package/src/conclusion.js +2 -2
  27. package/src/constants.js +0 -2
  28. package/src/metaLemmaMetatheorem.js +33 -54
  29. package/src/rule.js +58 -101
  30. package/src/ruleNames.js +0 -5
  31. package/src/utilities/array.js +22 -42
  32. package/src/utilities/verifier.js +3 -11
  33. package/src/verifier/node/metastatement.js +46 -6
  34. package/src/verifier/node/statementAsCombinator.js +50 -10
  35. package/src/verifier/node/termAsConstructor.js +37 -6
  36. package/src/verifier/nodes/equality.js +19 -4
  37. package/src/verifier/nodes/intrinsicLevel.js +18 -3
  38. package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +18 -3
  39. package/src/verifier/nodes/metaLevel.js +19 -4
  40. package/src/verifier/nodes/statementAgainstCombinator.js +18 -3
  41. package/src/verifier/nodes/termAgainstConstructor.js +19 -4
  42. package/src/verify/containedAssertion.js +1 -1
  43. package/src/verify/premise.js +0 -2
  44. package/src/verify/statement/qualified.js +3 -7
  45. package/src/verify/statement/unqualified.js +1 -5
  46. package/src/verify/statement.js +38 -18
  47. package/src/verify/statementAsCombinator.js +0 -1
  48. package/lib/permutationsMatrix.js +0 -466136
  49. package/lib/utilities/permutations.js +0 -114
  50. package/src/permutationsMatrix.js +0 -6
  51. package/src/utilities/permutations.js +0 -148
@@ -11,6 +11,7 @@ import { verifyStandaloneMetavariable } from "../../verify/metavariable";
11
11
 
12
12
  const termNodeQuery = nodeQuery("/term!"),
13
13
  variableNodeQuery = nodeQuery("/variable!"),
14
+ nonTerminalNodeQuery = nodeQuery("/*"),
14
15
  metavariableNodeQuery = nodeQuery("/metavariable!");
15
16
 
16
17
  class MetastatementNodeVerifier extends NodeVerifier {
@@ -20,23 +21,62 @@ class MetastatementNodeVerifier extends NodeVerifier {
20
21
  const nodeQueryMaps = [
21
22
  {
22
23
  nodeQuery: termNodeQuery,
23
- verifyNode: this.verifyTermNode
24
+ verifyNode: (node, localMetaContext, verifyAhead) => {
25
+ let nonTerminalNodeVerified;
26
+
27
+ const termNode = node, ///
28
+ termNodeVerified = this.verifyTermNode(termNode, localMetaContext, verifyAhead);
29
+
30
+ nonTerminalNodeVerified = termNodeVerified; ///
31
+
32
+ return nonTerminalNodeVerified;
33
+ }
24
34
  },
25
35
  {
26
36
  nodeQuery: variableNodeQuery,
27
- verifyNode: this.verifyVariableNode
37
+ verifyNode: (node, localMetaContext, verifyAhead) => {
38
+ let nonTerminalNodeVerified;
39
+
40
+ const variableNode = node, ///
41
+ variableNodeVerified = this.verifyVariableNode(variableNode, localMetaContext, verifyAhead);
42
+
43
+ nonTerminalNodeVerified = variableNodeVerified; ///
44
+
45
+ return nonTerminalNodeVerified;
46
+ }
28
47
  },
29
48
  {
30
49
  nodeQuery: metavariableNodeQuery,
31
- verifyNode: this.verifyMetavariableNode
50
+ verifyNode: (node, localMetaContext, verifyAhead) => {
51
+ let nonTerminalNodeVerified;
52
+
53
+ const metavariableNode = node, ///
54
+ metavariableNodeVerified = this.verifyMetavariableNode(metavariableNode, localMetaContext, verifyAhead);
55
+
56
+ nonTerminalNodeVerified = metavariableNodeVerified; ///
57
+
58
+ return nonTerminalNodeVerified;
59
+ }
60
+ },
61
+ {
62
+ nodeQuery: nonTerminalNodeQuery,
63
+ verifyNode: (node, localMetaContext, verifyAhead) => {
64
+ let nonTerminalNodeVerified;
65
+
66
+ const nonTerminalNode = node; ///
67
+
68
+ nonTerminalNodeVerified =
69
+
70
+ super.verifyNonTerminalNode(nonTerminalNode, localMetaContext, verifyAhead);
71
+
72
+ return nonTerminalNodeVerified;
73
+ }
32
74
  }
33
75
  ];
34
76
 
35
77
  const nodeVerified = verifyNode(nodeQueryMaps, nonTerminalNode, localMetaContext, verifyAhead);
36
78
 
37
- nonTerminalNodeVerified = nodeVerified ?
38
- true :
39
- super.verifyNonTerminalNode(nonTerminalNode, localMetaContext, verifyAhead);
79
+ nonTerminalNodeVerified = nodeVerified; ///
40
80
 
41
81
  return nonTerminalNodeVerified;
42
82
  }
@@ -10,7 +10,8 @@ import { verifyStandaloneStatement } from "../../verify/statement";
10
10
 
11
11
  const termNodeQuery = nodeQuery("/term!"),
12
12
  typeNodeQuery = nodeQuery("/type!"),
13
- statementNodeQuery = nodeQuery("/statement!");
13
+ statementNodeQuery = nodeQuery("/statement!"),
14
+ nonTerminalNodeQuery = nodeQuery("/*");
14
15
 
15
16
  class StatementAsCombinatorNodeVerifier extends NodeVerifier {
16
17
  verifyNonTerminalNode(nonTerminalNode, localContext, verifyAhead) {
@@ -19,44 +20,83 @@ class StatementAsCombinatorNodeVerifier extends NodeVerifier {
19
20
  const nodeQueryMaps = [
20
21
  {
21
22
  nodeQuery: termNodeQuery,
22
- verifyNode: this.verifyTermNode
23
+ verifyNode: (node, localMetaContext, verifyAhead) => {
24
+ let nonTerminalNodeVerified;
25
+
26
+ const termNode = node, ///
27
+ termNodeVerified = this.verifyTermNode(termNode, localMetaContext, verifyAhead);
28
+
29
+ nonTerminalNodeVerified = termNodeVerified; ///
30
+
31
+ return nonTerminalNodeVerified;
32
+ }
23
33
  },
24
34
  {
25
35
  nodeQuery: typeNodeQuery,
26
- verifyNode: this.verifyTypeNode
36
+ verifyNode: (node, localMetaContext, verifyAhead) => {
37
+ let nonTerminalNodeVerified;
38
+
39
+ const typeNode = node, ///
40
+ typeNodeVerified = this.verifyTypeNode(typeNode, localMetaContext, verifyAhead);
41
+
42
+ nonTerminalNodeVerified = typeNodeVerified; ///
43
+
44
+ return nonTerminalNodeVerified;
45
+ }
27
46
  },
28
47
  {
29
48
  nodeQuery: statementNodeQuery,
30
- verifyNode: this.verifyStatementNode
49
+ verifyNode: (node, localMetaContext, verifyAhead) => {
50
+ let nonTerminalNodeVerified;
51
+
52
+ const statementNode = node, ///
53
+ statementNodeVerified = this.verifyStatementNode(statementNode, localMetaContext, verifyAhead);
54
+
55
+ nonTerminalNodeVerified = statementNodeVerified; ///
56
+
57
+ return nonTerminalNodeVerified;
58
+ }
59
+ },
60
+ {
61
+ nodeQuery: nonTerminalNodeQuery,
62
+ verifyNode: (node, localMetaContext, verifyAhead) => {
63
+ let nonTerminalNodeVerified;
64
+
65
+ const nonTerminalNode = node; ///
66
+
67
+ nonTerminalNodeVerified =
68
+
69
+ super.verifyNonTerminalNode(nonTerminalNode, localMetaContext, verifyAhead);
70
+
71
+ return nonTerminalNodeVerified;
72
+ }
31
73
  }
32
74
  ];
33
75
 
34
76
  const nodeVerified = verifyNode(nodeQueryMaps, nonTerminalNode, localContext, verifyAhead);
35
77
 
36
- nonTerminalNodeVerified = nodeVerified ?
37
- true :
38
- super.verifyNonTerminalNode(nonTerminalNode, localContext, verifyAhead);
78
+ nonTerminalNodeVerified = nodeVerified; ///
39
79
 
40
80
  return nonTerminalNodeVerified;
41
81
  }
42
82
 
43
83
  verifyStatementNode(statementNode, localContext, verifyAhead) {
44
84
  const standaloneStatementVerified = verifyStandaloneStatement(statementNode, localContext, verifyAhead),
45
- statementNodeVerified = standaloneStatementVerified; ///
85
+ statementNodeVerified = standaloneStatementVerified; ///
46
86
 
47
87
  return statementNodeVerified;
48
88
  }
49
89
 
50
90
  verifyTermNode(termNode, localContext, verifyAhead) {
51
91
  const standaloneTermVerified = verifyStandaloneTerm(termNode, localContext, verifyAhead),
52
- termNodeVerified = standaloneTermVerified; ///
92
+ termNodeVerified = standaloneTermVerified; ///
53
93
 
54
94
  return termNodeVerified;
55
95
  }
56
96
 
57
97
  verifyTypeNode(typeNode, localContext, verifyAhead) {
58
98
  const standaloneTypeVerified = verifyStandaloneType(typeNode, localContext, verifyAhead),
59
- typeNodeVerified = standaloneTypeVerified; ///
99
+ typeNodeVerified = standaloneTypeVerified; ///
60
100
 
61
101
  return typeNodeVerified;
62
102
  }
@@ -8,7 +8,8 @@ import { verifyStandaloneType } from "../../verify/type";
8
8
  import { verifyStandaloneTerm } from "../../verify/term";
9
9
 
10
10
  const termNodeQuery = nodeQuery("/term!"),
11
- typeNodeQuery = nodeQuery("/type!");
11
+ typeNodeQuery = nodeQuery("/type!"),
12
+ nonTerminalNodeQuery = nodeQuery("/*");
12
13
 
13
14
  class TermAsConstructorNodeVerifier extends NodeVerifier {
14
15
  verifyNonTerminalNode(nonTerminalNode, localContext, verifyAhead) {
@@ -17,19 +18,49 @@ class TermAsConstructorNodeVerifier extends NodeVerifier {
17
18
  const nodeQueryMaps = [
18
19
  {
19
20
  nodeQuery: termNodeQuery,
20
- verifyNode: this.verifyTermNode
21
+ verifyNode: (node, localMetaContext, verifyAhead) => {
22
+ let nonTerminalNodeVerified;
23
+
24
+ const termNode = node, ///
25
+ termNodeVerified = this.verifyTermNode(termNode, localMetaContext, verifyAhead);
26
+
27
+ nonTerminalNodeVerified = termNodeVerified; ///
28
+
29
+ return nonTerminalNodeVerified;
30
+ }
21
31
  },
22
32
  {
23
33
  nodeQuery: typeNodeQuery,
24
- verifyNode: this.verifyTypeNode
34
+ verifyNode: (node, localMetaContext, verifyAhead) => {
35
+ let nonTerminalNodeVerified;
36
+
37
+ const typeNode = node, ///
38
+ typeNodeVerified = this.verifyTypeNode(typeNode, localMetaContext, verifyAhead);
39
+
40
+ nonTerminalNodeVerified = typeNodeVerified; ///
41
+
42
+ return nonTerminalNodeVerified;
43
+ }
44
+ },
45
+ {
46
+ nodeQuery: nonTerminalNodeQuery,
47
+ verifyNode: (node, localMetaContext, verifyAhead) => {
48
+ let nonTerminalNodeVerified;
49
+
50
+ const nonTerminalNode = node; ///
51
+
52
+ nonTerminalNodeVerified =
53
+
54
+ super.verifyNonTerminalNode(nonTerminalNode, localMetaContext, verifyAhead);
55
+
56
+ return nonTerminalNodeVerified;
57
+ }
25
58
  }
26
59
  ];
27
60
 
28
61
  const nodeVerified = verifyNode(nodeQueryMaps, nonTerminalNode, localContext, verifyAhead);
29
62
 
30
- nonTerminalNodeVerified = nodeVerified ?
31
- true :
32
- super.verifyNonTerminalNode(nonTerminalNode, localContext, verifyAhead);
63
+ nonTerminalNodeVerified = nodeVerified; ///
33
64
 
34
65
  return nonTerminalNodeVerified;
35
66
  }
@@ -6,7 +6,8 @@ import verifyTermAgainstTerm from "../../verify/termAgainstTerm";
6
6
  import { nodeQuery } from "../../utilities/query";
7
7
  import { verifyNodes } from "../../utilities/verifier";
8
8
 
9
- const termNodeQuery = nodeQuery("/term!");
9
+ const termNodeQuery = nodeQuery("/term!"),
10
+ nonTerminalNodeQuery = nodeQuery("/*");
10
11
 
11
12
  class EqualityNodesVerifier extends NodesVerifier {
12
13
  verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead) {
@@ -27,6 +28,22 @@ class EqualityNodesVerifier extends NodesVerifier {
27
28
 
28
29
  nonTerminalNodeVerified = termNodeVerifiedAgainstTermNode; ///
29
30
 
31
+ return nonTerminalNodeVerified;
32
+ }
33
+ },
34
+ {
35
+ nodeQueryA: nonTerminalNodeQuery,
36
+ nodeQueryB: nonTerminalNodeQuery,
37
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
38
+ let nonTerminalNodeVerified;
39
+
40
+ const nonTerminalNodeA = nodeA, ///
41
+ nonTerminalNodeB = nodeB; ///
42
+
43
+ nonTerminalNodeVerified =
44
+
45
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
46
+
30
47
  return nonTerminalNodeVerified;
31
48
  }
32
49
  }
@@ -34,9 +51,7 @@ class EqualityNodesVerifier extends NodesVerifier {
34
51
 
35
52
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
36
53
 
37
- nonTerminalNodeVerified = nodesVerified ?
38
- true :
39
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
54
+ nonTerminalNodeVerified = nodesVerified; ///
40
55
 
41
56
  return nonTerminalNodeVerified;
42
57
  }
@@ -7,6 +7,7 @@ import { nodeQuery } from "../../utilities/query";
7
7
  import { verifyNodes } from "../../utilities/verifier";
8
8
 
9
9
  const termNodeQuery = nodeQuery("/term!"),
10
+ nonTerminalNodeQuery = nodeQuery("/*"),
10
11
  termVariableNodeQuery = nodeQuery("/term/variable!");
11
12
 
12
13
  class IntrinsicLevelNodesVerifier extends NodesVerifier {
@@ -28,6 +29,22 @@ class IntrinsicLevelNodesVerifier extends NodesVerifier {
28
29
 
29
30
  nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
30
31
 
32
+ return nonTerminalNodeVerified;
33
+ }
34
+ },
35
+ {
36
+ nodeQueryA: nonTerminalNodeQuery,
37
+ nodeQueryB: nonTerminalNodeQuery,
38
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
39
+ let nonTerminalNodeVerified;
40
+
41
+ const nonTerminalNodeA = nodeA, ///
42
+ nonTerminalNodeB = nodeB; ///
43
+
44
+ nonTerminalNodeVerified =
45
+
46
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
47
+
31
48
  return nonTerminalNodeVerified;
32
49
  }
33
50
  }
@@ -35,9 +52,7 @@ class IntrinsicLevelNodesVerifier extends NodesVerifier {
35
52
 
36
53
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
37
54
 
38
- nonTerminalNodeVerified = nodesVerified ?
39
- true :
40
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
55
+ nonTerminalNodeVerified = nodesVerified; ///
41
56
 
42
57
  return nonTerminalNodeVerified;
43
58
  }
@@ -10,6 +10,7 @@ import { verifyNodes } from "../../utilities/verifier";
10
10
 
11
11
  const termNodeQuery = nodeQuery("/term!"),
12
12
  statementNodeQuery = nodeQuery("/statement!"),
13
+ nonTerminalNodeQuery = nodeQuery("/*"),
13
14
  termVariableNodeQuery = nodeQuery("/term/variable!"),
14
15
  metastatementNodeQuery = nodeQuery("/metastatement!"),
15
16
  metaArgumentStatementNodeQuery = nodeQuery("/metaArgument/statement!"),
@@ -88,6 +89,22 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
88
89
 
89
90
  nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
90
91
 
92
+ return nonTerminalNodeVerified;
93
+ }
94
+ },
95
+ {
96
+ nodeQueryA: nonTerminalNodeQuery,
97
+ nodeQueryB: nonTerminalNodeQuery,
98
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
99
+ let nonTerminalNodeVerified;
100
+
101
+ const nonTerminalNodeA = nodeA, ///
102
+ nonTerminalNodeB = nodeB; ///
103
+
104
+ nonTerminalNodeVerified =
105
+
106
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
107
+
91
108
  return nonTerminalNodeVerified;
92
109
  }
93
110
  }
@@ -95,9 +112,7 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
95
112
 
96
113
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
97
114
 
98
- nonTerminalNodeVerified = nodesVerified ?
99
- true :
100
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
115
+ nonTerminalNodeVerified = nodesVerified; ///
101
116
 
102
117
  return nonTerminalNodeVerified;
103
118
  }
@@ -6,7 +6,8 @@ import verifyMetavariableAgainstMetastatement from "../../verify/metavariableAga
6
6
  import { nodeQuery } from "../../utilities/query";
7
7
  import { verifyNodes } from "../../utilities/verifier";
8
8
 
9
- const metastatementNodeQuery = nodeQuery("/metastatement!"),
9
+ const nonTerminalNodeQuery = nodeQuery("/*"),
10
+ metastatementNodeQuery = nodeQuery("/metastatement!"),
10
11
  metastatementMetavariableNodeQuery = nodeQuery("/metastatement/metavariable!");
11
12
 
12
13
  class MetaLevelNodesVerifier extends NodesVerifier {
@@ -28,6 +29,22 @@ class MetaLevelNodesVerifier extends NodesVerifier {
28
29
 
29
30
  nonTerminalNodeVerified = metastatementMetavariableNodeVerifiedAgainstMetastatementNode; ///
30
31
 
32
+ return nonTerminalNodeVerified;
33
+ }
34
+ },
35
+ {
36
+ nodeQueryA: nonTerminalNodeQuery,
37
+ nodeQueryB: nonTerminalNodeQuery,
38
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
39
+ let nonTerminalNodeVerified;
40
+
41
+ const nonTerminalNodeA = nodeA, ///
42
+ nonTerminalNodeB = nodeB; ///
43
+
44
+ nonTerminalNodeVerified =
45
+
46
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
47
+
31
48
  return nonTerminalNodeVerified;
32
49
  }
33
50
  }
@@ -35,9 +52,7 @@ class MetaLevelNodesVerifier extends NodesVerifier {
35
52
 
36
53
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
37
54
 
38
- nonTerminalNodeVerified = nodesVerified ?
39
- true :
40
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
55
+ nonTerminalNodeVerified = nodesVerified; ///
41
56
 
42
57
  return nonTerminalNodeVerified;
43
58
  }
@@ -8,6 +8,7 @@ import { nodeQuery } from "../../utilities/query";
8
8
  import { verifyNodes } from "../../utilities/verifier";
9
9
 
10
10
  const argumentNodeQuery = nodeQuery("/argument!"),
11
+ nonTerminalNodeQuery = nodeQuery("/*"),
11
12
  metaArgumentMetaTypeNodeQuery = nodeQuery("/metaArgument/metaType!"),
12
13
  metaArgumentStatementNodeQuery = nodeQuery("/metaArgument/statement!");
13
14
 
@@ -47,6 +48,22 @@ class StatementAgainstCombinatorNodesVerifier extends NodesVerifier {
47
48
 
48
49
  nonTerminalNodeVerified = argumentNodeVerifiedAgainstArgumentNode; ///
49
50
 
51
+ return nonTerminalNodeVerified;
52
+ }
53
+ },
54
+ {
55
+ nodeQueryA: nonTerminalNodeQuery,
56
+ nodeQueryB: nonTerminalNodeQuery,
57
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
58
+ let nonTerminalNodeVerified;
59
+
60
+ const nonTerminalNodeA = nodeA, ///
61
+ nonTerminalNodeB = nodeB; ///
62
+
63
+ nonTerminalNodeVerified =
64
+
65
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
66
+
50
67
  return nonTerminalNodeVerified;
51
68
  }
52
69
  }
@@ -54,9 +71,7 @@ class StatementAgainstCombinatorNodesVerifier extends NodesVerifier {
54
71
 
55
72
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
56
73
 
57
- nonTerminalNodeVerified = nodesVerified ?
58
- true :
59
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
74
+ nonTerminalNodeVerified = nodesVerified; ///
60
75
 
61
76
  return nonTerminalNodeVerified;
62
77
  }
@@ -7,7 +7,8 @@ import { nodeQuery } from "../../utilities/query";
7
7
  import { verifyNodes } from "../../utilities/verifier";
8
8
 
9
9
  const termNodeQuery = nodeQuery("/argument/term!"),
10
- typeNodeQuery = nodeQuery("/argument/type!");
10
+ typeNodeQuery = nodeQuery("/argument/type!"),
11
+ nonTerminalNodeQuery = nodeQuery("/*");
11
12
 
12
13
  class TermAgainstConstructorNodesVerifier extends NodesVerifier {
13
14
  verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead) {
@@ -28,6 +29,22 @@ class TermAgainstConstructorNodesVerifier extends NodesVerifier {
28
29
 
29
30
  nonTerminalNodeVerified = termNodeVerifiedAgainstTypeNode; ///
30
31
 
32
+ return nonTerminalNodeVerified;
33
+ }
34
+ },
35
+ {
36
+ nodeQueryA: nonTerminalNodeQuery,
37
+ nodeQueryB: nonTerminalNodeQuery,
38
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
39
+ let nonTerminalNodeVerified;
40
+
41
+ const nonTerminalNodeA = nodeA, ///
42
+ nonTerminalNodeB = nodeB; ///
43
+
44
+ nonTerminalNodeVerified =
45
+
46
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
47
+
31
48
  return nonTerminalNodeVerified;
32
49
  }
33
50
  }
@@ -35,9 +52,7 @@ class TermAgainstConstructorNodesVerifier extends NodesVerifier {
35
52
 
36
53
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
37
54
 
38
- nonTerminalNodeVerified = nodesVerified ?
39
- true :
40
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
55
+ nonTerminalNodeVerified = nodesVerified; ///
41
56
 
42
57
  return nonTerminalNodeVerified;
43
58
  }
@@ -4,7 +4,7 @@ import { isAssertionNegated } from "../utilities/verify";
4
4
  import { nodeQuery, nodesQuery } from "../utilities/query";
5
5
 
6
6
  const variableNodeQuery = nodeQuery("/containedAssertion/term/variable!"),
7
- metastatementVariableNodesQuery = nodesQuery("/containedAssertion/metastatement//variable");
7
+ metastatementVariableNodesQuery = nodesQuery("/containedAssertion/statement//variable");
8
8
 
9
9
  export default function verifyContainedAssertion(containedAssertionNode) {
10
10
  let containedAssertionVerified = false;
@@ -29,8 +29,6 @@ export default function verifyPremise(premiseNode, premises, localMetaContext) {
29
29
 
30
30
  premiseVerified = assignmentAssigned; ///
31
31
  }
32
- } else {
33
- debugger
34
32
  }
35
33
 
36
34
  if (premiseVerified) {
@@ -33,11 +33,7 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
33
33
  if (qualifiedStatementVerified) {
34
34
  const derived = false,
35
35
  statementNode = statementNodeQuery(qualifiedStatementNode),
36
- statementVerified = verifyStatement(statementNode, assignments, derived, localContext, () => {
37
- const verifiedAhead = true;
38
-
39
- return verifiedAhead;
40
- });
36
+ statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
41
37
 
42
38
  qualifiedStatementVerified = statementVerified; ///
43
39
  }
@@ -169,7 +165,7 @@ function verifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, meta
169
165
  return qualifiedStatementVerifiedAgainstConjecture;
170
166
  }
171
167
 
172
- function verifyStatement(statementNode, assignments, derived, localContext, verifyAhead) {
168
+ function verifyStatement(statementNode, assignments, derived, localContext) {
173
169
  let statementVerified;
174
170
 
175
171
  const statementString = localContext.nodeAsString(statementNode);
@@ -182,7 +178,7 @@ function verifyStatement(statementNode, assignments, derived, localContext, veri
182
178
  ];
183
179
 
184
180
  verifyStatementFunctions.some((verifyStatementFunction) => {
185
- const statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext, verifyAhead);
181
+ const statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
186
182
 
187
183
  if (statementVerified) {
188
184
  return true;
@@ -21,11 +21,7 @@ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, ass
21
21
  }
22
22
 
23
23
  if (!unqualifiedStatementVerified) {
24
- const statementVerified = verifyStatement(statementNode, assignments, derived, localContext, () => {
25
- const verifiedAhead = true;
26
-
27
- return verifiedAhead;
28
- });
24
+ const statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
29
25
 
30
26
  unqualifiedStatementVerified = statementVerified; ///
31
27
  }