occam-verify-cli 0.0.1003 → 0.0.1006

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 (183) hide show
  1. package/README.md +0 -2
  2. package/bin/abbreviations.js +1 -3
  3. package/bin/action/help.js +0 -2
  4. package/bin/action/verify.js +4 -24
  5. package/bin/defaults.js +0 -2
  6. package/bin/main.js +3 -4
  7. package/bin/options.js +0 -2
  8. package/bin/utilities/releaseContext.js +9 -2
  9. package/lib/assertion/subproof.js +106 -0
  10. package/lib/assignment/metavariable.js +2 -2
  11. package/lib/combinator.js +50 -16
  12. package/lib/conclusion.js +74 -14
  13. package/lib/context/file.js +191 -31
  14. package/lib/context/local.js +37 -49
  15. package/lib/context/release.js +25 -81
  16. package/lib/declaration/combinator.js +83 -0
  17. package/lib/derivation.js +86 -0
  18. package/lib/equality.js +3 -11
  19. package/lib/index.js +1 -1
  20. package/lib/judgement.js +3 -10
  21. package/lib/label.js +58 -16
  22. package/lib/log.js +3 -11
  23. package/lib/metaType.js +31 -19
  24. package/lib/metavariable.js +39 -12
  25. package/lib/mixins/statement/qualified/unify.js +118 -0
  26. package/lib/mixins/statement/unify.js +57 -0
  27. package/lib/mixins/statement/verify.js +184 -0
  28. package/lib/node/statement/combinator/bracketed.js +15 -11
  29. package/lib/ocmbinator/bracketed.js +52 -8
  30. package/lib/premise.js +109 -55
  31. package/lib/proof.js +91 -0
  32. package/lib/proofStep.js +78 -25
  33. package/lib/reference.js +62 -16
  34. package/lib/rule.js +146 -26
  35. package/lib/ruleNames.js +5 -5
  36. package/lib/statement/qualified.js +127 -0
  37. package/lib/statement/unqualified.js +89 -0
  38. package/lib/statement.js +176 -0
  39. package/lib/subDerivation.js +86 -0
  40. package/lib/subproof.js +155 -0
  41. package/lib/substitution/frameForMetavariable.js +14 -15
  42. package/lib/substitution/statementForMetavariable.js +23 -24
  43. package/lib/substitution/termForVariable.js +11 -12
  44. package/lib/substitution.js +9 -2
  45. package/lib/substitutions.js +14 -14
  46. package/lib/supposition.js +92 -61
  47. package/lib/unifier/statementWithCombinator.js +3 -3
  48. package/lib/unify/metavariableWithFrame.js +2 -2
  49. package/lib/unify/metavariableWithStatement.js +2 -2
  50. package/lib/unify/metavariableWithStatementGivenSubstitution.js +2 -2
  51. package/lib/unify/variableWithTerm.js +2 -2
  52. package/lib/utilities/node.js +13 -11
  53. package/lib/utilities/releaseContext.js +5 -6
  54. package/lib/utilities/string.js +8 -2
  55. package/lib/utilities/subproof.js +5 -5
  56. package/lib/utilities/tokens.js +10 -10
  57. package/lib/variable.js +1 -10
  58. package/lib/verifier/metaLevel.js +2 -2
  59. package/lib/verifier/topLevel.js +5 -5
  60. package/lib/verify/axiom.js +3 -5
  61. package/lib/verify/conjecture.js +4 -7
  62. package/lib/verify/consequent.js +2 -3
  63. package/lib/verify/declaration/combinator.js +2 -14
  64. package/lib/verify/declaration/metavariable.js +9 -10
  65. package/lib/verify/files.js +4 -4
  66. package/lib/verify/frame.js +12 -12
  67. package/lib/verify/lemma.js +4 -7
  68. package/lib/verify/metaLemma.js +4 -7
  69. package/lib/verify/metatheorem.js +4 -7
  70. package/lib/verify/proofStep.js +2 -31
  71. package/lib/verify/theorem.js +4 -7
  72. package/package.json +1 -1
  73. package/src/assertion/subproof.js +84 -0
  74. package/src/assignment/metavariable.js +2 -2
  75. package/src/combinator.js +45 -15
  76. package/src/conclusion.js +85 -13
  77. package/src/context/file.js +223 -11
  78. package/src/context/local.js +12 -16
  79. package/src/context/release.js +31 -100
  80. package/src/declaration/combinator.js +44 -0
  81. package/src/derivation.js +50 -0
  82. package/src/equality.js +2 -9
  83. package/src/index.js +0 -1
  84. package/src/judgement.js +2 -8
  85. package/src/label.js +56 -13
  86. package/src/log.js +2 -9
  87. package/src/metaType.js +26 -14
  88. package/src/metavariable.js +57 -9
  89. package/src/mixins/statement/qualified/unify.js +186 -0
  90. package/src/mixins/statement/unify.js +70 -0
  91. package/src/mixins/statement/verify.js +274 -0
  92. package/src/node/statement/combinator/bracketed.js +4 -3
  93. package/src/ocmbinator/bracketed.js +15 -12
  94. package/src/premise.js +138 -44
  95. package/src/proof.js +58 -0
  96. package/src/proofStep.js +92 -22
  97. package/src/reference.js +58 -12
  98. package/src/rule.js +199 -30
  99. package/src/ruleNames.js +1 -1
  100. package/src/statement/qualified.js +104 -0
  101. package/src/statement/unqualified.js +60 -0
  102. package/src/statement.js +179 -0
  103. package/src/subDerivation.js +52 -0
  104. package/src/subproof.js +99 -0
  105. package/src/substitution/frameForMetavariable.js +20 -17
  106. package/src/substitution/statementForMetavariable.js +31 -29
  107. package/src/substitution/termForVariable.js +15 -14
  108. package/src/substitution.js +8 -0
  109. package/src/substitutions.js +12 -13
  110. package/src/supposition.js +96 -51
  111. package/src/unifier/statementWithCombinator.js +6 -3
  112. package/src/unify/metavariableWithFrame.js +1 -1
  113. package/src/unify/metavariableWithStatement.js +1 -1
  114. package/src/unify/metavariableWithStatementGivenSubstitution.js +1 -1
  115. package/src/unify/variableWithTerm.js +1 -1
  116. package/src/utilities/node.js +18 -12
  117. package/src/utilities/releaseContext.js +5 -8
  118. package/src/utilities/string.js +6 -2
  119. package/src/utilities/subproof.js +2 -2
  120. package/src/utilities/tokens.js +7 -7
  121. package/src/variable.js +0 -10
  122. package/src/verifier/metaLevel.js +3 -2
  123. package/src/verifier/topLevel.js +6 -4
  124. package/src/verify/axiom.js +1 -2
  125. package/src/verify/conjecture.js +2 -3
  126. package/src/verify/consequent.js +1 -1
  127. package/src/verify/declaration/combinator.js +0 -20
  128. package/src/verify/declaration/metavariable.js +8 -12
  129. package/src/verify/files.js +3 -3
  130. package/src/verify/frame.js +11 -11
  131. package/src/verify/lemma.js +2 -3
  132. package/src/verify/metaLemma.js +2 -3
  133. package/src/verify/metatheorem.js +2 -3
  134. package/src/verify/proofStep.js +0 -41
  135. package/src/verify/theorem.js +2 -3
  136. package/lib/tokens/combinatorStatement/bracketed.js +0 -17
  137. package/lib/unify/premiseWithProofStep.js +0 -41
  138. package/lib/unify/premisesWithProofSteps.js +0 -31
  139. package/lib/unify/qualifiedStatement.js +0 -136
  140. package/lib/unify/statementWithBracketedCombinator.js +0 -30
  141. package/lib/unify/statementWithCombinator.js +0 -29
  142. package/lib/unify/statementWithCombinators.js +0 -31
  143. package/lib/unify/statementWithMetaType.js +0 -24
  144. package/lib/verify/conclusion.js +0 -39
  145. package/lib/verify/derivation.js +0 -31
  146. package/lib/verify/label.js +0 -37
  147. package/lib/verify/labels.js +0 -28
  148. package/lib/verify/premise.js +0 -45
  149. package/lib/verify/premises.js +0 -28
  150. package/lib/verify/proof.js +0 -34
  151. package/lib/verify/rule.js +0 -56
  152. package/lib/verify/statement/qualified.js +0 -41
  153. package/lib/verify/statement/unqualified.js +0 -45
  154. package/lib/verify/statement.js +0 -219
  155. package/lib/verify/statementAsCombinator.js +0 -33
  156. package/lib/verify/statementGivenMetaType.js +0 -52
  157. package/lib/verify/subproof.js +0 -34
  158. package/lib/verify/supposition.js +0 -45
  159. package/lib/verify/suppositions.js +0 -28
  160. package/src/tokens/combinatorStatement/bracketed.js +0 -10
  161. package/src/unify/premiseWithProofStep.js +0 -54
  162. package/src/unify/premisesWithProofSteps.js +0 -23
  163. package/src/unify/qualifiedStatement.js +0 -208
  164. package/src/unify/statementWithBracketedCombinator.js +0 -22
  165. package/src/unify/statementWithCombinator.js +0 -22
  166. package/src/unify/statementWithCombinators.js +0 -23
  167. package/src/unify/statementWithMetaType.js +0 -14
  168. package/src/verify/conclusion.js +0 -40
  169. package/src/verify/derivation.js +0 -23
  170. package/src/verify/label.js +0 -34
  171. package/src/verify/labels.js +0 -17
  172. package/src/verify/premise.js +0 -49
  173. package/src/verify/premises.js +0 -17
  174. package/src/verify/proof.js +0 -31
  175. package/src/verify/rule.js +0 -71
  176. package/src/verify/statement/qualified.js +0 -40
  177. package/src/verify/statement/unqualified.js +0 -49
  178. package/src/verify/statement.js +0 -312
  179. package/src/verify/statementAsCombinator.js +0 -27
  180. package/src/verify/statementGivenMetaType.js +0 -52
  181. package/src/verify/subproof.js +0 -32
  182. package/src/verify/supposition.js +0 -49
  183. package/src/verify/suppositions.js +0 -17
