occam-verify-cli 0.0.933 → 0.0.934

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 (37) hide show
  1. package/lib/context/local.js +8 -7
  2. package/lib/declaration.js +2 -2
  3. package/lib/equivalence.js +16 -1
  4. package/lib/proofStep.js +43 -6
  5. package/lib/shim.js +14 -0
  6. package/lib/substitution/statementForMetavariable.js +45 -1
  7. package/lib/substitution/termForVariable.js +15 -1
  8. package/lib/unifier/metaLevel.js +5 -1
  9. package/lib/unifier/statementAgainstCombinator.js +3 -2
  10. package/lib/unifier/termAgainstConstructor.js +3 -2
  11. package/lib/verify/declaration.js +18 -18
  12. package/lib/verify/judgement.js +2 -2
  13. package/lib/verify/proofStep.js +3 -3
  14. package/lib/verify/statement/qualified.js +57 -9
  15. package/lib/verify/statement/unqualified.js +62 -51
  16. package/lib/verify/statement.js +22 -34
  17. package/lib/verify/subDerivation.js +8 -2
  18. package/lib/verify/term.js +3 -2
  19. package/package.json +1 -1
  20. package/src/context/local.js +8 -5
  21. package/src/declaration.js +2 -2
  22. package/src/equivalence.js +19 -0
  23. package/src/proofStep.js +57 -4
  24. package/src/shim.js +5 -0
  25. package/src/substitution/statementForMetavariable.js +31 -0
  26. package/src/substitution/termForVariable.js +16 -0
  27. package/src/unifier/metaLevel.js +5 -0
  28. package/src/unifier/statementAgainstCombinator.js +2 -1
  29. package/src/unifier/termAgainstConstructor.js +2 -1
  30. package/src/verify/declaration.js +20 -23
  31. package/src/verify/judgement.js +1 -1
  32. package/src/verify/proofStep.js +2 -2
  33. package/src/verify/statement/qualified.js +84 -8
  34. package/src/verify/statement/unqualified.js +85 -12
  35. package/src/verify/statement.js +34 -37
  36. package/src/verify/subDerivation.js +3 -1
  37. package/src/verify/term.js +2 -1
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ import shim from "../shim";
3
4
  import Declaration from "../declaration"
4
- import metaLevelUnifier from "../unifier/metaLevel";
5
5
  import referenceMetaType from "../metaType/reference";
6
6
 
7
7
  import { nodeQuery } from "../utilities/query";
8
8
 
9
- const referenceNodeQuery = nodeQuery("/declaration/reference!"),
10
- statementNodeQuery = nodeQuery("/declaration/statement!"),
11
- metavariableNodeQuery = nodeQuery("/metavariable!");
9
+ const statementNodeQuery = nodeQuery("/declaration/statement!"),
10
+ metavariableNodeQuery = nodeQuery("/declaration/metavariable!");
12
11
 
