occam-verify-cli 0.0.922 → 0.0.923

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 (99) hide show
  1. package/lib/conclusion.js +11 -41
  2. package/lib/constants.js +1 -5
  3. package/lib/context/local.js +15 -55
  4. package/lib/declaration.js +15 -15
  5. package/lib/metaLemmaMetatheorem.js +59 -59
  6. package/lib/mixins/nodesVerifier/metaLevel.js +6 -6
  7. package/lib/premise.js +14 -91
  8. package/lib/{step/proof.js → proofStep.js} +1 -1
  9. package/lib/rule.js +1 -45
  10. package/lib/ruleNames.js +1 -9
  11. package/lib/substitution/statementForMetavariable.js +9 -1
  12. package/lib/substitution.js +1 -8
  13. package/lib/supposition.js +55 -1
  14. package/lib/utilities/customGrammar.js +2 -2
  15. package/lib/utilities/match.js +13 -50
  16. package/lib/utilities/node.js +2 -27
  17. package/lib/utilities/tokens.js +1 -8
  18. package/lib/utilities/verify.js +8 -24
  19. package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +29 -29
  20. package/lib/verifier/nodes/metaLevel.js +13 -13
  21. package/lib/verify/conclusion.js +10 -11
  22. package/lib/verify/declaration.js +6 -6
  23. package/lib/verify/metaLemma.js +12 -12
  24. package/lib/verify/metastatement.js +64 -64
  25. package/lib/verify/metatheorem.js +12 -12
  26. package/lib/verify/premise.js +11 -30
  27. package/lib/verify/proofStep.js +5 -5
  28. package/lib/verify/rule.js +9 -9
  29. package/lib/verify/statement/qualified.js +35 -9
  30. package/lib/verify/statement/unqualified.js +1 -1
  31. package/lib/verify/supposition.js +3 -3
  32. package/package.json +1 -1
  33. package/src/conclusion.js +13 -52
  34. package/src/constants.js +0 -1
  35. package/src/context/local.js +17 -64
  36. package/src/declaration.js +19 -19
  37. package/src/metaLemmaMetatheorem.js +58 -58
  38. package/src/mixins/nodesVerifier/metaLevel.js +8 -8
  39. package/src/premise.js +20 -137
  40. package/src/rule.js +0 -67
  41. package/src/ruleNames.js +0 -2
  42. package/src/substitution/statementForMetavariable.js +14 -0
  43. package/src/substitution.js +0 -6
  44. package/src/supposition.js +46 -0
  45. package/src/utilities/customGrammar.js +1 -2
  46. package/src/utilities/match.js +13 -60
  47. package/src/utilities/node.js +3 -32
  48. package/src/utilities/tokens.js +0 -8
  49. package/src/utilities/verify.js +4 -20
  50. package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +36 -37
  51. package/src/verifier/nodes/metaLevel.js +17 -17
  52. package/src/verify/conclusion.js +9 -13
  53. package/src/verify/declaration.js +7 -7
  54. package/src/verify/metaLemma.js +22 -22
  55. package/src/verify/metastatement.js +64 -64
  56. package/src/verify/metatheorem.js +21 -21
  57. package/src/verify/premise.js +14 -46
  58. package/src/verify/proofStep.js +1 -1
  59. package/src/verify/rule.js +8 -8
  60. package/src/verify/statement/qualified.js +43 -9
  61. package/src/verify/statement/unqualified.js +1 -1
  62. package/src/verify/supposition.js +1 -1
  63. package/lib/metaConsequent.js +0 -108
  64. package/lib/metaSupposition.js +0 -160
  65. package/lib/node/metastatement/bracketed.js +0 -16
  66. package/lib/step/metaproof.js +0 -106
  67. package/lib/substitution/metastatementForMetavariable.js +0 -173
  68. package/lib/verify/metaConsequent.js +0 -50
  69. package/lib/verify/metaDerivation.js +0 -31
  70. package/lib/verify/metaSubDerivation.js +0 -25
  71. package/lib/verify/metaSubproof.js +0 -34
  72. package/lib/verify/metaSupposition.js +0 -61
  73. package/lib/verify/metaSuppositions.js +0 -28
  74. package/lib/verify/metaproof.js +0 -31
  75. package/lib/verify/metaproofStep.js +0 -98
  76. package/lib/verify/metastatement/qualified.js +0 -95
  77. package/lib/verify/metastatement/unqualified.js +0 -37
  78. package/lib/verify/metastatementAsContainedAssertion.js +0 -109
  79. package/lib/verify/metastatementAsDefinedAssertion.js +0 -132
  80. package/lib/verify/metavariableAgainstMetastatement.js +0 -44
  81. package/src/metaConsequent.js +0 -83
  82. package/src/metaSupposition.js +0 -127
  83. package/src/node/metastatement/bracketed.js +0 -9
  84. package/src/step/metaproof.js +0 -73
  85. package/src/substitution/metastatementForMetavariable.js +0 -90
  86. package/src/verify/metaConsequent.js +0 -61
  87. package/src/verify/metaDerivation.js +0 -23
  88. package/src/verify/metaSubDerivation.js +0 -22
  89. package/src/verify/metaSubproof.js +0 -32
  90. package/src/verify/metaSupposition.js +0 -78
  91. package/src/verify/metaSuppositions.js +0 -17
  92. package/src/verify/metaproof.js +0 -28
  93. package/src/verify/metaproofStep.js +0 -137
  94. package/src/verify/metastatement/qualified.js +0 -130
  95. package/src/verify/metastatement/unqualified.js +0 -34
  96. package/src/verify/metastatementAsContainedAssertion.js +0 -127
  97. package/src/verify/metastatementAsDefinedAssertion.js +0 -156
  98. package/src/verify/metavariableAgainstMetastatement.js +0 -42
  99. /package/src/{step/proof.js → proofStep.js} +0 -0
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- default: function() {
13
- return verifyMetastatementAsDefinedAssertion;
14
- },
15
- isMetastatementDefinedAssertion: function() {
16
- return isMetastatementDefinedAssertion;
17
- }
18
- });
19
- var _term = /*#__PURE__*/ _interop_require_default(require("./term"));
20
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
21
- var _array = require("../utilities/array");
22
- var _constants = require("../constants");
23
- var _query = require("../utilities/query");
24
- var _verify = require("../utilities/verify");
25
- function _interop_require_default(obj) {
26
- return obj && obj.__esModule ? obj : {
27
- default: obj
28
- };
29
- }
30
- var termNodeQuery = (0, _query.nodeQuery)("/metastatement/term!"), variableNodeQuery = (0, _query.nodeQuery)("/metastatement/term/variable!"), operatorTerminalNodesQuery = (0, _query.nodesQuery)("/metastatement/@operator");
31
- function verifyMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
32
- var metastatementVerifiedAsDefinedAssertion = false;
33
- var metastatementDefinedAssertion = isMetastatementDefinedAssertion(metastatementNode);
34
- if (metastatementDefinedAssertion) {
35
- var metastatementString = localContext.nodeAsString(metastatementNode);
36
- localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
37
- var definedAssertionFunctions = [
38
- verifyDerivedMetastatementAsDefinedAssertion,
39
- verifyStatedMetastatementAsDefinedAssertion
40
- ];
41
- metastatementVerifiedAsDefinedAssertion = definedAssertionFunctions.some(function(definedAssertionFunction) {
42
- var metastatementVerifiedAsDefinedAssertion = definedAssertionFunction(metastatementNode, assignments, derived, localContext);
43
- if (metastatementVerifiedAsDefinedAssertion) {
44
- return true;
45
- }
46
- });
47
- if (metastatementVerifiedAsDefinedAssertion) {
48
- localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
49
- }
50
- }
51
- return metastatementVerifiedAsDefinedAssertion;
52
- }
53
- function verifyDerivedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
54
- var derivedMetastatementVerifiedAsDefeindAssertion = false;
55
- if (derived) {
56
- var metastatementString = localContext.nodeAsString(metastatementNode);
57
- localContext.trace("Verifying the derived '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
58
- var metastatementNegated = (0, _verify.isMetastatementNegated)(metastatementNode), variableNode = variableNodeQuery(metastatementNode), termNode = termNodeQuery(metastatementNode);
59
- if (false) {
60
- ///
61
- } else if (variableNode !== null) {
62
- var variable = localContext.findVariableByVariableNode(variableNode);
63
- if (variable !== null) {
64
- var variableDefined = localContext.isVariableDefined(variable);
65
- if (!metastatementNegated) {
66
- if (variableDefined) {
67
- derivedMetastatementVerifiedAsDefeindAssertion = true;
68
- }
69
- }
70
- if (metastatementNegated) {
71
- if (!variableDefined) {
72
- derivedMetastatementVerifiedAsDefeindAssertion = true;
73
- }
74
- }
75
- }
76
- } else if (termNode !== null) {
77
- var terms = [], termVerified = (0, _term.default)(termNode, terms, localContext, function() {
78
- var verifiedAhead = true;
79
- return verifiedAhead;
80
- });
81
- if (termVerified) {
82
- var firstTerm = (0, _array.first)(terms), term = firstTerm, termGrounded = localContext.isTermGrounded(term);
83
- if (!metastatementNegated) {
84
- if (termGrounded) {
85
- derivedMetastatementVerifiedAsDefeindAssertion = true;
86
- }
87
- }
88
- if (metastatementNegated) {
89
- if (!termGrounded) {
90
- derivedMetastatementVerifiedAsDefeindAssertion = true;
91
- }
92
- }
93
- }
94
- }
95
- if (derivedMetastatementVerifiedAsDefeindAssertion) {
96
- localContext.debug("...verified the derived '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
97
- }
98
- }
99
- return derivedMetastatementVerifiedAsDefeindAssertion;
100
- }
101
- function verifyStatedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
102
- var statedMetastatementVerifiedAsDefinedAssertion = false;
103
- if (!derived) {
104
- var metastatementString = localContext.nodeAsString(metastatementNode);
105
- localContext.trace("Verifying the stated '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
106
- var intrinsicLevel = localContext.isIntrinsicLevel();
107
- if (intrinsicLevel) {
108
- localContext.debug("The stated '".concat(metastatementString, "' metastatement as a defined assertion cannot be verified at intrinsic level."), metastatementNode);
109
- } else {
110
- var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
111
- var verifiedAhead = true;
112
- return verifiedAhead;
113
- });
114
- statedMetastatementVerifiedAsDefinedAssertion = nonTerminalNodeVerified; ///
115
- }
116
- if (statedMetastatementVerifiedAsDefinedAssertion) {
117
- localContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
118
- }
119
- }
120
- return statedMetastatementVerifiedAsDefinedAssertion;
121
- }
122
- function isMetastatementDefinedAssertion(metastatementNode) {
123
- var operatorTerminalNodes = operatorTerminalNodesQuery(metastatementNode), metastatementDefinedAssertion = operatorTerminalNodes.some(function(operatorTerminalNode) {
124
- var content = operatorTerminalNode.getContent(), contentDefined = content === _constants.DEFINED;
125
- if (contentDefined) {
126
- return true;
127
- }
128
- });
129
- return metastatementDefinedAssertion;
130
- }
131
-
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVRlcm0gZnJvbSBcIi4vdGVybVwiO1xuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBERUZJTkVEIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNNZXRhc3RhdGVtZW50TmVnYXRlZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC90ZXJtIVwiKSxcbiAgICAgIHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9Ab3BlcmF0b3JcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uID0gaXNNZXRhc3RhdGVtZW50RGVmaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgICB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uXG4gICAgXTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgoZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBkZWZpbmVkIGFzc2VydGlvbi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhc3RhdGVtZW50TmVnYXRlZCA9IGlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5lZCA9IGxvY2FsQ29udGV4dC5pc1ZhcmlhYmxlRGVmaW5lZCh2YXJpYWJsZSk7XG5cbiAgICAgICAgaWYgKCFtZXRhc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICh2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRhc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICghdmFyaWFibGVEZWZpbmVkKSB7XG4gICAgICAgICAgICBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZXJtcyA9IFtdLFxuICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgdGVybSA9IGZpcnN0VGVybSwgLy8vXG4gICAgICAgICAgICAgIHRlcm1Hcm91bmRlZCA9IGxvY2FsQ29udGV4dC5pc1Rlcm1Hcm91bmRlZCh0ZXJtKTtcblxuICAgICAgICBpZiAoIW1ldGFzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKHRlcm1Hcm91bmRlZCkge1xuICAgICAgICAgICAgZGVyaXZlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmZWluZEFzc2VydGlvbiA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBpbnRyaW5zaWNMZXZlbCA9IGxvY2FsQ29udGV4dC5pc0ludHJpbnNpY0xldmVsKCk7XG5cbiAgICBpZiAoaW50cmluc2ljTGV2ZWwpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uIGNhbm5vdCBiZSB2ZXJpZmllZCBhdCBpbnRyaW5zaWMgbGV2ZWwuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNZXRhc3RhdGVtZW50RGVmaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBvcGVyYXRvclRlcm1pbmFsTm9kZXMgPSBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uID0gb3BlcmF0b3JUZXJtaW5hbE5vZGVzLnNvbWUoKG9wZXJhdG9yVGVybWluYWxOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IG9wZXJhdG9yVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgICAgICBjb250ZW50RGVmaW5lZCA9IChjb250ZW50ID09PSBERUZJTkVEKTtcblxuICAgICAgICAgIGlmIChjb250ZW50RGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICByZXR1cm4gbWV0YXN0YXRlbWVudERlZmluZWRBc3NlcnRpb247XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsImlzTWV0YXN0YXRlbWVudERlZmluZWRBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwiZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVkTWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsInNvbWUiLCJkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50TmVnYXRlZCIsImlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQiLCJ2YXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZURlZmluZWQiLCJpc1ZhcmlhYmxlRGVmaW5lZCIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZ5VGVybSIsInZlcmlmaWVkQWhlYWQiLCJmaXJzdFRlcm0iLCJmaXJzdCIsInRlcm0iLCJ0ZXJtR3JvdW5kZWQiLCJpc1Rlcm1Hcm91bmRlZCIsInN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiIsImludHJpbnNpY0xldmVsIiwiaXNJbnRyaW5zaWNMZXZlbCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibWV0YUxldmVsTm9kZVZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwib3BlcmF0b3JUZXJtaW5hbE5vZGVzIiwib3BlcmF0b3JUZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImNvbnRlbnREZWZpbmVkIiwiREVGSU5FRCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBY0EsT0E2QkM7ZUE3QnVCQTs7SUFpSVJDLCtCQUErQjtlQUEvQkE7OzsyREE3SU87Z0VBQ1c7cUJBRVo7eUJBQ0U7cUJBQ2M7c0JBQ0M7Ozs7OztBQUV2QyxJQUFN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
@@ -1,44 +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 verifyMetavariableAgainstMetastatement;
9
- }
10
- });
11
- var _metastatementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/metastatementForMetavariable"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function verifyMetavariableAgainstMetastatement(metavariableNode, metastatementNode, substitutions, verifyAhead) {
18
- var metavariableVerifiedAgainstMetastatement = false;
19
- var substitution = substitutions.find(function(substitution) {
20
- var substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNode);
21
- if (substitutionMatchesMetavariableNodeA) {
22
- return true;
23
- }
24
- }) || null;
25
- if (substitution !== null) {
26
- var metastatementNodeMatches = substitution.matchMetastatementNode(metastatementNode);
27
- if (metastatementNodeMatches) {
28
- var verifiedAhead = verifyAhead();
29
- metavariableVerifiedAgainstMetastatement = verifiedAhead; ///
30
- }
31
- } else {
32
- var verifiedAhead1;
33
- var metastatementForMetavariableSubstitution = _metastatementForMetavariable.default.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode), substitution1 = metastatementForMetavariableSubstitution; ///
34
- substitutions.push(substitution1);
35
- verifiedAhead1 = verifyAhead();
36
- if (!verifiedAhead1) {
37
- substitutions.pop();
38
- }
39
- metavariableVerifiedAgainstMetastatement = verifiedAhead1; ///
40
- }
41
- return metavariableVerifiedAgainstMetastatement;
42
- }
43
-
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQSA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIGlmICghdmVyaWZpZWRBaGVhZCkge1xuICAgICAgc3Vic3RpdHV0aW9ucy5wb3AoKTtcbiAgICB9XG5cbiAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnlBaGVhZCIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmaWVkQWhlYWQiLCJtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwicG9wIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O21GQUY2Qjs7Ozs7O0FBRXRDLFNBQVNBLHVDQUF1Q0MsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFQyxhQUFhLEVBQUVDLFdBQVc7SUFDNUgsSUFBSUMsMkNBQTJDO0lBRS9DLElBQU1DLGVBQWVILGNBQWNJLElBQUksQ0FBQyxTQUFDRDtRQUN2QyxJQUFNRSx1Q0FBdUNGLGFBQWFHLHFCQUFxQixDQUFDUjtRQUVoRixJQUFJTyxzQ0FBc0M7WUFDeEMsT0FBTztRQUNUO0lBQ0YsTUFBTTtJQUVOLElBQUlGLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1JLDJCQUEyQkosYUFBYUssc0JBQXNCLENBQUNUO1FBRXJFLElBQUlRLDBCQUEwQjtZQUM1QixJQUFNRSxnQkFBZ0JSO1lBRXRCQywyQ0FBMkNPLGVBQWUsR0FBRztRQUMvRDtJQUNGLE9BQU87UUFDTCxJQUFJQTtRQUVKLElBQU1DLDJDQUEyQ0MscUNBQXdDLENBQUNDLHdDQUF3QyxDQUFDZCxrQkFBa0JDLG9CQUMvSUksZ0JBQWVPLDBDQUEyQyxHQUFHO1FBRW5FVixjQUFjYSxJQUFJLENBQUNWO1FBRW5CTSxpQkFBZ0JSO1FBRWhCLElBQUksQ0FBQ1EsZ0JBQWU7WUFDbEJULGNBQWNjLEdBQUc7UUFDbkI7UUFFQVosMkNBQTJDTyxnQkFBZSxHQUFHO0lBQy9EO0lBRUEsT0FBT1A7QUFDVCJ9
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- import LocalContext from "./context/local";
4
- import metaLevelNodesVerifier from "./verifier/nodes/metaLevel";
5
-
6
- import { nodeAsString } from "./utilities/string";
7
- import { statementNodeFromStatementString, metastatementNodeFromMetastatementString } from "./utilities/node";
8
-
9
- export default class MetaConsequent {
10
- constructor(metastatementNode, statementNode) {
11
- this.metastatementNode = metastatementNode;
12
- this.statementNode = statementNode;
13
- }
14
-
15
- getMetastatementNode() {
16
- return this.metastatementNode;
17
- }
18
-
19
- getStatementNode() {
20
- return this.statementNode;
21
- }
22
-
23
- matchMetastatementNode(metastatementNode, substitutions, fileContext, localContext) {
24
- let matchesMetastatementNode = false;
25
-
26
- if (this.metastatementNode !== null) {
27
- const fileContextA = fileContext, ///
28
- nonTerminalNodeA = this.metastatementNode, ///
29
- nonTerminalNodeB = metastatementNode, ///
30
- localContextA = LocalContext.fromFileContext(fileContextA),
31
- localContextB = localContext, ///
32
- nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
33
- const verifiedAhead = true;
34
-
35
- return verifiedAhead;
36
- });
37
-
38
- matchesMetastatementNode = nonTerminalNodeVerified; ///
39
- }
40
-
41
- return matchesMetastatementNode;
42
- }
43
-
44
- toJSON(tokens) {
45
- const metastatementString = nodeAsString(this.metastatementNode, tokens),
46
- statementString = nodeAsString(this.statementNode, tokens),
47
- metastatement = metastatementString, ///
48
- statement = statementString, ///
49
- json = {
50
- metastatement,
51
- statement
52
- };
53
-
54
- return json;
55
- }
56
-
57
- static fromStatementNode(statementNode) {
58
- const metastatementNode = null,
59
- metaConsequent = new MetaConsequent(metastatementNode, statementNode);
60
-
61
- return metaConsequent;
62
- }
63
-
64
- static fromMetastatementNode(metastatementNode) {
65
- const statementNode = null,
66
- metaConsequent = new MetaConsequent(metastatementNode, statementNode);
67
-
68
- return metaConsequent;
69
- }
70
-
71
- static fromJSONAndFileContext(json, fileContext) {
72
- const { metastatement, statement } = json,
73
- metastatementString = metastatement, ///
74
- statementString = statement, ///
75
- lexer = fileContext.getLexer(),
76
- parser = fileContext.getParser(),
77
- metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
78
- statementNode = statementNodeFromStatementString(statementString, lexer, parser),
79
- metaConsequent = new MetaConsequent(metastatementNode, statementNode);
80
-
81
- return metaConsequent;
82
- }
83
- }
@@ -1,127 +0,0 @@
1
- "use strict";
2
-
3
- import LocalContext from "./context/local";
4
- import metaLevelNodesVerifier from "./verifier/nodes/metaLevel";
5
-
6
- import { match } from "./utilities/array";
7
- import { nodeAsString } from "./utilities/string";
8
- import { nodeQuery, nodesQuery } from "./utilities/query";
9
- import { statementNodeFromStatementString, metastatementNodeFromMetastatementString } from "./utilities/node";
10
-
11
- const subproofAssertionNodeQuery = nodeQuery("/metastatement/subproofAssertion!"),
12
- subproofAssertionMetastatementNodesQuery = nodesQuery("/subproofAssertion/metastatement"),
13
- metaSubproofMetaSuppositionMetastatementNodesQuery = nodesQuery("/metaSubproof/metaSupposition/unqualifiedMetastatement/metastatement!"),
14
- metaSubproofLastMetpProofStepMetastatementNodeQuery = nodeQuery("/metaSubproof/metaSubDerivation/lastMetpProofStep/unqualifiedMetastatement|qualifiedMetastatement/metastatement!");
15
-
16
- export default class MetaSupposition {
17
- constructor(metastatementNode, statementNode) {
18
- this.metastatementNode = metastatementNode;
19
- this.statementNode = statementNode;
20
- }
21
-
22
- getMetastatementNode() {
23
- return this.metastatementNode;
24
- }
25
-
26
- getStatementNode() {
27
- return this.statementNode;
28
- }
29
-
30
- matchMetaSubproofNode(metaSubproofNode, substitutions, fileContext, localContext) {
31
- let matchesMetaSubproofNode = false;
32
-
33
- if (this.metastatementNode !== null) {
34
- const subproofAssertionNode = subproofAssertionNodeQuery(this.metastatementNode);
35
-
36
- if (subproofAssertionNode !== null) {
37
- const metaSubproofMetaSuppositionMetastatementNodes = metaSubproofMetaSuppositionMetastatementNodesQuery(metaSubproofNode),
38
- metaSubproofLastMetpProofStepMetastatementNode = metaSubproofLastMetpProofStepMetastatementNodeQuery(metaSubproofNode),
39
- metaSubproofMetastatementNodes = [
40
- ...metaSubproofMetaSuppositionMetastatementNodes,
41
- metaSubproofLastMetpProofStepMetastatementNode
42
- ],
43
- subproofAssertionMetastatementNodes = subproofAssertionMetastatementNodesQuery(subproofAssertionNode);
44
-
45
- matchesMetaSubproofNode = match(subproofAssertionMetastatementNodes, metaSubproofMetastatementNodes, (subproofAssertionMetastatementNode, ruleSubproofMetastatementNode) => {
46
- const fileContextA = fileContext, ///
47
- nonTerminalNodeA = subproofAssertionMetastatementNode, ///
48
- nonTerminalNodeB = ruleSubproofMetastatementNode, ///
49
- localContextA = LocalContext.fromFileContext(fileContextA), ///
50
- localContextB = localContext, ///
51
- nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
52
- const verifiedAhead = true;
53
-
54
- return verifiedAhead;
55
- });
56
-
57
- if (nonTerminalNodeVerified) {
58
- return true;
59
- }
60
- });
61
- }
62
- }
63
-
64
- return matchesMetaSubproofNode;
65
- }
66
-
67
- matchMetastatementNode(metastatementNode, substitutions, fileContext, localContext) {
68
- let matchesMetastatementNode = false;
69
-
70
- if (this.metastatementNode !== null) {
71
- const fileContextA = fileContext, ///
72
- nonTerminalNodeA = this.metastatementNode, ///
73
- nonTerminalNodeB = metastatementNode, ///
74
- localContextA = LocalContext.fromFileContext(fileContextA), ///
75
- localContextB = localContext, ///
76
- nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
77
- const verifiedAhead = true;
78
-
79
- return verifiedAhead;
80
- });
81
-
82
- matchesMetastatementNode = nonTerminalNodeVerified; ///
83
- }
84
-
85
- return matchesMetastatementNode;
86
- }
87
-
88
- toJSON(tokens) {
89
- const metastatementString = nodeAsString(this.metastatementNode, tokens),
90
- statementString = nodeAsString(this.statementNode, tokens),
91
- metastatement = metastatementString, ///
92
- statement = statementString, ///
93
- json = {
94
- metastatement,
95
- statement
96
- };
97
-
98
- return json;
99
- }
100
-
101
- static fromStatementNode(statementNode) {
102
- const metastatementNode = null,
103
- metaSupposition = new MetaSupposition(metastatementNode, statementNode);
104
-
105
- return metaSupposition;
106
- }
107
-
108
- static fromMetastatementNode(metastatementNode) {
109
- const statementNode = null,
110
- metaSupposition = new MetaSupposition(metastatementNode, statementNode);
111
-
112
- return metaSupposition;
113
- }
114
-
115
- static fromJSONAndFileContext(json, fileContext) {
116
- const { metastatement, statement } = json,
117
- metastatementString = metastatement, ///
118
- statementString = statement, ///
119
- lexer = fileContext.getLexer(),
120
- parser = fileContext.getParser(),
121
- metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
122
- statementNode = statementNodeFromStatementString(statementString, lexer, parser),
123
- metaSupposition = new MetaSupposition(metastatementNode, statementNode);
124
-
125
- return metaSupposition;
126
- }
127
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import { metastatementNodeFromMetastatementString } from "../../utilities/node";
4
-
5
- const bracketedMetastatementString = "(A)";
6
-
7
- const bracketedMetastatementNode = metastatementNodeFromMetastatementString(bracketedMetastatementString);
8
-
9
- export default bracketedMetastatementNode;
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- export default class MetaproofStep {
4
- constructor(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode) {
5
- this.statementNode = statementNode;
6
- this.ruleSubproofNode = ruleSubproofNode;
7
- this.metaSubproofNode = metaSubproofNode;
8
- this.metastatementNode = metastatementNode;
9
- }
10
-
11
- getStatementNode() {
12
- return this.statementNode;
13
- }
14
-
15
- getRuleSubproofNode() {
16
- return this.ruleSubproofNode;
17
- }
18
-
19
- getMetaSubproofNode() {
20
- return this.metaSubproofNode;
21
- }
22
-
23
- getMetastatementNode() {
24
- return this.metastatementNode;
25
- }
26
-
27
- matchMetastatementNode(metastatementNode) {
28
- let matchesMetastatementNode = false;
29
-
30
- if (this.metastatementNode !== null) {
31
- matchesMetastatementNode = this.metastatementNode.match(metastatementNode);
32
- }
33
-
34
- return matchesMetastatementNode;
35
- }
36
-
37
- static fromStatementNode(statementNode) {
38
- const ruleSubproofNode = null,
39
- metaSubproofNode = null,
40
- metastatementNode = null,
41
- metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
42
-
43
- return metaproofStep;
44
- }
45
-
46
- static fromRuleSubproofNode(ruleSubproofNode) {
47
- const statementNode = null,
48
- metaSubproofNode = null,
49
- metastatementNode = null,
50
- metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
51
-
52
- return metaproofStep;
53
- }
54
-
55
- static fromMetaSubproofNode(metaSubproofNode) {
56
- const statementNode = null,
57
- ruleSubproofNode = null,
58
- metastatementNode = null,
59
- metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
60
-
61
- return metaproofStep;
62
-
63
- }
64
-
65
- static fromMetastatementNode(metastatementNode) {
66
- const statementNode = null,
67
- ruleSubproofNode = null,
68
- metaSubproofNode = null,
69
- metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
70
-
71
- return metaproofStep;
72
- }
73
- }
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- import Substitution from "../substitution";
4
-
5
- import { nodeAsString } from "../utilities/string";
6
- import { bracketedMetastatementChildNodeFromMetastatementNode } from "../utilities/match";
7
- import { metavariableNodeFromMetavariableString, metastatementNodeFromMetastatementString } from "../utilities/node";
8
-
9
- export default class MetastatementForMetavariableSubstitution extends Substitution {
10
- constructor(metavariableNode, metastatementNode) {
11
- super();
12
-
13
- this.metavariableNode = metavariableNode;
14
- this.metastatementNode = metastatementNode;
15
- }
16
-
17
- getMetavariableNode() {
18
- return this.metavariableNode;
19
- }
20
-
21
- getMetastatementNode() {
22
- return this.metastatementNode;
23
- }
24
-
25
- matchMetavariableNode(metavariableNode) {
26
- const matchesMetavariableNode = this.metavariableNode.match(metavariableNode);
27
-
28
- return matchesMetavariableNode;
29
- }
30
-
31
- matchMetastatementNode(metastatementNode) {
32
- let matchesMetastatementNode;
33
-
34
- matchesMetastatementNode = this.metastatementNode.match(metastatementNode)
35
-
36
- if (!matchesMetastatementNode) {
37
- const bracketedMetastatementChildNode = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode);
38
-
39
- if (bracketedMetastatementChildNode !== null) {
40
- const metastatementNode = bracketedMetastatementChildNode; ///
41
-
42
- matchesMetastatementNode = this.metastatementNode.match(metastatementNode);
43
- }
44
- }
45
-
46
- return matchesMetastatementNode;
47
- }
48
-
49
- toJSON(tokens) {
50
- const metavariableString = nodeAsString(this.metavariableNode, tokens),
51
- metastatementString = nodeAsString(this.metastatementNode, tokens),
52
- metavariable = metavariableString, ///
53
- metastatement = metastatementString, ///
54
- json = {
55
- metavariable,
56
- metastatement
57
- };
58
-
59
- return json;
60
- }
61
-
62
- static fromJSONAndFileContext(json, fileContext) {
63
- const { metavariable, metastatement } = json,
64
- metavariableString = metavariable, ///
65
- metastatementString = metastatement, ///
66
- lexer = fileContext.getLexer(),
67
- parser = fileContext.getParser(),
68
- metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
69
- metavariableNode = metavariableNodeFromMetavariableString(metavariableString, lexer, parser),
70
- metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metastatementNode, metavariableNode);
71
-
72
- return metastatementForMetavariableSubstitution;
73
- }
74
-
75
- static fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode) {
76
- let metastatementForMetavariableSubstitution;
77
-
78
- metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableNode, metastatementNode);
79
-
80
- const bracketedMetastatementChildNode = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode);
81
-
82
- if (bracketedMetastatementChildNode !== null) {
83
- const metastatementNode = bracketedMetastatementChildNode; ///
84
-
85
- metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableNode, metastatementNode);
86
- }
87
-
88
- return metastatementForMetavariableSubstitution;
89
- }
90
- }
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- import MetaConsequent from "../metaConsequent";
4
- import verifyUnqualifiedStatement from "./statement/unqualified";
5
- import verifyUnqualifiedMetastatement from "./metastatement/unqualified";
6
-
7
- import { nodeQuery } from "../utilities/query";
8
-
9
- const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
10
- metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
11
- unqualifiedStatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedStatement!"),
12
- unqualifiedMetastatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedMetastatement!");
13
-
14
- export default function verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localContext) {
15
- let metaConsequentVerified = false;
16
-
17
- const metaConsequentString = localContext.nodeAsString(metaConsequentNode);
18
-
19
- localContext.trace(`Verifying the '${metaConsequentString}' meta-consequent...`, metaConsequentNode);
20
-
21
- const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaConsequentNode),
22
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode);
23
-
24
- if (unqualifiedStatementNode !== null) {
25
- const derived = false,
26
- assignments = [],
27
- unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
28
-
29
- metaConsequentVerified = unqualifiedStatementVerified; ///
30
- }
31
-
32
- if (unqualifiedMetastatementNode !== null) {
33
- const derived = false,
34
- assignments = [],
35
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
36
-
37
- metaConsequentVerified = unqualifiedMetastatementVerified; ///
38
- }
39
-
40
- if (metaConsequentVerified) {
41
- let metaConsequent;
42
-
43
- if (unqualifiedStatementNode !== null) {
44
- const statementNode = statementNodeQuery(unqualifiedStatementNode);
45
-
46
- metaConsequent = MetaConsequent.fromStatementNode(statementNode);
47
- }
48
-
49
- if (unqualifiedMetastatementNode !== null) {
50
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
51
-
52
- metaConsequent = MetaConsequent.fromMetastatementNode(metastatementNode);
53
- }
54
-
55
- metaConsequents.push(metaConsequent);
56
-
57
- localContext.debug(`...verified the '${metaConsequentString}' meta-consequent.`, metaConsequentNode);
58
- }
59
-
60
- return metaConsequentVerified;
61
- }