@@ -1,34 +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 verifySubproof;
9
- }
10
- });
11
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
12
- var _suppositions = /*#__PURE__*/ _interop_require_default(require("../verify/suppositions"));
13
- var _subDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/subDerivation"));
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 suppositionNodesQuery = (0, _query.nodesQuery)("/subproof/supposition"), subDerivationNodeQuery = (0, _query.nodeQuery)("/subproof/subDerivation");
21
- function verifySubproof(subproofNode, substitutions, localContext) {
22
- var subproofVerified = false;
23
- localContext = _local.default.fromLocalContext(localContext); ///
24
- var suppositions = [], suppositionNodes = suppositionNodesQuery(subproofNode), suppositionsVerified = (0, _suppositions.default)(suppositionNodes, suppositions, localContext);
25
- if (suppositionsVerified) {
26
- var subDerivationNode = subDerivationNodeQuery(subproofNode), subDerivationVerified = (0, _subDerivation.default)(subDerivationNode, substitutions, localContext);
27
- if (subDerivationVerified) {
28
- subproofVerified = true;
29
- }
30
- }
31
- return subproofVerified;
32
- }
33
-
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvbnNcIjtcbmltcG9ydCB2ZXJpZnlTdWJEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvc3ViRGVyaXZhdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN1cHBvc2l0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2Yvc3VwcG9zaXRpb25cIiksXG4gICAgICBzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1YnByb29mL3N1YkRlcml2YXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN1YnByb29mKHN1YnByb29mTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdWJwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21Mb2NhbENvbnRleHQobG9jYWxDb250ZXh0KTsgIC8vL1xuXG4gIGNvbnN0IHN1cHBvc2l0aW9ucyA9IFtdLFxuICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9uTm9kZXMsIHN1cHBvc2l0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICBjb25zdCBzdWJEZXJpdmF0aW9uTm9kZSA9IHN1YkRlcml2YXRpb25Ob2RlUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICBzdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlTdWJEZXJpdmF0aW9uKHN1YkRlcml2YXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN1YkRlcml2YXRpb25WZXJpZmllZCkge1xuICAgICAgc3VicHJvb2ZWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN1YnByb29mVmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdWJwcm9vZiIsInN1cHBvc2l0aW9uTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3VicHJvb2ZOb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInN1YnByb29mVmVyaWZpZWQiLCJMb2NhbENvbnRleHQiLCJmcm9tTG9jYWxDb250ZXh0Iiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwic3ViRGVyaXZhdGlvbk5vZGUiLCJzdWJEZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7OzREQVRDO21FQUNNO29FQUNDO3FCQUVNOzs7Ozs7QUFFdEMsSUFBTUMsd0JBQXdCQyxJQUFBQSxpQkFBVSxFQUFDLDBCQUNuQ0MseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNKLGVBQWVLLFlBQVksRUFBRUMsYUFBYSxFQUFFQyxZQUFZO0lBQzlFLElBQUlDLG1CQUFtQjtJQUV2QkQsZUFBZUUsY0FBWSxDQUFDQyxnQkFBZ0IsQ0FBQ0gsZUFBZ0IsR0FBRztJQUVoRSxJQUFNSSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQlgsc0JBQXNCSSxlQUN6Q1EsdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ0Ysa0JBQWtCRCxjQUFjSjtJQUVoRixJQUFJTSxzQkFBc0I7UUFDeEIsSUFBTUUsb0JBQW9CWix1QkFBdUJFLGVBQzNDVyx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDRixtQkFBbUJULGVBQWVDO1FBRXBGLElBQUlTLHVCQUF1QjtZQUN6QlIsbUJBQW1CO1FBQ3JCO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUIn0=
@@ -1,45 +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 verifySupposition;
9
- }
10
- });
11
- var _proofStep = /*#__PURE__*/ _interop_require_default(require("../proofStep"));
12
- var _supposition = /*#__PURE__*/ _interop_require_default(require("../supposition"));
13
- var _statement = /*#__PURE__*/ _interop_require_default(require("../verify/statement"));
14
- var _query = require("../utilities/query");
15
- var _assignments = require("../utilities/assignments");
16
- function _interop_require_default(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
19
- };
20
- }
21
- var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/supposition/unqualifiedStatement!");
22
- function verifySupposition(suppositionNode, suppositions, localContext) {
23
- var suppositionVerified = false;
24
- var suppositionString = localContext.nodeAsString(suppositionNode);
25
- localContext.trace("Verifying the '".concat(suppositionString, "' supposition..."), suppositionNode);
26
- var unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode);
27
- if (unqualifiedStatementNode !== null) {
28
- var stated = true, assignments = [], statementNode = statementNodeQuery(unqualifiedStatementNode), statementVerified = (0, _statement.default)(statementNode, assignments, stated, localContext);
29
- if (statementVerified) {
30
- var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, localContext);
31
- if (assignmentsAssigned) {
32
- var supposition = _supposition.default.fromStatementNode(statementNode), proofStep = _proofStep.default.fromStatementNode(statementNode);
33
- suppositions.push(supposition);
34
- localContext.addProofStep(proofStep);
35
- suppositionVerified = true;
36
- }
37
- }
38
- }
39
- if (suppositionVerified) {
40
- localContext.debug("...verified the '".concat(suppositionString, "' supposition."), suppositionNode);
41
- }
42
- return suppositionVerified;
43
- }
44
-
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3VwcG9zaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3Byb29mU3RlcFwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uIGZyb20gXCIuLi9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IHZlcmlmeVN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdXBwb3NpdGlvbi91bnF1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uTm9kZSwgc3VwcG9zaXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN1cHBvc2l0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwcG9zaXRpb25Ob2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmAsIHN1cHBvc2l0aW9uTm9kZSk7XG5cbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkoc3VwcG9zaXRpb25Ob2RlKTtcblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50c0Fzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudHMoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChhc3NpZ25tZW50c0Fzc2lnbmVkKSB7XG4gICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBzdXBwb3NpdGlvbnMucHVzaChzdXBwb3NpdGlvbik7XG5cbiAgICAgICAgbG9jYWxDb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuXG4gICAgICAgIHN1cHBvc2l0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi5gLCBzdXBwb3NpdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5U3VwcG9zaXRpb24iLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInN1cHBvc2l0aW9uTm9kZSIsInN1cHBvc2l0aW9ucyIsImxvY2FsQ29udGV4dCIsInN1cHBvc2l0aW9uVmVyaWZpZWQiLCJzdXBwb3NpdGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwic3RhdGVkIiwiYXNzaWdubWVudHMiLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJhc3NpZ25tZW50c0Fzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudHMiLCJzdXBwb3NpdGlvbiIsIlN1cHBvc2l0aW9uIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJwcm9vZlN0ZXAiLCJQcm9vZlN0ZXAiLCJwdXNoIiwiYWRkUHJvb2ZTdGVwIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBd0JBOzs7Z0VBVkY7a0VBQ0U7Z0VBQ0k7cUJBRUY7MkJBQ1E7Ozs7OztBQUVsQyxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMscUNBQy9CQyxnQ0FBZ0NELElBQUFBLGdCQUFTLEVBQUM7QUFFakMsU0FBU0Ysa0JBQWtCSSxlQUFlLEVBQUVDLFlBQVksRUFBRUMsWUFBWTtJQUNuRixJQUFJQyxzQkFBc0I7SUFFMUIsSUFBTUMsb0JBQW9CRixhQUFhRyxZQUFZLENBQUNMO0lBRXBERSxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQixxQkFBbUJKO0lBRTFFLElBQU1PLDJCQUEyQlIsOEJBQThCQztJQUUvRCxJQUFJTyw2QkFBNkIsTUFBTTtRQUNyQyxJQUFNQyxTQUFTLE1BQ1RDLGNBQWMsRUFBRSxFQUNoQkMsZ0JBQWdCYixtQkFBbUJVLDJCQUNuQ0ksb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDRixlQUFlRCxhQUFhRCxRQUFRTjtRQUU5RSxJQUFJUyxtQkFBbUI7WUFDckIsSUFBTUUsc0JBQXNCQyxJQUFBQSw4QkFBaUIsRUFBQ0wsYUFBYVA7WUFFM0QsSUFBSVcscUJBQXFCO2dCQUN2QixJQUFNRSxjQUFjQyxvQkFBVyxDQUFDQyxpQkFBaUIsQ0FBQ1AsZ0JBQzVDUSxZQUFZQyxrQkFBUyxDQUFDRixpQkFBaUIsQ0FBQ1A7Z0JBRTlDVCxhQUFhbUIsSUFBSSxDQUFDTDtnQkFFbEJiLGFBQWFtQixZQUFZLENBQUNIO2dCQUUxQmYsc0JBQXNCO1lBQ3hCO1FBQ0Y7SUFDRjtJQUVBLElBQUlBLHFCQUFxQjtRQUN2QkQsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQmxCLG1CQUFrQixtQkFBaUJKO0lBQzVFO0lBRUEsT0FBT0c7QUFDVCJ9
@@ -1,28 +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 verifySuppositions;
9
- }
10
- });
11
- var _supposition = /*#__PURE__*/ _interop_require_default(require("../verify/supposition"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function verifySuppositions(suppositionNodes, suppositions, localContext) {
18
- var suppositionsVerified;
19
- suppositionsVerified = suppositionNodes.every(function(suppositionNode) {
20
- var suppositionVerified = (0, _supposition.default)(suppositionNode, suppositions, localContext);
21
- if (suppositionVerified) {
22
- return true;
23
- }
24
- });
25
- return suppositionsVerified;
26
- }
27
-
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3VwcG9zaXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlTdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25Ob2Rlcywgc3VwcG9zaXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN1cHBvc2l0aW9uc1ZlcmlmaWVkO1xuXG4gIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gc3VwcG9zaXRpb25Ob2Rlcy5ldmVyeSgoc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uTm9kZSwgc3VwcG9zaXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc1ZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdXBwb3NpdGlvbnMiLCJsb2NhbENvbnRleHQiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsImV2ZXJ5Iiwic3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25WZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O2tFQUZNOzs7Ozs7QUFFZixTQUFTQSxtQkFBbUJDLGdCQUFnQixFQUFFQyxZQUFZLEVBQUVDLFlBQVk7SUFDckYsSUFBSUM7SUFFSkEsdUJBQXVCSCxpQkFBaUJJLEtBQUssQ0FBQyxTQUFDQztRQUM3QyxJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFpQixFQUFDRixpQkFBaUJKLGNBQWNDO1FBRTdFLElBQUlJLHFCQUFxQjtZQUN2QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9IO0FBQ1QifQ==
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- import { STATEMENT_META_TYPE_NAME } from "../../metaTypeNames";
4
- import { statementTokensFromStatementString } from "../../utilities/tokens";
5
-
6
- const bracketedCombinatorStatementString = `(${STATEMENT_META_TYPE_NAME})`;
7
-
8
- const bracketedCombinatorStatementTokens = statementTokensFromStatementString(bracketedCombinatorStatementString)
9
-
10
- export default bracketedCombinatorStatementTokens;
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- import { subproofNodeAsSubproofString } from "../utilities/subproof";
4
-
5
- export default function unifyPremiseWithProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB) {
6
- let premiseUnified = false;
7
-
8
- const premiseAStatementNode = premiseA.getStatementNode();
9
-
10
- if (premiseAStatementNode !== null) {
11
- const proofStepBSubproofNode = proofStepB.getSubproofNode(),
12
- proofStepBStatementNode = proofStepB.getStatementNode(),
13
- subproofNodeB = proofStepBSubproofNode, ///
14
- statementNodeB = proofStepBStatementNode, ///
15
- statementNodeA = premiseAStatementNode, ///
16
- statementStringA = localContextA.nodeAsString(statementNodeA)
17
-
18
- substitutions.snapshot();
19
-
20
- if (subproofNodeB !== null) {
21
- const subproofStringB = subproofNodeAsSubproofString(subproofNodeB, localContextB);
22
-
23
- localContextB.trace(`Unifying the '${subproofStringB}' subproof with the premise's '${statementStringA}' statement...`, subproofNodeB);
24
-
25
- const subproofUnified = premiseA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
26
-
27
- if (subproofUnified) {
28
- localContextB.debug(`...unified the '${subproofStringB}' subproof with the premise's '${statementStringA}' statement.`, subproofNodeB);
29
-
30
- premiseUnified = true;
31
- }
32
- }
33
-
34
- if (statementNodeB !== null) {
35
- const statementStringB = localContextB.nodeAsString(statementNodeB);
36
-
37
- localContextB.trace(`Unifying the '${statementStringB}' statement with the premise's '${statementStringA}' statement...`, statementNodeB);
38
-
39
- const statementUnified = premiseA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
40
-
41
- if (statementUnified) {
42
- localContextB.debug(`...unified the '${statementStringB}' statement with the premise's '${statementStringA}' statement.`, statementNodeB);
43
-
44
- premiseUnified = true;
45
- }
46
- }
47
-
48
- premiseUnified ?
49
- substitutions.continue() :
50
- substitutions.rollback(localContextA, localContextB);
51
- }
52
-
53
- return premiseUnified;
54
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- import LocalContext from "../context/local";
4
- import unifyPremiseWithProofStep from "../unify/premiseWithProofStep";
5
-
6
- import { reverse, correlate } from "../utilities/array";
7
-
8
- export default function unifyPremisesWithProofSteps(premisesA, proofStepsB, substitutions, fileContextA, localContextB) {
9
- premisesA = reverse(premisesA); ///
10
-
11
- proofStepsB = reverse(proofStepsB); ///
12
-
13
- const premisesUnified = correlate(premisesA, proofStepsB, (premiseA, proofStepB) => {
14
- const localContextA = LocalContext.fromFileContext(fileContextA),
15
- premiseUnified = unifyPremiseWithProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB);
16
-
17
- if (premiseUnified) {
18
- return true;
19
- }
20
- });
21
-
22
- return premisesUnified;
23
- }
@@ -1,208 +0,0 @@
1
- "use strict";
2
-
3
- import metavariableUnifier from "../unifier/metavariable";
4
- import StatementForMetavariableSubstitution from "../substitution/statementForMetavariable";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
- import { metavariableNameFromMetavariableNode } from "../utilities/name";
8
-
9
- const statementNodeQuery = nodeQuery("/qualifiedStatement/statement!"),
10
- metavariableNodeQuery = nodeQuery("/qualifiedStatement/reference/metavariable!");
11
-
12
- const unifyQualifiedStatementFunctions = [
13
- unifyQualifiedStatementAWithRule,
14
- unifyQualifiedStatementAWithAxiom,
15
- unifyQualifiedStatementAWithLemma,
16
- unifyQualifiedStatementAWithTheorem,
17
- unifyQualifiedStatementAWithConjecture,
18
- unifyQualifiedStatementAWithReference
19
- ];
20
-
21
- export default function unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
22
- let qualifiedStatementUnified;
23
-
24
- const qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
25
-
26
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement...`, qualifiedStatementNode);
27
-
28
- qualifiedStatementUnified = unifyQualifiedStatementFunctions.some((unifyQualifiedStatementFunction) => {
29
- const qualifiedStatementUnified = unifyQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
30
-
31
- return qualifiedStatementUnified;
32
- });
33
-
34
- if (qualifiedStatementUnified) {
35
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement.`, qualifiedStatementNode);
36
- }
37
-
38
- return qualifiedStatementUnified;
39
- }
40
-
41
- function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
42
- let qualifiedStatementUnifiedWithRule = false;
43
-
44
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
45
- rule = localContext.findRuleByMetavariableNode(metavariableNode);
46
-
47
- if (rule !== null) {
48
- const statementNode = statementNodeQuery(qualifiedStatementNode),
49
- metavariableString = localContext.nodeAsString(metavariableNode),
50
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
51
-
52
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' rule...`, qualifiedStatementNode);
53
-
54
- const statementUnified = rule.unifyStatement(statementNode, localContext);
55
-
56
- qualifiedStatementUnifiedWithRule = statementUnified; ///
57
-
58
- if (qualifiedStatementUnifiedWithRule) {
59
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' rule.`, qualifiedStatementNode);
60
- }
61
- }
62
-
63
- return qualifiedStatementUnifiedWithRule;
64
- }
65
-
66
- function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
67
- let qualifiedStatementUnifiedWithAxiom = false;
68
-
69
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
70
- axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
71
-
72
- if (axiom !== null) {
73
- const statementNode = statementNodeQuery(qualifiedStatementNode),
74
- metavariableString = localContext.nodeAsString(metavariableNode),
75
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
76
-
77
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' axiom...`, qualifiedStatementNode);
78
-
79
- const statementUnified = axiom.unifyStatement(statementNode, localContext);
80
-
81
- qualifiedStatementUnifiedWithAxiom = statementUnified; ///
82
-
83
- if (qualifiedStatementUnifiedWithAxiom) {
84
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' axiom.`, qualifiedStatementNode);
85
- }
86
- }
87
-
88
- return qualifiedStatementUnifiedWithAxiom;
89
- }
90
-
91
- function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
92
- let qualifiedStatementUnifiedWithLemma = false;
93
-
94
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
95
- lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
96
-
97
- if (lemma !== null) {
98
- const statementNode = statementNodeQuery(qualifiedStatementNode),
99
- metavariableString = localContext.nodeAsString(metavariableNode),
100
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
101
-
102
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' lemma...`, qualifiedStatementNode);
103
-
104
- const statementUnified = lemma.unifyStatement(statementNode, localContext);
105
-
106
- qualifiedStatementUnifiedWithLemma = statementUnified; ///
107
-
108
- if (qualifiedStatementUnifiedWithLemma) {
109
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' lemma.`, qualifiedStatementNode);
110
- }
111
- }
112
-
113
- return qualifiedStatementUnifiedWithLemma;
114
- }
115
-
116
- function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
117
- let qualifiedStatementUnifiedWithTheorem = false;
118
-
119
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
120
- theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
121
-
122
- if (theorem !== null) {
123
- const statementNode = statementNodeQuery(qualifiedStatementNode),
124
- metavariableString = localContext.nodeAsString(metavariableNode),
125
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
126
-
127
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' theorem...`, qualifiedStatementNode);
128
-
129
- const statementUnified = theorem.unifyStatement(statementNode, localContext);
130
-
131
- qualifiedStatementUnifiedWithTheorem = statementUnified; ///
132
-
133
- if (qualifiedStatementUnifiedWithTheorem) {
134
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' theorem.`, qualifiedStatementNode);
135
- }
136
- }
137
-
138
- return qualifiedStatementUnifiedWithTheorem;
139
- }
140
-
141
- function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
142
- let qualifiedStatementUnifiedWithConjecture = false;
143
-
144
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
145
- conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
146
-
147
- if (conjecture !== null) {
148
- const statementNode = statementNodeQuery(qualifiedStatementNode),
149
- metavariableString = localContext.nodeAsString(metavariableNode),
150
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
151
-
152
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' conjecture...`, qualifiedStatementNode);
153
-
154
- const statementUnified = conjecture.unifyStatement(statementNode, localContext);
155
-
156
- qualifiedStatementUnifiedWithConjecture = statementUnified; ///
157
-
158
- if (qualifiedStatementUnifiedWithConjecture) {
159
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' conjecture.`, qualifiedStatementNode);
160
- }
161
- }
162
-
163
- return qualifiedStatementUnifiedWithConjecture;
164
- }
165
-
166
- function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
167
- let qualifiedStatementUnifiedWithReference = false;
168
-
169
- let metavariableNode = metavariableNodeQuery(qualifiedStatementNode);
170
-
171
- const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
172
- metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
173
-
174
- if (metavariable !== null) {
175
- const statementNode = statementNodeQuery(qualifiedStatementNode),
176
- statementString = localContext.nodeAsString(statementNode),
177
- metavariableString = localContext.nodeAsString(metavariableNode);
178
-
179
- localContext.trace(`Unifying the '${statementString}' qualified statement with the '${metavariableString}' reference...`, qualifiedStatementNode);
180
-
181
- const metavariableNodeA = metavariableNode; ///
182
-
183
- metavariableNode = metavariable.getNode();
184
-
185
- const metavariableNodeB = metavariableNode; ///
186
-
187
- const unified = metavariableUnifier.unify(metavariableNodeA, metavariableNodeB, localContext);
188
-
189
- if (unified) {
190
- metavariableNode = metavariableNodeA; ///
191
-
192
- const statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromStatementNodeAndMetavariableNode(statementNode, metavariableNode),
193
- substitution = statementForMetavariableSubstitution, ///
194
- localContextA = localContext, ///
195
- localContextB = localContext; ///
196
-
197
- substitutions.addSubstitution(substitution, localContextA, localContextB);
198
-
199
- qualifiedStatementUnifiedWithReference = true;
200
- }
201
-
202
- if (qualifiedStatementUnifiedWithReference) {
203
- localContext.debug(`...unified the '${statementString}' qualified statement with the '${metavariableString}' reference.`, qualifiedStatementNode);
204
- }
205
- }
206
-
207
- return qualifiedStatementUnifiedWithReference;
208
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- import bracketedCombinator from "../ocmbinator/bracketed";
4
- import statementWithCombinatorUnifier from "../unifier/statementWithCombinator";
5
-
6
- export default function unifyStatementWithBracketedCombinator(statementNode, assignments, stated, localContext) {
7
- let statementUnifiedWithBracketedCombinator;
8
-
9
- const statementString = localContext.nodeAsString(statementNode);
10
-
11
- localContext.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`, statementNode);
12
-
13
- const bracketedCombinatorStatementNode = bracketedCombinator.getStatementNode();
14
-
15
- statementUnifiedWithBracketedCombinator = statementWithCombinatorUnifier.unify(statementNode, bracketedCombinatorStatementNode, assignments, stated, localContext);
16
-
17
- if (statementUnifiedWithBracketedCombinator) {
18
- localContext.debug(`...unified the '${statementString}' statement with the bracketed combinator.`, statementNode);
19
- }
20
-
21
- return statementUnifiedWithBracketedCombinator;
22
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- import statementWithCombinatorUnifier from "../unifier/statementWithCombinator";
4
-
5
- export default function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
6
- let statementUnifiedWithCombinator;
7
-
8
- const statementString = localContext.nodeAsString(statementNode),
9
- combinatorString = combinator.getString();
10
-
11
- localContext.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`, statementNode);
12
-
13
- const combinatorStatementNode = combinator.getStatementNode();
14
-
15
- statementUnifiedWithCombinator = statementWithCombinatorUnifier.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
16
-
17
- if (statementUnifiedWithCombinator) {
18
- localContext.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`, statementNode);
19
- }
20
-
21
- return statementUnifiedWithCombinator;
22
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- import unifyStatementWithCombinator from "../unify/statementWithCombinator";
4
-
5
- export default function unifyStatementWithCombinators(statementNode, assignments, stated, localContext) {
6
- let statementUnifiedWithCombinators;
7
-
8
- const combinators = localContext.getCombinators();
9
-
10
- assignments = null; ///
11
-
12
- stated = true; ///
13
-
14
- statementUnifiedWithCombinators = combinators.some((combinator) => {
15
- const statementUnifiedWithCombinator = unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext);
16
-
17
- if (statementUnifiedWithCombinator) {
18
- return true;
19
- }
20
- });
21
-
22
- return statementUnifiedWithCombinators;
23
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- import verifyStatementGivenMetaType from "../verify/statementGivenMetaType";
4
-
5
- export default function unifyStatementWithMetaType(statementNode, metaTypeNode, assignments, stated, localContext) {
6
- let statementUnifiedWithMetaType;
7
-
8
- const metaType = localContext.findMetaTypeByMetaTypeNode(metaTypeNode),
9
- statementVerifiedGivenMetaType = verifyStatementGivenMetaType(statementNode, metaType, assignments, stated, localContext);
10
-
11
- statementUnifiedWithMetaType = statementVerifiedGivenMetaType; ///
12
-
13
- return statementUnifiedWithMetaType;
14
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- import Conclusion from "../conclusion";
4
- import verifyStatement from "../verify/statement";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
-
8
- const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
9
- unqualifiedStatementNodeQuery = nodeQuery("/conclusion/unqualifiedStatement!");
10
-
11
- export default function verifyConclusion(conclusionNode, conclusions, localContext) {
12
- let conclusionVerified = false;
13
-
14
- const conclusionString = localContext.nodeAsString(conclusionNode);
15
-
16
- localContext.trace(`Verifying the '${conclusionString}' conclusion...`, conclusionNode);
17
-
18
- const unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode);
19
-
20
- if (unqualifiedStatementNode !== null) {
21
- const stated = true,
22
- assignments = null,
23
- statementNode = statementNodeQuery(unqualifiedStatementNode),
24
- statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
25
-
26
- if (statementVerified) {
27
- const conclusion = Conclusion.fromStatementNode(statementNode);
28
-
29
- conclusions.push(conclusion);
30
-
31
- conclusionVerified = true;
32
- }
33
- }
34
-
35
- if (conclusionVerified) {
36
- localContext.debug(`...verified the '${conclusionString}' conclusion.`, conclusionNode);
37
- }
38
-
39
- return conclusionVerified;
40
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- import verifyProofStep from "../verify/proofStep";
4
-
5
- import { nodesQuery } from "../utilities/query";
6
-
7
- const proofStepNodesQuery = nodesQuery("/derivation/proofStep|lastProofStep");
8
-
9
- export default function verifyDerivation(derivationNode, substitutions, localContext) {
10
- let derivationVerified;
11
-
12
- const proofStepNodes = proofStepNodesQuery(derivationNode);
13
-
14
- derivationVerified = proofStepNodes.every((proofStepNode) => {
15
- const proofStepVerified = verifyProofStep(proofStepNode, substitutions, localContext);
16
-
17
- if (proofStepVerified) {
18
- return true;
19
- }
20
- });
21
-
22
- return derivationVerified;
23
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- import Label from "../label";
4
-
5
- import { nodeQuery } from "../utilities/query";
6
-
7
- const metavariableNodeQuery = nodeQuery("/label/metavariable!");
8
-
9
- export default function verifyLabel(labelNode, labels, fileContext) {
10
- let labelVerified = false;
11
-
12
- const labelString = fileContext.nodeAsString(labelNode);
13
-
14
- fileContext.trace(`Verifying the '${labelString}' label...`, labelNode);
15
-
16
- const metavariableNode = metavariableNodeQuery(labelNode),
17
- labelPresent = fileContext.isLabelPresentByMetavariableNode(metavariableNode);
18
-
19
- if (labelPresent) {
20
- fileContext.debug(`The '${labelString}' label is already present.`, labelNode);
21
- } else {
22
- const label = Label.fromMetavariableNode(metavariableNode);
23
-
24
- labels.push(label);
25
-
26
- labelVerified = true;
27
- }
28
-
29
- if (labelVerified) {
30
- fileContext.debug(`...verified the '${labelString}' label.`, labelNode);
31
- }
32
-
33
- return labelVerified;
34
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- import verifyLabel from "../verify/label";
4
-
5
- export default function verifyLabels(labelNodes, labels, fileContext) {
6
- let labelsVerified;
7
-
8
- labelsVerified = labelNodes.every((labelNode) => {
9
- const labelVerified = verifyLabel(labelNode, labels, fileContext);
10
-
11
- if (labelVerified) {
12
- return true;
13
- }
14
- });
15
-
16
- return labelsVerified;
17
- }