occam-verify-cli 0.0.932 → 0.0.933

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 (103) hide show
  1. package/lib/conclusion.js +4 -4
  2. package/lib/consequent.js +4 -4
  3. package/lib/context/local.js +181 -3
  4. package/lib/equality.js +4 -4
  5. package/lib/metaLemma.js +4 -4
  6. package/lib/metatheorem.js +4 -4
  7. package/lib/premise.js +6 -6
  8. package/lib/substitution/statementForMetavariable.js +2 -2
  9. package/lib/supposition.js +6 -6
  10. package/lib/unifier/equality.js +216 -0
  11. package/lib/unifier/metaLevel.js +231 -0
  12. package/lib/unifier/statementAgainstCombinator.js +231 -0
  13. package/lib/unifier/termAgainstConstructor.js +211 -0
  14. package/lib/unifier.js +201 -0
  15. package/lib/unify/argumentAgainstArgument.js +24 -0
  16. package/lib/unify/metavariableAgainstStatement.js +66 -0
  17. package/lib/unify/statementAgainstMetaType.js +28 -0
  18. package/lib/unify/statementAtainstStatement.js +52 -0
  19. package/lib/unify/termAgainstTerm.js +22 -0
  20. package/lib/unify/termAgainstType.js +26 -0
  21. package/lib/unify/variableAgainstTerm.js +70 -0
  22. package/lib/verifier/metaLevel.js +236 -0
  23. package/lib/verifier/statementAsCombinator.js +236 -0
  24. package/lib/verifier/termAsConstructor.js +219 -0
  25. package/lib/verifier.js +182 -0
  26. package/lib/verify/assertion/contained.js +2 -2
  27. package/lib/verify/assertion/defined.js +2 -2
  28. package/lib/verify/declaration.js +3 -3
  29. package/lib/verify/frame.js +9 -12
  30. package/lib/verify/judgement.js +2 -2
  31. package/lib/verify/statement/qualified.js +6 -3
  32. package/lib/verify/statement/unqualified.js +2 -1
  33. package/lib/verify/statement.js +26 -19
  34. package/lib/verify/statementAsCombinator.js +2 -2
  35. package/lib/verify/term.js +6 -6
  36. package/lib/verify/termAsConstructor.js +2 -2
  37. package/package.json +2 -2
  38. package/src/conclusion.js +3 -3
  39. package/src/consequent.js +3 -3
  40. package/src/context/local.js +60 -3
  41. package/src/equality.js +3 -3
  42. package/src/metaLemma.js +1 -1
  43. package/src/metatheorem.js +1 -1
  44. package/src/premise.js +5 -5
  45. package/src/substitution/statementForMetavariable.js +2 -2
  46. package/src/supposition.js +5 -5
  47. package/src/unifier/equality.js +84 -0
  48. package/src/unifier/metaLevel.js +109 -0
  49. package/src/unifier/statementAgainstCombinator.js +104 -0
  50. package/src/unifier/termAgainstConstructor.js +76 -0
  51. package/src/unifier.js +133 -0
  52. package/src/unify/argumentAgainstArgument.js +15 -0
  53. package/src/{verify → unify}/metavariableAgainstStatement.js +18 -18
  54. package/src/{verify → unify}/statementAgainstMetaType.js +4 -4
  55. package/src/{verify → unify}/statementAtainstStatement.js +7 -7
  56. package/src/{verify → unify}/termAgainstTerm.js +5 -5
  57. package/src/{verify → unify}/termAgainstType.js +7 -7
  58. package/src/{verify → unify}/variableAgainstTerm.js +6 -6
  59. package/src/verifier/{node/metaLevel.js → metaLevel.js} +14 -14
  60. package/src/verifier/{node/statementAsCombinator.js → statementAsCombinator.js} +14 -14
  61. package/src/verifier/{node/termAsConstructor.js → termAsConstructor.js} +12 -12
  62. package/src/{verifier/node.js → verifier.js} +19 -1
  63. package/src/verify/assertion/contained.js +2 -2
  64. package/src/verify/assertion/defined.js +2 -2
  65. package/src/verify/declaration.js +3 -3
  66. package/src/verify/frame.js +10 -13
  67. package/src/verify/judgement.js +1 -1
  68. package/src/verify/statement/qualified.js +12 -3
  69. package/src/verify/statement/unqualified.js +2 -1
  70. package/src/verify/statement.js +30 -25
  71. package/src/verify/statementAsCombinator.js +2 -2
  72. package/src/verify/term.js +6 -6
  73. package/src/verify/termAsConstructor.js +2 -2
  74. package/lib/mixins/context.js +0 -135
  75. package/lib/mixins/nodesVerifier/intrinsiclevel.js +0 -59
  76. package/lib/mixins/nodesVerifier/metaLevel.js +0 -40
  77. package/lib/utilities/verifier.js +0 -80
  78. package/lib/verifier/node/metaLevel.js +0 -201
  79. package/lib/verifier/node/statementAsCombinator.js +0 -201
  80. package/lib/verifier/node/termAsConstructor.js +0 -184
  81. package/lib/verifier/node.js +0 -157
  82. package/lib/verifier/nodes/equality.js +0 -176
  83. package/lib/verifier/nodes/metaLevel.js +0 -191
  84. package/lib/verifier/nodes/statementAgainstCombinator.js +0 -191
  85. package/lib/verifier/nodes/termAgainstConstructor.js +0 -171
  86. package/lib/verifier/nodes.js +0 -175
  87. package/lib/verify/argumentAgainstArgument.js +0 -24
  88. package/lib/verify/metavariableAgainstStatement.js +0 -66
  89. package/lib/verify/statementAgainstMetaType.js +0 -28
  90. package/lib/verify/statementAtainstStatement.js +0 -52
  91. package/lib/verify/termAgainstTerm.js +0 -22
  92. package/lib/verify/termAgainstType.js +0 -26
  93. package/lib/verify/variableAgainstTerm.js +0 -70
  94. package/src/mixins/context.js +0 -96
  95. package/src/mixins/nodesVerifier/intrinsiclevel.js +0 -73
  96. package/src/mixins/nodesVerifier/metaLevel.js +0 -39
  97. package/src/utilities/verifier.js +0 -38
  98. package/src/verifier/nodes/equality.js +0 -84
  99. package/src/verifier/nodes/metaLevel.js +0 -109
  100. package/src/verifier/nodes/statementAgainstCombinator.js +0 -105
  101. package/src/verifier/nodes/termAgainstConstructor.js +0 -76
  102. package/src/verifier/nodes.js +0 -114
  103. package/src/verify/argumentAgainstArgument.js +0 -15
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyVariableAgainstTerm;
9
- }
10
- });
11
- var _term = /*#__PURE__*/ _interop_require_default(require("../verify/term"));
12
- var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
13
- var _array = require("../utilities/array");
14
- var _query = require("../utilities/query");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- var variableNodeQuery = (0, _query.nodeQuery)("/term/variable");
21
- function verifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
22
- var variableVerifiedAgainstTerm = false;
23
- var substitution = substitutions.find(function(substitution) {
24
- var substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
25
- if (substitutionMatchesVariableNodeA) {
26
- return true;
27
- }
28
- }) || null;
29
- if (substitution !== null) {
30
- var substitutionMatchesTermNodeB = substitution.matchTermNode(termNodeB);
31
- if (substitutionMatchesTermNodeB) {
32
- var verifiedAhead = verifyAhead();
33
- variableVerifiedAgainstTerm = verifiedAhead; ///
34
- }
35
- } else {
36
- var variableA = localContextA.findVariableByVariableNode(variableNodeA);
37
- if (variableA !== null) {
38
- var terms = [], termVerified = (0, _term.default)(termNodeB, terms, localContextB, function() {
39
- var verifiedAhead = false;
40
- var firstTerm = (0, _array.first)(terms), termB = firstTerm, variableB = variableFromTerm(termB, localContextB);
41
- if (variableA === variableB) {
42
- verifiedAhead = verifyAhead();
43
- } else {
44
- var term = termB, variable = variableA, termType = term.getType(), variableType = variable.getType(), variableTypeEqualToOrSuperTypeOfTermType = variableType.isEqualToOrSuperTypeOf(termType);
45
- if (variableTypeEqualToOrSuperTypeOfTermType) {
46
- var termNode = termNodeB, variableNode = variableNodeA, termForVariableSubstitution = _termForVariable.default.fromVariableNodeAndTermNode(variableNode, termNode), substitution = termForVariableSubstitution; ///
47
- substitutions.push(substitution);
48
- verifiedAhead = verifyAhead();
49
- if (!verifiedAhead) {
50
- substitutions.pop();
51
- }
52
- }
53
- }
54
- return verifiedAhead;
55
- });
56
- variableVerifiedAgainstTerm = termVerified; ///
57
- }
58
- }
59
- return variableVerifiedAgainstTerm;
60
- }
61
- function variableFromTerm(term, localContext) {
62
- var variable = null;
63
- var termNode = term.getNode(), variableNode = variableNodeQuery(termNode);
64
- if (variableNode !== null) {
65
- variable = localContext.findVariableByVariableNode(variableNode);
66
- }
67
- return variable;
68
- }
69
-
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdmFyaWFibGVBZ2FpbnN0VGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVRlcm0gZnJvbSBcIi4uL3ZlcmlmeS90ZXJtXCI7XG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlWYXJpYWJsZUFnYWluc3RUZXJtKHZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0VGVybSA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZUEgPSBzdWJzdGl0dXRpb24ubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZUEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc1Rlcm1Ob2RlQiA9IHN1YnN0aXR1dGlvbi5tYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlQik7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc1Rlcm1Ob2RlQikge1xuICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgIHZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0VGVybSA9IHZlcmlmaWVkQWhlYWQ7ICAvLy9cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFyaWFibGVBID0gbG9jYWxDb250ZXh0QS5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBKTtcblxuICAgIGlmICh2YXJpYWJsZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlQiwgdGVybXMsIGxvY2FsQ29udGV4dEIsICgpID0+IHtcbiAgICAgICAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgICBjb25zdCBmaXJzdFRlcm0gPSBmaXJzdCh0ZXJtcyksXG4gICAgICAgICAgICAgICAgICAgIHRlcm1CID0gZmlyc3RUZXJtLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVCID0gdmFyaWFibGVGcm9tVGVybSh0ZXJtQiwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlQSA9PT0gdmFyaWFibGVCKSB7XG4gICAgICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVybSA9IHRlcm1CLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlQSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZVR5cGUgPSB2YXJpYWJsZS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVUeXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSA9IHZhcmlhYmxlVHlwZS5pc0VxdWFsVG9PclN1cGVyVHlwZU9mKHRlcm1UeXBlKTtcblxuICAgICAgICAgICAgICAgIGlmICh2YXJpYWJsZVR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlQiwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tVmFyaWFibGVOb2RlQW5kVGVybU5vZGUodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoIXZlcmlmaWVkQWhlYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICB2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFRlcm0gPSB0ZXJtVmVyaWZpZWQ7ICAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFyaWFibGVWZXJpZmllZEFnYWluc3RUZXJtO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UZXJtKHRlcm0sIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdmFyaWFibGUgPSBudWxsO1xuXG4gIGNvbnN0IHRlcm1Ob2RlID0gdGVybS5nZXROb2RlKCksXG4gICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiB2YXJpYWJsZTtcbn0iXSwibmFtZXMiOlsidmVyaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwidmFyaWFibGVWZXJpZmllZEFnYWluc3RUZXJtIiwic3Vic3RpdHV0aW9uIiwiZmluZCIsInN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb25NYXRjaGVzVGVybU5vZGVCIiwibWF0Y2hUZXJtTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJ2YXJpYWJsZUEiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZ5VGVybSIsImZpcnN0VGVybSIsImZpcnN0IiwidGVybUIiLCJ2YXJpYWJsZUIiLCJ2YXJpYWJsZUZyb21UZXJtIiwidGVybSIsInZhcmlhYmxlIiwidGVybVR5cGUiLCJnZXRUeXBlIiwidmFyaWFibGVUeXBlIiwidmFyaWFibGVUeXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSIsImlzRXF1YWxUb09yU3VwZXJUeXBlT2YiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5vZGVBbmRUZXJtTm9kZSIsInB1c2giLCJwb3AiLCJsb2NhbENvbnRleHQiLCJnZXROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OzJEQVJEO3NFQUNpQjtxQkFFbEI7cUJBQ0k7Ozs7OztBQUUxQixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsU0FBU0YsMEJBQTBCRyxhQUFhLEVBQUVDLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztJQUNsSSxJQUFJQyw4QkFBOEI7SUFFbEMsSUFBTUMsZUFBZUwsY0FBY00sSUFBSSxDQUFDLFNBQUNEO1FBQ3ZDLElBQU1FLG1DQUFtQ0YsYUFBYUcsaUJBQWlCLENBQUNWO1FBRXhFLElBQUlTLGtDQUFrQztZQUNwQyxPQUFPO1FBQ1Q7SUFDRixNQUFNO0lBRU4sSUFBSUYsaUJBQWlCLE1BQU07UUFDekIsSUFBTUksK0JBQStCSixhQUFhSyxhQUFhLENBQUNYO1FBRWhFLElBQUlVLDhCQUE4QjtZQUNoQyxJQUFNRSxnQkFBZ0JSO1lBRXRCQyw4QkFBOEJPLGVBQWdCLEdBQUc7UUFDbkQ7SUFDRixPQUFPO1FBQ0wsSUFBTUMsWUFBWVgsY0FBY1ksMEJBQTBCLENBQUNmO1FBRTNELElBQUljLGNBQWMsTUFBTTtZQUN0QixJQUFNRSxRQUFRLEVBQUUsRUFDVkMsZUFBZUMsSUFBQUEsYUFBVSxFQUFDakIsV0FBV2UsT0FBT1osZUFBZTtnQkFDekQsSUFBSVMsZ0JBQWdCO2dCQUVwQixJQUFNTSxZQUFZQyxJQUFBQSxZQUFLLEVBQUNKLFFBQ2xCSyxRQUFRRixXQUNSRyxZQUFZQyxpQkFBaUJGLE9BQU9qQjtnQkFFMUMsSUFBSVUsY0FBY1EsV0FBVztvQkFDM0JULGdCQUFnQlI7Z0JBQ2xCLE9BQU87b0JBQ0wsSUFBTW1CLE9BQU9ILE9BQ1BJLFdBQVdYLFdBQ1hZLFdBQVdGLEtBQUtHLE9BQU8sSUFDdkJDLGVBQWVILFNBQVNFLE9BQU8sSUFDL0JFLDJDQUEyQ0QsYUFBYUUsc0JBQXNCLENBQUNKO29CQUVyRixJQUFJRywwQ0FBMEM7d0JBQzVDLElBQU1FLFdBQVc5QixXQUNYK0IsZUFBZWhDLGVBQ2ZpQyw4QkFBOEJDLHdCQUEyQixDQUFDQywyQkFBMkIsQ0FBQ0gsY0FBY0QsV0FDcEd4QixlQUFlMEIsNkJBQThCLEdBQUc7d0JBRXREL0IsY0FBY2tDLElBQUksQ0FBQzdCO3dCQUVuQk0sZ0JBQWdCUjt3QkFFaEIsSUFBSSxDQUFDUSxlQUFlOzRCQUNsQlgsY0FBY21DLEdBQUc7d0JBQ25CO29CQUNGO2dCQUNGO2dCQUVBLE9BQU94QjtZQUNUO1lBRU5QLDhCQUE4QlcsY0FBZSxHQUFHO1FBQ2xEO0lBQ0Y7SUFFQSxPQUFPWDtBQUNUO0FBRUEsU0FBU2lCLGlCQUFpQkMsSUFBSSxFQUFFYyxZQUFZO0lBQzFDLElBQUliLFdBQVc7SUFFZixJQUFNTSxXQUFXUCxLQUFLZSxPQUFPLElBQ3ZCUCxlQUFlbEMsa0JBQWtCaUM7SUFFdkMsSUFBSUMsaUJBQWlCLE1BQU07UUFDekJQLFdBQVdhLGFBQWF2QiwwQkFBMEIsQ0FBQ2lCO0lBQ3JEO0lBRUEsT0FBT1A7QUFDVCJ9
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- function trace(node, message) { this.context.trace(node, message); }
4
-
5
- function debug(node, message) { this.context.debug(node, message); }
6
-
7
- function info(node, message) { this.context.info(node, message); }
8
-
9
- function warning(node, message) { this.context.warning(node, message); }
10
-
11
- function error(node, message) { this.context.error(node, message); }
12
-
13
- function fatal(node, message) { this.context.fatal(node, message); }
14
-
15
- function getAxioms() { return this.context.getAxioms(); }
16
-
17
- function getLemmas() { return this.context.getLemmas(); }
18
-
19
- function getTheorems() { return this.context.getTheorems(); }
20
-
21
- function getConjectures() { return this.context.getConjectures(); }
22
-
23
- function getCombinators() { return this.context.getCombinators(); }
24
-
25
- function getConstructors() { return this.context.getConstructors(); }
26
-
27
- function isTypePresentByTypeName(typeName) { return this.context.isTypePresentByTypeName(typeName); }
28
-
29
- function isTypePresentByTypeNode(typeNode) { return this.context.isTypePresentByTypeNode(typeNode); }
30
-
31
- function isMetavariablePresentByName(name) { return this.context.isMetavariablePresentByName(name); }
32
-
33
- function isLabelPresentByMetavariableNode(metavariableNode) { return this.context.isLabelPresentByMetavariableNode(metavariableNode); }
34
-
35
- function findTypeByTypeName(typeName) { return this.context.findTypeByTypeName(typeName); }
36
-
37
- function findTypeByTypeNode(typeNode) { return this.context.findTypeByTypeNode(typeNode); }
38
-
39
- function findMetavariableByName(name) { return this.context.findMetavariableByName(name); }
40
-
41
- function findLabelByMetavariableNode(metavariableNode) { return this.context.findLabelByMetavariableNode(metavariableNode); }
42
-
43
- function findMetaTypeByMetaTypeNode(metaTypeNode) { return this.context.findMetaTypeByMetaTypeNode(metaTypeNode); }
44
-
45
- function findRuleByMetavariableNode(metavariableNode) { return this.context.findRuleByMetavariableNode(metavariableNode); }
46
-
47
- function findAxiomByMetavariableNode(metavariableNode) { return this.context.findAxiomByMetavariableNode(metavariableNode); }
48
-
49
- function findLemmaByMetavariableNode(metavariableNode) { return this.context.findLemmaByMetavariableNode(metavariableNode); }
50
-
51
- function findTheoremByMetavariableNode(metavariableNode) { return this.context.findTheoremByMetavariableNode(metavariableNode); }
52
-
53
- function findMetaLemmaByMetavariableNode(metavariableNode) { return this.context.findMetaLemmaByMetavariableNode(metavariableNode); }
54
-
55
- function findConjectureByMetavariableNode(metavariableNode) { return this.context.findConjectureByMetavariableNode(metavariableNode); }
56
-
57
- function findMetatheoremByMetavariableNode(metavariableNode) { return this.context.findMetatheoremByMetavariableNode(metavariableNode); }
58
-
59
- function nodeAsString(node) { return this.context.nodeAsString(node); }
60
-
61
- function nodesAsString(node) { return this.context.nodesAsString(node); }
62
-
63
- const contextMixins = {
64
- trace,
65
- debug,
66
- info,
67
- warning,
68
- error,
69
- fatal,
70
- getAxioms,
71
- getLemmas,
72
- getTheorems,
73
- getConjectures,
74
- getCombinators,
75
- getConstructors,
76
- isTypePresentByTypeName,
77
- isTypePresentByTypeNode,
78
- isMetavariablePresentByName,
79
- isLabelPresentByMetavariableNode,
80
- findTypeByTypeName,
81
- findTypeByTypeNode,
82
- findMetavariableByName,
83
- findLabelByMetavariableNode,
84
- findMetaTypeByMetaTypeNode,
85
- findRuleByMetavariableNode,
86
- findAxiomByMetavariableNode,
87
- findLemmaByMetavariableNode,
88
- findTheoremByMetavariableNode,
89
- findMetaLemmaByMetavariableNode,
90
- findConjectureByMetavariableNode,
91
- findMetatheoremByMetavariableNode,
92
- nodeAsString,
93
- nodesAsString
94
- };
95
-
96
- export default contextMixins;
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- import verifyTerm from "../../verify/term";
4
- import TermForVariableSubstitution from "../../substitution/termForVariable";
5
-
6
- import { first } from "../../utilities/array";
7
-
8
- function verifyVariableNode(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
9
- let variableNodeVerified = false;
10
-
11
- const substitution = substitutions.find((substitution) => {
12
- const substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
13
-
14
- if (substitutionMatchesVariableNodeA) {
15
- return true;
16
- }
17
- }) || null;
18
-
19
- if (substitution !== null) {
20
- const termNode = termNodeB, ///
21
- substitutionMatchesTermNode = substitution.matchTermNode(termNode);
22
-
23
- if (substitutionMatchesTermNode) {
24
- const verifiedAhead = verifyAhead();
25
-
26
- variableNodeVerified = verifiedAhead; ///
27
- }
28
- } else {
29
- const variableNode = variableNodeA, ///
30
- localContext = localContextA, ///
31
- variable = localContext.findVariableByVariableNode(variableNode);
32
-
33
- if (variable !== null) {
34
- const terms = [],
35
- termNode = termNodeB, ///
36
- localContext = localContextB, ///
37
- termVerified = verifyTerm(termNode, terms, localContext, () => {
38
- let verifiedAhead = false;
39
-
40
- const firstTerm = first(terms),
41
- term = firstTerm, ///
42
- termType = term.getType(),
43
- variableType = variable.getType(),
44
- variableTypeEqualToOrSuperTypeOfTermType = variableType.isEqualToOrSuperTypeOf(termType);
45
-
46
- if (variableTypeEqualToOrSuperTypeOfTermType) {
47
- const termForVariableSubstitution = TermForVariableSubstitution.fromVariableNodeAndTermNode(variableNode, termNode),
48
- substitution = termForVariableSubstitution; ///
49
-
50
- substitutions.push(substitution);
51
-
52
- verifiedAhead = verifyAhead();
53
-
54
- if (!verifiedAhead) {
55
- substitutions.pop();
56
- }
57
- }
58
-
59
- return verifiedAhead;
60
- });
61
-
62
- variableNodeVerified = termVerified; ///
63
- }
64
- }
65
-
66
- return variableNodeVerified;
67
- }
68
-
69
- const intrinsicLevelNodesVerifierMixins = {
70
- verifyVariableNode
71
- };
72
-
73
- export default intrinsicLevelNodesVerifierMixins;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- import StatementForMetavariableSubstitution from "../../substitution/statementForMetavariable";
4
-
5
- function verifyMetavariableNode(metavariableNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
6
- let metavariableNodeVerified;
7
-
8
- const substitution = substitutions.find((substitution) => {
9
- const substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNodeA);
10
-
11
- if (substitutionMatchesMetavariableNodeA) {
12
- return true;
13
- }
14
- }) || null;
15
-
16
- if (substitution !== null) {
17
- const statementNode = statementNodeB, ///
18
- substitutionStatementNode = substitution.matchStatementNode(statementNode);
19
-
20
- metavariableNodeVerified = substitutionStatementNode; ///
21
- } else {
22
- const metavariableNode = metavariableNodeA, ///
23
- statementNode = statementNodeB, ///
24
- statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromMetavariableNodeAndStatementNode(metavariableNode, statementNode),
25
- substitution = statementForMetavariableSubstitution; ///
26
-
27
- substitutions.push(substitution);
28
-
29
- metavariableNodeVerified = true;
30
- }
31
-
32
- return metavariableNodeVerified;
33
- }
34
-
35
- const metaLevelNodesVerifierMixins = {
36
- verifyMetavariableNode
37
- };
38
-
39
- export default metaLevelNodesVerifierMixins;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- export function verifyNode(nodeQueryMaps, nonTerminalNode, ...remainingArguments) {
4
- let nodeVerified = false;
5
-
6
- nodeVerified = nodeQueryMaps.some((nodeQueryMap) => {
7
- const { nodeQuery, verifyNode } = nodeQueryMap;
8
-
9
- const node = nodeQuery(nonTerminalNode);
10
-
11
- if (node !== null) {
12
- nodeVerified = verifyNode(node, ...remainingArguments);
13
-
14
- return true;
15
- }
16
- });
17
-
18
- return nodeVerified;
19
- }
20
-
21
- export function verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, ...remainingArguments) {
22
- let nodesVerified = false;
23
-
24
- nodeQueryMaps.some((nodeQueryMap) => {
25
- const { nodeQueryA, nodeQueryB, verifyNodes } = nodeQueryMap;
26
-
27
- const nodeA = nodeQueryA(nonTerminalNodeA), ///
28
- nodeB = nodeQueryB(nonTerminalNodeB); ///
29
-
30
- if ((nodeA !== null) && (nodeB !== null)) {
31
- nodesVerified = verifyNodes(nodeA, nodeB, ...remainingArguments);
32
-
33
- return true;
34
- }
35
- });
36
-
37
- return nodesVerified;
38
- }
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- import NodesVerifier from "../../verifier/nodes";
4
- import verifyTermAgainstTerm from "../../verify/termAgainstTerm";
5
-
6
- import { nodeQuery } from "../../utilities/query";
7
- import { verifyNodes } from "../../utilities/verifier";
8
-
9
- const termNodeQuery = nodeQuery("/term!"),
10
- nonTerminalNodeQuery = nodeQuery("/*");
11
-
12
- class EqualityNodesVerifier extends NodesVerifier {
13
- verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead) {
14
- let nonTerminalNodeVerified;
15
-
16
- const nodeQueryMaps = [
17
- {
18
- nodeQueryA: termNodeQuery,
19
- nodeQueryB: termNodeQuery,
20
- verifyNodes: (nodeA, nodeB, localContext, verifyAhead) => {
21
- let nonTerminalNodeVerified;
22
-
23
- const termNodeA = nodeA, ///
24
- termNodeB = nodeB, ///
25
- termNodeVerifiedAgainstTermNode =
26
-
27
- this.verifyTermNodeAgainstTermNode(termNodeA, termNodeB, localContext, verifyAhead);
28
-
29
- nonTerminalNodeVerified = termNodeVerifiedAgainstTermNode; ///
30
-
31
- return nonTerminalNodeVerified;
32
- }
33
- },
34
- {
35
- nodeQueryA: nonTerminalNodeQuery,
36
- nodeQueryB: nonTerminalNodeQuery,
37
- verifyNodes: (nodeA, nodeB, localContext, verifyAhead) => {
38
- let nonTerminalNodeVerified;
39
-
40
- const nonTerminalNodeA = nodeA, ///
41
- nonTerminalNodeB = nodeB; ///
42
-
43
- nonTerminalNodeVerified =
44
-
45
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
46
-
47
- return nonTerminalNodeVerified;
48
- }
49
- }
50
- ];
51
-
52
- const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
53
-
54
- nonTerminalNodeVerified = nodesVerified; ///
55
-
56
- return nonTerminalNodeVerified;
57
- }
58
-
59
- verifyTermNodeAgainstTermNode(termNodeA, termNodeB, localContext, verifyAhead) {
60
- let termNodeVerifiedAgainstTermNode;
61
-
62
- const termVerifiedAgainstTerm = verifyTermAgainstTerm(termNodeA, termNodeB, localContext, verifyAhead);
63
-
64
- if (termVerifiedAgainstTerm) {
65
- termNodeVerifiedAgainstTermNode = true;
66
- } else {
67
- const nonTerminalNodeA = termNodeA, ///
68
- nonTerminalNodeB = termNodeB, ///
69
- nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
70
- nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
71
- childNodesA = nonTerminalNodeAChildNodes, ///
72
- childNodesB = nonTerminalNodeBChildNodes, ///
73
- childNodesVerified = this.verifyChildNodes(childNodesA, childNodesB, localContext, verifyAhead);
74
-
75
- termNodeVerifiedAgainstTermNode = childNodesVerified; ///
76
- }
77
-
78
- return termNodeVerifiedAgainstTermNode;
79
- }
80
- }
81
-
82
- const equalityNodesVerifier = new EqualityNodesVerifier();
83
-
84
- export default equalityNodesVerifier;
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- import NodesVerifier from "../../verifier/nodes";
4
- import verifyVariableAgainstTerm from "../../verify/variableAgainstTerm";
5
- import verifyMetavariableAgainstStatement from "../../verify/metavariableAgainstStatement";
6
-
7
- import { nodeQuery } from "../../utilities/query";
8
- import { verifyNodes } from "../../utilities/verifier";
9
-
10
- const termNodeQuery = nodeQuery("/term!"),
11
- statementNodeQuery = nodeQuery("/statement!"),
12
- nonTerminalNodeQuery = nodeQuery("/*"),
13
- termVariableNodeQuery = nodeQuery("/term/variable!"),
14
- statementSubstitutionNodeQuery = nodeQuery("/statement/substitution!"),
15
- statementMetavariableNodeQuery = nodeQuery("/statement/metavariable!");
16
-
17
- class MetaLevelNodesVerifier extends NodesVerifier {
18
- verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
19
- let nonTerminalNodeVerified;
20
-
21
- const nodeQueryMaps = [
22
- {
23
- nodeQueryA: statementMetavariableNodeQuery,
24
- nodeQueryB: statementNodeQuery,
25
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
26
- let nonTerminalNodeVerified;
27
-
28
- const statementNodeA = nonTerminalNodeA, ///
29
- statementNodeB = nodeB, ///
30
- statementMetavariableNodeA = nodeA, ///
31
- statementSubstitutionNodeA = statementSubstitutionNodeQuery(statementNodeA),
32
- metavariableNodeVerifiedAgainstStatementNode =
33
-
34
- this.verifyStatementMetavariableNodeAgainstStatementNode(statementMetavariableNodeA, statementSubstitutionNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead);
35
-
36
- nonTerminalNodeVerified = metavariableNodeVerifiedAgainstStatementNode; ///
37
-
38
- return nonTerminalNodeVerified;
39
- }
40
- },
41
- {
42
- nodeQueryA: termVariableNodeQuery,
43
- nodeQueryB: termNodeQuery,
44
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
45
- let nonTerminalNodeVerified;
46
-
47
- const termNodeB = nodeB, ///
48
- termVariableNodeA = nodeA, ///
49
- termVariableNodeVerifiedAgainstTermNode =
50
-
51
- this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
52
-
53
- nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
54
-
55
- return nonTerminalNodeVerified;
56
- }
57
- },
58
- {
59
- nodeQueryA: nonTerminalNodeQuery,
60
- nodeQueryB: nonTerminalNodeQuery,
61
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
62
- let nonTerminalNodeVerified;
63
-
64
- const nonTerminalNodeA = nodeA, ///
65
- nonTerminalNodeB = nodeB; ///
66
-
67
- nonTerminalNodeVerified =
68
-
69
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
70
-
71
- return nonTerminalNodeVerified;
72
- }
73
- }
74
- ];
75
-
76
- const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
77
-
78
- nonTerminalNodeVerified = nodesVerified; ///
79
-
80
- return nonTerminalNodeVerified;
81
- }
82
-
83
- verifyStatementMetavariableNodeAgainstStatementNode(statementMetavariableNodeA, statementSubstitutionNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
84
- let metavariableNodeVerifiedAgainstStatementNode;
85
-
86
- const substitutionNode = statementSubstitutionNodeA, ///
87
- metavariableNodeA = statementMetavariableNodeA, ///
88
- metavariableVerifiedAgainstStatement = verifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, verifyAhead);
89
-
90
- metavariableNodeVerifiedAgainstStatementNode = metavariableVerifiedAgainstStatement; ///
91
-
92
- return metavariableNodeVerifiedAgainstStatementNode;
93
- }
94
-
95
- verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
96
- let termVariableNodeVerifiedAgainstTermNode;
97
-
98
- const variableNodeA = termVariableNodeA, ///
99
- termVerifiedAgainstVariable = verifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
100
-
101
- termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
102
-
103
- return termVariableNodeVerifiedAgainstTermNode;
104
- }
105
- }
106
-
107
- const metaLevelNodesVerifier = new MetaLevelNodesVerifier();
108
-
109
- export default metaLevelNodesVerifier;
@@ -1,105 +0,0 @@
1
- "use strict";
2
-
3
- import NodesVerifier from "../../verifier/nodes";
4
- import verifyArgumentAgainstArgument from "../../verify/argumentAgainstArgument";
5
- import verifyStatementAgainstMetaType from "../../verify/statementAgainstMetaType";
6
-
7
- import { nodeQuery } from "../../utilities/query";
8
- import { verifyNodes } from "../../utilities/verifier";
9
-
10
- const argumentNodeQuery = nodeQuery("/argument!"),
11
- nonTerminalNodeQuery = nodeQuery("/*"),
12
- metaArgumentMetaTypeNodeQuery = nodeQuery("/metaArgument/metaType!"),
13
- metaArgumentStatementNodeQuery = nodeQuery("/metaArgument/statement!");
14
-
15
- class StatementAgainstCombinatorNodesVerifier extends NodesVerifier {
16
- verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead) {
17
- let nonTerminalNodeVerified;
18
-
19
- const nodeQueryMaps = [
20
- {
21
- nodeQueryA: metaArgumentStatementNodeQuery,
22
- nodeQueryB: metaArgumentMetaTypeNodeQuery,
23
- verifyNodes: (nodeA, nodeB, localContext, verifyAhead) => {
24
- let nonTerminalNodeVerified;
25
-
26
- const metaArgumentMetaTypeNodeB = nodeB, ///
27
- metaArgumentStatementNodeA = nodeA, ///
28
- metaArgumentStatementVerifiedAgainstMetaArgumentMetaType =
29
-
30
- this.verifyMetaArgumentStatementAgainstMetaArgumentMetaType(metaArgumentStatementNodeA, metaArgumentMetaTypeNodeB, localContext, verifyAhead);
31
-
32
- nonTerminalNodeVerified = metaArgumentStatementVerifiedAgainstMetaArgumentMetaType; ///
33
-
34
- return nonTerminalNodeVerified;
35
- }
36
- },
37
- {
38
- nodeQueryA: argumentNodeQuery,
39
- nodeQueryB: argumentNodeQuery,
40
- verifyNodes: (nodeA, nodeB, localContext, verifyAhead) => {
41
- let nonTerminalNodeVerified;
42
-
43
- const argumentNodeA = nodeA, ///
44
- argumentNodeB = nodeB, ///
45
- argumentNodeVerifiedAgainstArgumentNode =
46
-
47
- this.verifyArgumentNodeAgainstArgumentNode(argumentNodeA, argumentNodeB, localContext, verifyAhead);
48
-
49
- nonTerminalNodeVerified = argumentNodeVerifiedAgainstArgumentNode; ///
50
-
51
- return nonTerminalNodeVerified;
52
- }
53
- },
54
- {
55
- nodeQueryA: nonTerminalNodeQuery,
56
- nodeQueryB: nonTerminalNodeQuery,
57
- verifyNodes: (nodeA, nodeB, localContext, verifyAhead) => {
58
- let nonTerminalNodeVerified;
59
-
60
- const nonTerminalNodeA = nodeA, ///
61
- nonTerminalNodeB = nodeB; ///
62
-
63
- nonTerminalNodeVerified =
64
-
65
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
66
-
67
- return nonTerminalNodeVerified;
68
- }
69
- }
70
- ];
71
-
72
- const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
73
-
74
- nonTerminalNodeVerified = nodesVerified; ///
75
-
76
- return nonTerminalNodeVerified;
77
- }
78
-
79
- verifyMetaArgumentStatementAgainstMetaArgumentMetaType(metaArgumentStatementNodeA, metaArgumentMetaTypeNodeB, localContext, verifyAhead) {
80
- let metaArgumentStatementVerifiedAgainstMetaArgumentMetaType;
81
-
82
- const { verifyStatement } = this,
83
- metaTypeNode = metaArgumentMetaTypeNodeB, ///
84
- statementNode = metaArgumentStatementNodeA, ///
85
- statementVerifiedAgainstMetaType = verifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext, verifyAhead, verifyStatement);
86
-
87
- metaArgumentStatementVerifiedAgainstMetaArgumentMetaType = statementVerifiedAgainstMetaType; ///
88
-
89
- return metaArgumentStatementVerifiedAgainstMetaArgumentMetaType;
90
- }
91
-
92
- verifyArgumentNodeAgainstArgumentNode(argumentNodeA, argumentNodeB, localContext, verifyAhead) {
93
- let argumentNodeVerifiedAgainstArgumentNode;
94
-
95
- const argumentVerifiedAgainstArgument = verifyArgumentAgainstArgument(argumentNodeA, argumentNodeB, localContext, verifyAhead);
96
-
97
- argumentNodeVerifiedAgainstArgumentNode = argumentVerifiedAgainstArgument; ///
98
-
99
- return argumentNodeVerifiedAgainstArgumentNode;
100
- }
101
- }
102
-
103
- const statementAgainstCombinatorNodesVerifier = new StatementAgainstCombinatorNodesVerifier();
104
-
105
- export default statementAgainstCombinatorNodesVerifier;