13
12
  export default function verifyDeclaration(declarationNode, declarations, localContext) {
14
13
  let declarationVerified = false;
@@ -17,20 +16,19 @@ export default function verifyDeclaration(declarationNode, declarations, localCo
17
16
 
18
17
  localContext.trace(`Verifying the '${declarationString}' declaration...`, declarationNode);
19
18
 
20
- const referenceNode = referenceNodeQuery(declarationNode),
21
- referenceVerified = verifyReference(referenceNode, localContext);
19
+ const metavariableNode = metavariableNodeQuery(declarationNode),
20
+ metavariableVerified = verifyMetavariable(metavariableNode, localContext);
22
21
 
23
- if (referenceVerified) {
22
+ if (metavariableVerified) {
24
23
  const statementNode = statementNodeQuery(declarationNode);
25
24
 
26
- const { verifyStatement } = metaLevelUnifier,
25
+ const { verifyStatement } = shim,
27
26
  derived = false,
28
27
  assignments = [],
29
28
  statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
30
29
 
31
30
  if (statementVerified) {
32
- const metavariableNode = metavariableNodeQuery(referenceNode),
33
- declaration = Declaration.fromMetavariableNodeAndStatementNode(metavariableNode, statementNode);
31
+ const declaration = Declaration.fromMetavariableNodeAndStatementNode(metavariableNode, statementNode);
34
32
 
35
33
  declarations.push(declaration);
36
34
 
@@ -45,34 +43,33 @@ export default function verifyDeclaration(declarationNode, declarations, localCo
45
43
  return declarationVerified;
46
44
  }
47
45
 
48
- function verifyReference(referenceNode, localContext) {
49
- let referenceVerified = false;
46
+ function verifyMetavariable(metavariableNode, localContext) {
47
+ let metavariableVerified = false;
50
48
 
51
- const referenceString = localContext.nodeAsString(referenceNode);
49
+ const metavariableString = localContext.nodeAsString(metavariableNode);
52
50
 
53
- localContext.trace(`Verifying the '${referenceString}' reference...`, referenceNode);
51
+ localContext.trace(`Verifying the '${metavariableString}' metavariable...`, metavariableNode);
54
52
 
55
- const metavariableNode = metavariableNodeQuery(referenceNode),
56
- metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
53
+ const metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
57
54
 
58
55
  if (metavariable !== null) {
59
56
  const metaType = metavariable.getMetaType();
60
57
 
61
58
  if (metaType === referenceMetaType) {
62
- referenceVerified = true;
59
+ metavariableVerified = true;
63
60
  } else {
64
61
  const referenceMetaTypeName = referenceMetaType.getName(),
65
62
  metaTypeString = metaType.asString();
66
63
 
67
- localContext.debug(`The '${referenceString}' metavariable's meta-type is '${metaTypeString}' when it should be '${referenceMetaTypeName}'.`, referenceNode);
64
+ localContext.debug(`The '${metavariableString}' metavariable's meta-type is '${metaTypeString}' when it should be '${referenceMetaTypeName}'.`, metavariableNode);
68
65
  }
69
66
  } else {
70
- localContext.debug(`The '${referenceString}' metavariable is not present'.`, referenceNode);
67
+ localContext.debug(`The '${metavariableString}' metavariable is not present'.`, metavariableNode);
71
68
  }
72
69
 
73
- if (referenceVerified) {
74
- localContext.debug(`...verified the '${referenceString}' reference.`, referenceNode);
70
+ if (metavariableVerified) {
71
+ localContext.debug(`...verified the '${metavariableString}' metavariable.`, metavariableNode);
75
72
  }
76
73
 
77
- return referenceVerified;
78
- }
74
+ return metavariableVerified;
75
+ }
@@ -9,7 +9,7 @@ import { first } from "../utilities/array";
9
9
  import { nodeQuery } from "../utilities/query";
10
10
 
11
11
  const frameNodeQuery = nodeQuery("/judgement/frame!"),
12
- metavariableNodeQuery = nodeQuery("/judgement/statement/metavariable!");
12
+ metavariableNodeQuery = nodeQuery("/judgement/metavariable!");
13
13
 
14
14
  export default function verifyJudgement(judgementNode, assignments, derived, localContext) {
15
15
  let judgementVerified;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ import shim from "../shim";
3
4
  import ProofStep from "../proofStep";
4
5
  import verifySubproof from "../verify/subproof";
5
- import verifySubDerivation from "../verify/subDerivation";
6
6
  import verifyQualifiedStatement from "../verify/statement/qualified";
7
7
  import verifyUnqualifiedStatement from "../verify/statement/unqualified";
8
8
 
@@ -83,6 +83,6 @@ export default function verifyProofStep(proofStepNode, substitutions, localConte
83
83
  return proofStepVerified;
84
84
  }
85
85
 
86
- Object.assign(verifySubDerivation, {
86
+ Object.assign(shim, {
87
87
  verifyProofStep
88
88
  });
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ import verifyEquality from "../equality";
4
+ import verifyJudgement from "../judgement";
5
+ import verifyTypeAssertion from "../assertion/type";
3
6
  import unifyMetavariableAgainstStatement from "../../unify/metavariableAgainstStatement";
4
7
 
5
8
  import { nodeQuery } from "../../utilities/query";
6
- import { verifyStatementAsEquality, verifyStatementAsTypeAssertion } from "../../verify/statement";
7
9
 
8
10
  const statementNodeQuery = nodeQuery("/qualifiedStatement/statement!"),
9
- metavariableNodeQuery = nodeQuery("/qualifiedStatement/reference/metavariable!");
11
+ equalityNodeQuery = nodeQuery("/statement/equality!"),
12
+ judgementNodeQuery = nodeQuery("/statement/judgement!"),
13
+ metavariableNodeQuery = nodeQuery("/qualifiedStatement/reference/metavariable!"),
14
+ typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!");
10
15
 
11
16
  export default function verifyQualifiedStatement(qualifiedStatementNode, substitutions, assignments, localContext) {
12
17
  let qualifiedStatementVerified;
@@ -188,7 +193,7 @@ function verifyQualifiedStatementAAgainstReference(qualifiedStatementNode, subst
188
193
  localContextB = localContext, ///
189
194
  statementNodeB = statementNode, ///
190
195
  substitutionNode = null,
191
- metavariableNodeA = metavariableString, ///
196
+ metavariableNodeA = metavariableNode, ///
192
197
  metavariableVerifiedAgainstStatement = unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, () => {
193
198
  const verifiedAhead = true;
194
199
 
@@ -212,13 +217,14 @@ function verifyStatedStatement(statementNode, assignments, derived, localContext
212
217
 
213
218
  localContext.trace(`Verifying the '${statementString}' stated statement...`, statementNode);
214
219
 
215
- const verifyStatementFunctions = [
216
- verifyStatementAsEquality,
217
- verifyStatementAsTypeAssertion
220
+ const verifyStatedStatementFunctions = [
221
+ verifyStatedStatementAsEquality,
222
+ verifyStatedStatementAsJudgement,
223
+ verifyStatedStatementAsTypeAssertion
218
224
  ];
219
225
 
220
- verifyStatementFunctions.some((verifyStatementFunction) => {
221
- const statedStatementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
226
+ verifyStatedStatementFunctions.every((verifyStatedStatementFunction) => { ///
227
+ const statedStatementVerified = verifyStatedStatementFunction(statementNode, assignments, derived, localContext);
222
228
 
223
229
  if (statedStatementVerified) {
224
230
  return true;
@@ -233,3 +239,73 @@ function verifyStatedStatement(statementNode, assignments, derived, localContext
233
239
 
234
240
  return statedStatementVerified;
235
241
  }
242
+
243
+ function verifyStatedStatementAsEquality(statementNode, assignments, derived, localContext) {
244
+ let statedStatementVerifiedAsEquality = true; ///
245
+
246
+ const equalityNode = equalityNodeQuery(statementNode);
247
+
248
+ if (equalityNode !== null) {
249
+ const statementString = localContext.nodeAsString(statementNode);
250
+
251
+ localContext.trace(`Verifying the '${statementString}' stated statement as an equality...`, statementNode);
252
+
253
+ const equalityVerified = verifyEquality(equalityNode, assignments, derived, localContext, () => {
254
+ const verifiedAhead = true;
255
+
256
+ return verifiedAhead;
257
+ });
258
+
259
+ statedStatementVerifiedAsEquality = equalityVerified; ///
260
+
261
+ if (statedStatementVerifiedAsEquality) {
262
+ localContext.debug(`...verified the '${statementString}' stated statement as an equality.`, statementNode);
263
+ }
264
+ }
265
+
266
+ return statedStatementVerifiedAsEquality;
267
+ }
268
+
269
+ function verifyStatedStatementAsJudgement(statementNode, assignments, derived, localContext) {
270
+ let statedStatementVerifiedAsJudgement = true;
271
+
272
+ const judgementNode = judgementNodeQuery(statementNode);
273
+
274
+ if (judgementNode !== null) {
275
+ const statementString = localContext.nodeAsString(statementNode);
276
+
277
+ localContext.trace(`Verifying the '${statementString}' stated statement as a judgement...`, statementNode);
278
+
279
+ const judgementVerified = verifyJudgement(judgementNode, assignments, derived, localContext);
280
+
281
+ statedStatementVerifiedAsJudgement = judgementVerified; ///
282
+
283
+ if (statedStatementVerifiedAsJudgement) {
284
+ localContext.debug(`...verified the '${statementString}' stated statement as a judgement.`, statementNode);
285
+ }
286
+ }
287
+
288
+ return statedStatementVerifiedAsJudgement;
289
+ }
290
+
291
+ function verifyStatedStatementAsTypeAssertion(statementNode, assignments, derived, localContext) {
292
+ let statementVerifiedAsTypeAssertion = true; ///
293
+
294
+ const typeAssertionNode = typeAssertionNodeQuery(statementNode);
295
+
296
+ if (typeAssertionNode !== null) {
297
+ const statementString = localContext.nodeAsString(statementNode);
298
+
299
+ localContext.trace(`Verifying the '${statementString}' stated statement as a type assertion...`, statementNode);
300
+
301
+ const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assignments, derived, localContext);
302
+
303
+ statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
304
+
305
+ if (statementVerifiedAsTypeAssertion) {
306
+ localContext.debug(`...verified the '${statementString}' stated statement as a type assertion.`, statementNode);
307
+ }
308
+ }
309
+
310
+ return statementVerifiedAsTypeAssertion;
311
+ }
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ import verifyEquality from "../../verify/equality";
4
+ import verifyJudgement from "../../verify/judgement";
3
5
  import verifyStatement from "../../verify/statement";
6
+ import verifyTypeAssertion from "../assertion/type";
4
7
 
5
8
  import { nodeQuery } from "../../utilities/query";
6
- import { verifyStatementAsEquality, verifyStatementAsJudgement, verifyStatementAsTypeAssertion } from "../../verify/statement";
7
9
 
8
- const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!");
10
+ const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
11
+ equalityNodeQuery = nodeQuery("/statement/equality!"),
12
+ judgementNodeQuery = nodeQuery("/statement/judgement!"),
13
+ typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!");
9
14
 
10
15
  export default function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext) {
11
16
  let unqualifiedStatementVerified;
@@ -43,9 +48,9 @@ function verifyDerivedUnqualifiedStatement(unqualifiedStatementNode, assignments
43
48
 
44
49
  localContext.trace(`Verifying the '${unqualifiedStatementString}' derived unqualified statement...`, unqualifiedStatementNode);
45
50
 
46
- const matchesStatementNode = localContext.matchStatementNode(statementNode);
51
+ const statementUnified = localContext.unifyStatement(statementNode);
47
52
 
48
- if (matchesStatementNode) {
53
+ if (statementUnified) {
49
54
  derivedUnqualifiedStatementVerified = true;
50
55
  } else {
51
56
  const statementNode = statementNodeQuery(unqualifiedStatementNode),
@@ -90,25 +95,93 @@ function verifyDerivedStatement(statementNode, assignments, derived, localContex
90
95
 
91
96
  localContext.trace(`Verifying the '${statementString}' derived statement...`, statementNode);
92
97
 
93
- const verifyStatementFunctions = [
94
- verifyStatementAsEquality,
95
- verifyStatementAsJudgement,
96
- verifyStatementAsTypeAssertion
98
+ const verifyDerivedStatementFunctions = [
99
+ verifyDerivedStatementAsEquality,
100
+ verifyDerivedStatementAsJudgement,
101
+ verifyDerivedStatementAsTypeAssertion
97
102
  ];
98
103
 
99
- verifyStatementFunctions.some((verifyStatementFunction) => {
100
- const derivedStatementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
104
+ derivedStatementVerified = verifyDerivedStatementFunctions.every((verifyDerivedStatementFunction) => { ///
105
+ const derivedStatementVerified = verifyDerivedStatementFunction(statementNode, assignments, derived, localContext);
101
106
 
102
107
  if (derivedStatementVerified) {
103
108
  return true;
104
109
  }
105
110
  });
106
111
 
107
- derivedStatementVerified = true; ///
108
-
109
112
  if (derivedStatementVerified) {
110
113
  localContext.debug(`...verified the '${statementString}' derived statement.`, statementNode);
111
114
  }
112
115
 
113
116
  return derivedStatementVerified;
114
117
  }
118
+
119
+ function verifyDerivedStatementAsEquality(statementNode, assignments, derived, localContext) {
120
+ let derivedStatementVerifiedAsEquality = true; ///
121
+
122
+ const equalityNode = equalityNodeQuery(statementNode);
123
+
124
+ if (equalityNode !== null) {
125
+ const statementString = localContext.nodeAsString(statementNode);
126
+
127
+ localContext.trace(`Verifying the '${statementString}' derived statement as an equality...`, statementNode);
128
+
129
+ const equalityVerified = verifyEquality(equalityNode, assignments, derived, localContext, () => {
130
+ const verifiedAhead = true;
131
+
132
+ return verifiedAhead;
133
+ });
134
+
135
+ derivedStatementVerifiedAsEquality = equalityVerified; ///
136
+
137
+ if (derivedStatementVerifiedAsEquality) {
138
+ localContext.debug(`...verified the '${statementString}' derived statement as an equality.`, statementNode);
139
+ }
140
+ }
141
+
142
+ return derivedStatementVerifiedAsEquality;
143
+ }
144
+
145
+ function verifyDerivedStatementAsJudgement(statementNode, assignments, derived, localContext) {
146
+ let derivedStatementVerifiedAsJudgement = true;
147
+
148
+ const judgementNode = judgementNodeQuery(statementNode);
149
+
150
+ if (judgementNode !== null) {
151
+ const statementString = localContext.nodeAsString(statementNode);
152
+
153
+ localContext.trace(`Verifying the '${statementString}' derived statement as a judgement...`, statementNode);
154
+
155
+ const judgementVerified = verifyJudgement(judgementNode, assignments, derived, localContext);
156
+
157
+ derivedStatementVerifiedAsJudgement = judgementVerified; ///
158
+
159
+ if (derivedStatementVerifiedAsJudgement) {
160
+ localContext.debug(`...verified the '${statementString}' derived statement as a judgement.`, statementNode);
161
+ }
162
+ }
163
+
164
+ return derivedStatementVerifiedAsJudgement;
165
+ }
166
+
167
+ function verifyDerivedStatementAsTypeAssertion(statementNode, assignments, derived, localContext) {
168
+ let statementVerifiedAsTypeAssertion = true; ///
169
+
170
+ const typeAssertionNode = typeAssertionNodeQuery(statementNode);
171
+
172
+ if (typeAssertionNode !== null) {
173
+ const statementString = localContext.nodeAsString(statementNode);
174
+
175
+ localContext.trace(`Verifying the '${statementString}' derived statement as a type assertion...`, statementNode);
176
+
177
+ const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assignments, derived, localContext);
178
+
179
+ statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
180
+
181
+ if (statementVerifiedAsTypeAssertion) {
182
+ localContext.debug(`...verified the '${statementString}' derived statement as a type assertion.`, statementNode);
183
+ }
184
+ }
185
+
186
+ return statementVerifiedAsTypeAssertion;
187
+ }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ import shim from "../shim";
3
4
  import verifyEquality from "../verify/equality";
4
5
  import verifyJudgement from "../verify/judgement";
5
- import metaLevelUnifier from "../unifier/metaLevel";
6
6
  import bracketedCombinator from "../ocmbinator/bracketed";
7
7
  import verifyTypeAssertion from "../verify/assertion/type";
8
8
  import verifyDefinedAssertion from "../verify/assertion/defined";
@@ -81,17 +81,43 @@ export function verifyStandaloneStatement(statementNode, localContext, verifyAhe
81
81
  return standaloneStatementVerified;
82
82
  }
83
83
 
84
- Object.assign(metaLevelUnifier, {
84
+ Object.assign(shim, {
85
85
  verifyStatement
86
86
  });
87
87
 
88
- Object.assign(statementAgainstCombinatorUnifier, {
89
- verifyStatement
90
- });
91
88
 
92
89
  export default verifyStatement;
93
90
 
94
- export function verifyStatementAsEquality(statementNode, assignments, derived, localContext) {
91
+ function verifyStatementAsMetavariable(statementNode, assignments, derived, localContext) {
92
+ let statementVerifiedAsMetavariable = false;
93
+
94
+ const metavariableNode = metavariableNodeQuery(statementNode);
95
+
96
+ if (metavariableNode !== null) {
97
+ const statementString = localContext.nodeAsString(statementNode);
98
+
99
+ localContext.trace(`Verifying the '${statementString}' statement as a metavariable...`, statementNode);
100
+
101
+ const metavariableVerified = verifyMetavariable(metavariableNode, localContext);
102
+
103
+ if (metavariableVerified) {
104
+ const substitutionNode = substitutionNodeQuery(statementNode),
105
+ substitutionVerified = verifySubstitution(substitutionNode, localContext);
106
+
107
+ if (substitutionVerified) {
108
+ statementVerifiedAsMetavariable = true;
109
+ }
110
+ }
111
+
112
+ if (statementVerifiedAsMetavariable) {
113
+ localContext.debug(`...verified the '${statementString}' statement as a metavariable.`, statementNode);
114
+ }
115
+ }
116
+
117
+ return statementVerifiedAsMetavariable;
118
+ }
119
+
120
+ function verifyStatementAsEquality(statementNode, assignments, derived, localContext) {
95
121
  let statementVerifiedAsEquality = false;
96
122
 
97
123
  const equalityNode = equalityNodeQuery(statementNode);
@@ -117,7 +143,7 @@ export function verifyStatementAsEquality(statementNode, assignments, derived, l
117
143
  return statementVerifiedAsEquality;
118
144
  }
119
145
 
120
- export function verifyStatementAsJudgement(statementNode, assignments, derived, localContext) {
146
+ function verifyStatementAsJudgement(statementNode, assignments, derived, localContext) {
121
147
  let statementVerifiedAsJudgement = false;
122
148
 
123
149
  const judgementNode = judgementNodeQuery(statementNode);
@@ -139,7 +165,7 @@ export function verifyStatementAsJudgement(statementNode, assignments, derived,
139
165
  return statementVerifiedAsJudgement;
140
166
  }
141
167
 
142
- export function verifyStatementAsTypeAssertion(statementNode, assignments, derived, localContext) {
168
+ function verifyStatementAsTypeAssertion(statementNode, assignments, derived, localContext) {
143
169
  let statementVerifiedAsTypeAssertion = false;
144
170
 
145
171
  const typeAssertionNode = typeAssertionNodeQuery(statementNode);
@@ -161,35 +187,6 @@ export function verifyStatementAsTypeAssertion(statementNode, assignments, deriv
161
187
  return statementVerifiedAsTypeAssertion;
162
188
  }
163
189
 
164
- function verifyStatementAsMetavariable(statementNode, assignments, derived, localContext) {
165
- let statementVerifiedAsMetavariable = false;
166
-
167
- const metavariableNode = metavariableNodeQuery(statementNode);
168
-
169
- if (metavariableNode !== null) {
170
- const statementString = localContext.nodeAsString(statementNode);
171
-
172
- localContext.trace(`Verifying the '${statementString}' statement as a metavariable...`, statementNode);
173
-
174
- const metavariableVerified = verifyMetavariable(metavariableNode, localContext);
175
-
176
- if (metavariableVerified) {
177
- const substitutionNode = substitutionNodeQuery(statementNode),
178
- substitutionVerified = verifySubstitution(substitutionNode, localContext);
179
-
180
- if (substitutionVerified) {
181
- statementVerifiedAsMetavariable = true;
182
- }
183
- }
184
-
185
- if (statementVerifiedAsMetavariable) {
186
- localContext.debug(`...verified the '${statementString}' statement as a metavariable.`, statementNode);
187
- }
188
- }
189
-
190
- return statementVerifiedAsMetavariable;
191
- }
192
-
193
190
  function verifyStatementAsDefinedAssertion(statementNode, assignments, derived, localContext) {
194
191
  let statementVerifiedAsDefinedAssertion = false;
195
192
 
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ import shim from "../shim";
4
+
3
5
  import { nodesQuery } from "../utilities/query";
4
6
 
5
7
  const proofStepNodesQuery = nodesQuery("/subDerivation/proofStep|lastProofStep");
@@ -10,7 +12,7 @@ export default function verifySubDerivation(subDerivationNode, substitutions, lo
10
12
  const proofStepNodes = proofStepNodesQuery(subDerivationNode);
11
13
 
12
14
  subDerivationVerified = proofStepNodes.every((proofStepNode) => {
13
- const { verifyProofStep } = verifySubDerivation,
15
+ const { verifyProofStep } = shim,
14
16
  proofStepVerified = verifyProofStep(proofStepNode, substitutions, localContext);
15
17
 
16
18
  if (proofStepVerified) {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import shim from "../shim";
3
4
  import Term from "../term";
4
5
  import bracketedConstructor from "../constructor/bracketed";
5
6
  import termAgainstConstructorUnifier from "../unifier/termAgainstConstructor";
@@ -57,7 +58,7 @@ export function verifyStandaloneTerm(termNode, localContext, verifyAhead) {
57
58
  return standaloneTermVerified;
58
59
  }
59
60
 
60
- Object.assign(termAgainstConstructorUnifier, {
61
+ Object.assign(shim, {
61
62
  verifyTerm
62
63
  });
63
64