occam-verify-cli 0.0.524 → 0.0.526

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 (79) hide show
  1. package/lib/axiomLemmaTheorem.js +5 -5
  2. package/lib/combinator.js +5 -5
  3. package/lib/conclusion.js +3 -3
  4. package/lib/consequence.js +3 -3
  5. package/lib/constructor.js +6 -6
  6. package/lib/context/file.js +24 -8
  7. package/lib/context/metaproof.js +13 -1
  8. package/lib/context/proof.js +13 -1
  9. package/lib/equality.js +130 -7
  10. package/lib/label.js +5 -5
  11. package/lib/premise.js +3 -3
  12. package/lib/rule.js +5 -5
  13. package/lib/supposition.js +3 -3
  14. package/lib/type.js +5 -5
  15. package/lib/utilities/string.js +15 -10
  16. package/lib/variable.js +2 -2
  17. package/lib/verify/assertion/type.js +3 -3
  18. package/lib/verify/axiom.js +2 -2
  19. package/lib/verify/conclusion.js +2 -3
  20. package/lib/verify/consequence.js +3 -4
  21. package/lib/verify/derivation.js +3 -3
  22. package/lib/verify/label.js +2 -3
  23. package/lib/verify/lemma.js +2 -2
  24. package/lib/verify/metastatement/qualified.js +8 -9
  25. package/lib/verify/metastatement/unqualified.js +4 -4
  26. package/lib/verify/metastatement.js +2 -2
  27. package/lib/verify/premise.js +3 -4
  28. package/lib/verify/rule.js +2 -2
  29. package/lib/verify/ruleDerivation.js +3 -3
  30. package/lib/verify/statement/qualified.js +5 -5
  31. package/lib/verify/statement/unqualified.js +4 -4
  32. package/lib/verify/statement.js +56 -39
  33. package/lib/verify/statementAsCombinator.js +28 -18
  34. package/lib/verify/supposition.js +3 -4
  35. package/lib/verify/term.js +3 -4
  36. package/lib/verify/termAsConstructor.js +19 -20
  37. package/lib/verify/theorem.js +2 -2
  38. package/lib/verify/type.js +2 -3
  39. package/lib/verify/variable.js +2 -3
  40. package/package.json +1 -1
  41. package/src/axiomLemmaTheorem.js +4 -4
  42. package/src/combinator.js +4 -4
  43. package/src/conclusion.js +2 -2
  44. package/src/consequence.js +2 -2
  45. package/src/constructor.js +6 -6
  46. package/src/context/file.js +20 -7
  47. package/src/context/metaproof.js +4 -0
  48. package/src/context/proof.js +4 -0
  49. package/src/equality.js +202 -5
  50. package/src/label.js +4 -4
  51. package/src/premise.js +2 -2
  52. package/src/rule.js +4 -4
  53. package/src/supposition.js +2 -2
  54. package/src/type.js +4 -4
  55. package/src/utilities/string.js +23 -15
  56. package/src/variable.js +1 -1
  57. package/src/verify/assertion/type.js +2 -2
  58. package/src/verify/axiom.js +1 -1
  59. package/src/verify/conclusion.js +1 -2
  60. package/src/verify/consequence.js +2 -3
  61. package/src/verify/derivation.js +4 -2
  62. package/src/verify/label.js +1 -2
  63. package/src/verify/lemma.js +1 -1
  64. package/src/verify/metastatement/qualified.js +7 -10
  65. package/src/verify/metastatement/unqualified.js +3 -3
  66. package/src/verify/metastatement.js +1 -1
  67. package/src/verify/premise.js +2 -3
  68. package/src/verify/rule.js +1 -1
  69. package/src/verify/ruleDerivation.js +4 -2
  70. package/src/verify/statement/qualified.js +5 -5
  71. package/src/verify/statement/unqualified.js +4 -3
  72. package/src/verify/statement.js +67 -39
  73. package/src/verify/statementAsCombinator.js +48 -26
  74. package/src/verify/supposition.js +2 -3
  75. package/src/verify/term.js +2 -3
  76. package/src/verify/termAsConstructor.js +24 -26
  77. package/src/verify/theorem.js +1 -1
  78. package/src/verify/type.js +1 -2
  79. package/src/verify/variable.js +1 -2
@@ -4,7 +4,6 @@ import verifyTerm from "../verify/term";
4
4
  import Constructor from "../constructor";
5
5
 
6
6
  import { first } from "../utilities/array";
7
- import { nodeAsString } from "../utilities/string";
8
7
  import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
9
8
  import { TERM_RULE_NAME, ARGUMENT_RULE_NAME } from "../ruleNames";
10
9
 
@@ -18,7 +17,7 @@ export default function verifyTermAsConstructor(termNode, typeNode, fileContext)
18
17
  let type = null;
19
18
 
20
19
  const nonTerminalNode = termNode, ///
21
- termString = nodeAsString(termNode);
20
+ termString = fileContext.nodeAsString(termNode);
22
21
 
23
22
  fileContext.debug(`Verifying the '${termString}' constructor...`);
24
23
 
@@ -97,29 +96,6 @@ function verifyTerminalNode(terminalNode, fileContext) {
97
96
  return terminalNodeVerified;
98
97
  }
99
98
 
100
- function verifyArgumentNode(argumentNode, fileContext) {
101
- let typeNodeVerified = false;
102
-
103
- const typeNode = typeNodeQuery(argumentNode);
104
-
105
- if (typeNode === null) {
106
- const argumentString = nodeAsString(argumentNode);
107
-
108
- fileContext.error(`The ${argumentString} argument should be a type.`);
109
- } else {
110
- const typeName = typeNameFromTypeNode(typeNode),
111
- typePresent = fileContext.isTypePresentByTypeName(typeName);
112
-
113
- if (!typePresent) {
114
- fileContext.error(`The type '${typeName}' is missing.`);
115
- } else {
116
- typeNodeVerified = true;
117
- }
118
- }
119
-
120
- return typeNodeVerified;
121
- }
122
-
123
99
  function verifyNonTerminalNode(nonTerminalNode, fileContext) {
124
100
  let nonTerminalNodeVerified;
125
101
 
@@ -146,7 +122,7 @@ function verifyNonTerminalNode(nonTerminalNode, fileContext) {
146
122
  type = firstType; ///
147
123
 
148
124
  if (type !== null) {
149
- const termString = nodeAsString(termNode);
125
+ const termString = fileContext.nodeAsString(termNode);
150
126
 
151
127
  fileContext.error(`The type of the constructor's compound '${termString}' term node is not null.`);
152
128
  } else {
@@ -170,3 +146,25 @@ function verifyNonTerminalNode(nonTerminalNode, fileContext) {
170
146
  return nonTerminalNodeVerified;
171
147
  }
172
148
 
149
+ function verifyArgumentNode(argumentNode, fileContext) {
150
+ let typeNodeVerified = false;
151
+
152
+ const typeNode = typeNodeQuery(argumentNode);
153
+
154
+ if (typeNode === null) {
155
+ const argumentString = fileContext.nodeAsString(argumentNode);
156
+
157
+ fileContext.error(`The ${argumentString} argument should be a type.`);
158
+ } else {
159
+ const typeName = typeNameFromTypeNode(typeNode),
160
+ typePresent = fileContext.isTypePresentByTypeName(typeName);
161
+
162
+ if (!typePresent) {
163
+ fileContext.error(`The type '${typeName}' is missing.`);
164
+ } else {
165
+ typeNodeVerified = true;
166
+ }
167
+ }
168
+
169
+ return typeNodeVerified;
170
+ }
@@ -22,7 +22,7 @@ export default function verifyTheorem(theoremNode, fileContext) {
22
22
  fileContext.begin(theoremNode);
23
23
 
24
24
  const labelNodes = labelNodesQuery(theoremNode),
25
- labelsString = nodesAsString(labelNodes),
25
+ labelsString = fileContext.nodesAsString(labelNodes),
26
26
  proofContext = ProofContext.fromFileContext(fileContext);
27
27
 
28
28
  fileContext.debug(`Verifying the '${labelsString}' theorem...`);
@@ -2,7 +2,6 @@
2
2
 
3
3
  import Type from "../type";
4
4
 
5
- import { nodeAsString } from "../utilities/string";
6
5
  import { typeNameFromTypeNode } from "../utilities/query";
7
6
 
8
7
  export default function verifyType(typeNode, superTypeNode, fileContext) {
@@ -10,7 +9,7 @@ export default function verifyType(typeNode, superTypeNode, fileContext) {
10
9
 
11
10
  fileContext.begin(typeNode);
12
11
 
13
- const typeString = nodeAsString(typeNode);
12
+ const typeString = fileContext.nodeAsString(typeNode);
14
13
 
15
14
  fileContext.debug(`Verifying the '${typeString}' type...`);
16
15
 
@@ -3,7 +3,6 @@
3
3
  import Variable from "../variable";
4
4
 
5
5
  import { objectType } from "../type";
6
- import { nodeAsString } from "../utilities/string";
7
6
  import { typeNameFromTypeNode, variableNameFromVariableNode } from "../utilities/query";
8
7
 
9
8
  export default function verifyVariable(variableNode, typeNode, fileContext) {
@@ -11,7 +10,7 @@ export default function verifyVariable(variableNode, typeNode, fileContext) {
11
10
 
12
11
  fileContext.begin(variableNode);
13
12
 
14
- const variableString = nodeAsString(variableNode);
13
+ const variableString = fileContext.nodeAsString(variableNode);
15
14
 
16
15
  fileContext.debug(`Verifying the '${variableString}' variable...`);
17
16