occam-verify-cli 0.0.1067 → 0.0.1068

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 (73) hide show
  1. package/lib/assertion/contained.js +2 -2
  2. package/lib/assertion/defined.js +2 -2
  3. package/lib/assignment/judgement.js +3 -3
  4. package/lib/conclusion.js +4 -4
  5. package/lib/consequent.js +4 -4
  6. package/lib/declaration.js +90 -3
  7. package/lib/frame.js +109 -48
  8. package/lib/judgement.js +84 -5
  9. package/lib/metaType.js +24 -3
  10. package/lib/metavariable.js +93 -25
  11. package/lib/mixins/statement/unify.js +2 -17
  12. package/lib/mixins/statement/verify.js +13 -13
  13. package/lib/premise.js +10 -6
  14. package/lib/reference.js +11 -9
  15. package/lib/rule.js +5 -2
  16. package/lib/ruleNames.js +5 -1
  17. package/lib/statement/unqualified.js +26 -2
  18. package/lib/statement.js +4 -2
  19. package/lib/substitution/frameForMetavariable.js +61 -60
  20. package/lib/substitution/statementForMetavariable.js +52 -29
  21. package/lib/substitution/termForVariable.js +53 -52
  22. package/lib/substitution.js +28 -28
  23. package/lib/substitutions.js +46 -40
  24. package/lib/supposition.js +4 -4
  25. package/lib/unifier/intrinsicLevel.js +4 -4
  26. package/lib/unifier/metaLevel.js +11 -7
  27. package/lib/unifier/statementWithCombinator.js +2 -2
  28. package/lib/utilities/node.js +24 -10
  29. package/lib/utilities/tokens.js +8 -1
  30. package/lib/variable.js +9 -5
  31. package/package.json +1 -1
  32. package/src/assertion/contained.js +1 -1
  33. package/src/assertion/defined.js +1 -1
  34. package/src/assignment/judgement.js +3 -4
  35. package/src/conclusion.js +4 -4
  36. package/src/consequent.js +4 -4
  37. package/src/declaration.js +57 -4
  38. package/src/frame.js +149 -90
  39. package/src/judgement.js +109 -3
  40. package/src/metaType.js +29 -3
  41. package/src/metavariable.js +145 -42
  42. package/src/mixins/statement/unify.js +1 -23
  43. package/src/mixins/statement/verify.js +15 -13
  44. package/src/premise.js +13 -6
  45. package/src/reference.js +11 -7
  46. package/src/rule.js +7 -1
  47. package/src/ruleNames.js +1 -0
  48. package/src/statement/unqualified.js +31 -1
  49. package/src/statement.js +3 -1
  50. package/src/substitution/frameForMetavariable.js +65 -84
  51. package/src/substitution/statementForMetavariable.js +63 -32
  52. package/src/substitution/termForVariable.js +56 -77
  53. package/src/substitution.js +21 -21
  54. package/src/substitutions.js +51 -46
  55. package/src/supposition.js +4 -4
  56. package/src/unifier/intrinsicLevel.js +4 -3
  57. package/src/unifier/metaLevel.js +19 -7
  58. package/src/unifier/statementWithCombinator.js +1 -1
  59. package/src/utilities/node.js +26 -10
  60. package/src/utilities/tokens.js +7 -0
  61. package/src/variable.js +14 -5
  62. package/lib/unify/metavariableWithFrame.js +0 -40
  63. package/lib/unify/simpleSubstitutionStatementWithComplexSubstitutionStatement.js +0 -31
  64. package/lib/verify/declaration.js +0 -83
  65. package/lib/verify/frame.js +0 -120
  66. package/lib/verify/judgement.js +0 -88
  67. package/lib/verify/metavariableGivenMetaType.js +0 -44
  68. package/src/unify/metavariableWithFrame.js +0 -40
  69. package/src/unify/simpleSubstitutionStatementWithComplexSubstitutionStatement.js +0 -27
  70. package/src/verify/declaration.js +0 -113
  71. package/src/verify/frame.js +0 -157
  72. package/src/verify/judgement.js +0 -127
  73. package/src/verify/metavariableGivenMetaType.js +0 -45
@@ -1,120 +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 verifyFrame;
9
- }
10
- });
11
- var _frame = /*#__PURE__*/ _interop_require_default(require("../frame"));
12
- var _declaration = /*#__PURE__*/ _interop_require_default(require("../verify/declaration"));
13
- var _metavariableGivenMetaType = /*#__PURE__*/ _interop_require_default(require("./metavariableGivenMetaType"));
14
- var _metaType = require("../metaType");
15
- var _query = require("../utilities/query");
16
- var _name = require("../utilities/name");
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
21
- }
22
- var metavariableNodeQuery = (0, _query.nodeQuery)("/frame/metavariable"), declarationNodesQuery = (0, _query.nodesQuery)("/frame/declaration"), metavariableNodesQuery = (0, _query.nodesQuery)("/frame/metavariable");
23
- var verifyFrameFunctions = [
24
- verifyDerivedFrame,
25
- verifyStatedFrame
26
- ];
27
- function verifyFrame(frameNode, frames, stated, localContext) {
28
- var frameVerified;
29
- var frameString = localContext.nodeAsString(frameNode);
30
- localContext.trace("Verifying the '".concat(frameString, "' frame..."));
31
- frameVerified = verifyFrameFunctions.some(function(verifyFrameFunction) {
32
- var frameVerified = verifyFrameFunction(frameNode, frames, stated, localContext);
33
- if (frameVerified) {
34
- return true;
35
- }
36
- });
37
- if (frameVerified) {
38
- localContext.debug("...verified the '".concat(frameString, "' frame."));
39
- }
40
- return frameVerified;
41
- }
42
- function verifyDerivedFrame(frameNode, frames, stated, localContext) {
43
- var derivedFrameVerified;
44
- if (!stated) {
45
- var frameString = localContext.nodeAsString(frameNode);
46
- localContext.trace("Verifying the '".concat(frameString, "' derived frame..."));
47
- var declarations = [], declarationNodes = declarationNodesQuery(frameNode), declarationsVerified = declarationNodes.every(function(declarationNode) {
48
- var declarationVerified = (0, _declaration.default)(declarationNode, declarations, stated, localContext);
49
- if (declarationVerified) {
50
- return true;
51
- }
52
- });
53
- if (declarationsVerified) {
54
- var metavariableNodes = metavariableNodesQuery(frameNode), metavariablesVerified = metavariableNodes.every(function(metavariableNode) {
55
- var metavariableVerified = verifyMetavariable(metavariableNode, declarations, localContext);
56
- if (metavariableVerified) {
57
- return true;
58
- }
59
- });
60
- if (metavariablesVerified) {
61
- var frame = _frame.default.fromDeclarations(declarations);
62
- frames.push(frame);
63
- derivedFrameVerified = true; ///
64
- }
65
- }
66
- if (derivedFrameVerified) {
67
- localContext.debug("...verified the '".concat(frameString, "' derived frame."));
68
- }
69
- }
70
- return derivedFrameVerified;
71
- }
72
- function verifyStatedFrame(frameNode, frames, stated, localContext) {
73
- var statedFrameVerified;
74
- if (stated) {
75
- var frameString = localContext.nodeAsString(frameNode);
76
- localContext.trace("Verifying the '".concat(frameString, "' stated frame..."));
77
- var declarationNodes = declarationNodesQuery(frameNode), declarationNodesLength = declarationNodes.length;
78
- if (declarationNodesLength === 0) {
79
- var metavariableNode = metavariableNodeQuery(frameNode);
80
- if (metavariableNode !== null) {
81
- var metaType = _metaType.frameMetaType, metavariableVerifiedGivenMetaType = (0, _metavariableGivenMetaType.default)(metavariableNode, metaType, localContext);
82
- if (metavariableVerifiedGivenMetaType) {
83
- var frame = _frame.default.fromMetavariableNode(metavariableNode);
84
- frames.push(frame);
85
- statedFrameVerified = true;
86
- }
87
- } else {
88
- localContext.trace("The '".concat(frameString, "' stated frame cannot have more than one metavariable."));
89
- }
90
- } else {
91
- localContext.trace("The '".concat(frameString, "' stated frame cannot have declarations."));
92
- }
93
- if (statedFrameVerified) {
94
- localContext.debug("...verified the '".concat(frameString, "' stated frame."));
95
- }
96
- }
97
- return statedFrameVerified;
98
- }
99
- function verifyMetavariable(metavariableNode, declarations, localContext) {
100
- var metavariableVerified = false;
101
- var metavariableString = localContext.nodeAsString(metavariableNode);
102
- localContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."));
103
- var metaType = _metaType.frameMetaType, metavariableVerifiedGivenMetaType = (0, _metavariableGivenMetaType.default)(metavariableNode, metaType, localContext);
104
- if (metavariableVerifiedGivenMetaType) {
105
- var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), judgement = localContext.findJudgementByMetavariableName(metavariableName);
106
- if (judgement !== null) {
107
- var declaration = judgement.getDeclaration();
108
- declarations.push(declaration);
109
- metavariableVerified = true;
110
- } else {
111
- localContext.trace("There is no judgement for the '".concat(metavariableString, "' metavariable."));
112
- }
113
- }
114
- if (metavariableVerified) {
115
- localContext.debug("...verified the '".concat(metavariableString, "' metavariable."));
116
- }
117
- return metavariableVerified;
118
- }
119
-
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCB2ZXJpZnlEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZSBmcm9tIFwiLi9tZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlXCI7XG5cbmltcG9ydCB7IGZyYW1lTWV0YVR5cGUgfSBmcm9tIFwiLi4vbWV0YVR5cGVcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZnJhbWUvbWV0YXZhcmlhYmxlXCIpLFxuICAgICAgZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9mcmFtZS9kZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2ZyYW1lL21ldGF2YXJpYWJsZVwiKTtcblxuY29uc3QgdmVyaWZ5RnJhbWVGdW5jdGlvbnMgPSBbXG4gIHZlcmlmeURlcml2ZWRGcmFtZSxcbiAgdmVyaWZ5U3RhdGVkRnJhbWVcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZnJhbWVWZXJpZmllZDtcblxuICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS4uLmApO1xuXG4gIGZyYW1lVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlGcmFtZUZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lRnVuY3Rpb24oZnJhbWVOb2RlLCBmcmFtZXMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS5gKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkRnJhbWUoZnJhbWVOb2RlLCBmcmFtZXMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkRnJhbWVWZXJpZmllZDtcblxuICBpZiAoIXN0YXRlZCkge1xuICAgIGNvbnN0IGZyYW1lU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhmcmFtZU5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lU3RyaW5nfScgZGVyaXZlZCBmcmFtZS4uLmApO1xuXG4gICAgY29uc3QgZGVjbGFyYXRpb25zID0gW10sXG4gICAgICAgICAgZGVjbGFyYXRpb25Ob2RlcyA9IGRlY2xhcmF0aW9uTm9kZXNRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICAgIGRlY2xhcmF0aW9uc1ZlcmlmaWVkID0gZGVjbGFyYXRpb25Ob2Rlcy5ldmVyeSgoZGVjbGFyYXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5RGVjbGFyYXRpb24oZGVjbGFyYXRpb25Ob2RlLCBkZWNsYXJhdGlvbnMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGRlY2xhcmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoZGVjbGFyYXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVzID0gbWV0YXZhcmlhYmxlTm9kZXNRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlc1ZlcmlmaWVkID0gbWV0YXZhcmlhYmxlTm9kZXMuZXZlcnkoKG1ldGF2YXJpYWJsZU5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZXNWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmcmFtZSA9IEZyYW1lLmZyb21EZWNsYXJhdGlvbnMoZGVjbGFyYXRpb25zKTtcblxuICAgICAgICBmcmFtZXMucHVzaChmcmFtZSk7XG5cbiAgICAgICAgZGVyaXZlZEZyYW1lVmVyaWZpZWQgPSB0cnVlOyAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVyaXZlZEZyYW1lVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgZGVyaXZlZCBmcmFtZS5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZEZyYW1lVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkRnJhbWVWZXJpZmllZDtcblxuICBpZiAoc3RhdGVkKSB7XG4gICAgY29uc3QgZnJhbWVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBzdGF0ZWQgZnJhbWUuLi5gKTtcblxuICAgIGNvbnN0IGRlY2xhcmF0aW9uTm9kZXMgPSBkZWNsYXJhdGlvbk5vZGVzUXVlcnkoZnJhbWVOb2RlKSxcbiAgICAgICAgICBkZWNsYXJhdGlvbk5vZGVzTGVuZ3RoID0gZGVjbGFyYXRpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoZGVjbGFyYXRpb25Ob2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShmcmFtZU5vZGUpO1xuXG4gICAgICBpZiAobWV0YXZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBtZXRhVHlwZSA9IGZyYW1lTWV0YVR5cGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUgPSB2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUpIHtcbiAgICAgICAgICBjb25zdCBmcmFtZSA9IEZyYW1lLmZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgICAgZnJhbWVzLnB1c2goZnJhbWUpO1xuXG4gICAgICAgICAgc3RhdGVkRnJhbWVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsQ29udGV4dC50cmFjZShgVGhlICcke2ZyYW1lU3RyaW5nfScgc3RhdGVkIGZyYW1lIGNhbm5vdCBoYXZlIG1vcmUgdGhhbiBvbmUgbWV0YXZhcmlhYmxlLmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbENvbnRleHQudHJhY2UoYFRoZSAnJHtmcmFtZVN0cmluZ30nIHN0YXRlZCBmcmFtZSBjYW5ub3QgaGF2ZSBkZWNsYXJhdGlvbnMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEZyYW1lVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgc3RhdGVkIGZyYW1lLmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRGcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgY29uc3QgbWV0YVR5cGUgPSBmcmFtZU1ldGFUeXBlLCAvLy9cbiAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBqdWRnZW1lbnQgPSBsb2NhbENvbnRleHQuZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICAgIGlmIChqdWRnZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0ganVkZ2VtZW50LmdldERlY2xhcmF0aW9uKCk7XG5cbiAgICAgIGRlY2xhcmF0aW9ucy5wdXNoKGRlY2xhcmF0aW9uKTtcblxuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbENvbnRleHQudHJhY2UoYFRoZXJlIGlzIG5vIGp1ZGdlbWVudCBmb3IgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gKTtcbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59Il0sIm5hbWVzIjpbInZlcmlmeUZyYW1lIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVzUXVlcnkiLCJ2ZXJpZnlGcmFtZUZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRGcmFtZSIsInZlcmlmeVN0YXRlZEZyYW1lIiwiZnJhbWVOb2RlIiwiZnJhbWVzIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwiZnJhbWVWZXJpZmllZCIsImZyYW1lU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidmVyaWZ5RnJhbWVGdW5jdGlvbiIsImRlYnVnIiwiZGVyaXZlZEZyYW1lVmVyaWZpZWQiLCJkZWNsYXJhdGlvbnMiLCJkZWNsYXJhdGlvbk5vZGVzIiwiZGVjbGFyYXRpb25zVmVyaWZpZWQiLCJldmVyeSIsImRlY2xhcmF0aW9uTm9kZSIsImRlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZU5vZGVzIiwibWV0YXZhcmlhYmxlc1ZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwiZnJhbWUiLCJGcmFtZSIsImZyb21EZWNsYXJhdGlvbnMiLCJwdXNoIiwic3RhdGVkRnJhbWVWZXJpZmllZCIsImRlY2xhcmF0aW9uTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJtZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUiLCJ2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlIiwiZnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50IiwiZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTmFtZSIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW1CQTs7O2VBQXdCQTs7OzREQWpCTjtrRUFDWTtnRkFDYzt3QkFFZDtxQkFDUTtvQkFDZTs7Ozs7O0FBRXJELElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDbENDLHdCQUF3QkMsSUFBQUEsaUJBQVUsRUFBQyx1QkFDbkNDLHlCQUF5QkQsSUFBQUEsaUJBQVUsRUFBQztBQUUxQyxJ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
@@ -1,88 +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 verifyJudgement;
9
- }
10
- });
11
- var _necessary = require("necessary");
12
- var _judgement = /*#__PURE__*/ _interop_require_default(require("../judgement"));
13
- var _frame = /*#__PURE__*/ _interop_require_default(require("../verify/frame"));
14
- var _declaration = /*#__PURE__*/ _interop_require_default(require("./declaration"));
15
- var _judgement1 = /*#__PURE__*/ _interop_require_default(require("../assignment/judgement"));
16
- var _query = require("../utilities/query");
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
21
- }
22
- var first = _necessary.arrayUtilities.first;
23
- var frameNodeQuery = (0, _query.nodeQuery)("/judgement/frame"), declarationNodeQuery = (0, _query.nodeQuery)("/judgement/declaration");
24
- var verifyJudgementFunctions = [
25
- verifyDerivedJudgement,
26
- verifyStatedJudgement
27
- ];
28
- function verifyJudgement(judgementNode, assignments, stated, localContext) {
29
- var judgementVerified;
30
- var judgementString = localContext.nodeAsString(judgementNode);
31
- localContext.trace("Verifying the '".concat(judgementString, "' judgement..."), judgementNode);
32
- judgementVerified = verifyJudgementFunctions.some(function(verifyJudgementFunction) {
33
- var judgementVerified = verifyJudgementFunction(judgementNode, assignments, stated, localContext);
34
- if (judgementVerified) {
35
- return true;
36
- }
37
- });
38
- if (judgementVerified) {
39
- localContext.debug("...verified the '".concat(judgementString, "' judgement."), judgementNode);
40
- }
41
- return judgementVerified;
42
- }
43
- function verifyDerivedJudgement(judgementNode, assignments, stated, localContext) {
44
- var derivedJudgementVerified = false;
45
- if (!stated) {
46
- var judgementString = localContext.nodeAsString(judgementNode);
47
- localContext.trace("Verifying the '".concat(judgementString, "' derived judgement..."), judgementNode);
48
- var declarations = [], declarationNode = declarationNodeQuery(judgementNode), declarationVerified = (0, _declaration.default)(declarationNode, declarations, stated, localContext);
49
- if (declarationVerified) {
50
- var firstDeclaration = first(declarations), declaration = firstDeclaration, metavariableNode = declaration.getMetavariableNode(), metatheorem = localContext.findMetatheoremByMetavariableNode(metavariableNode), metaLemma = localContext.findMetaLemmaByMetavariableNode(metavariableNode), metaLemmaMetatheorem = metaLemma || metatheorem; ///
51
- if (metaLemmaMetatheorem !== null) {
52
- var frames = [], frameNode = frameNodeQuery(judgementNode), frameVerified = (0, _frame.default)(frameNode, frames, stated, localContext);
53
- if (frameVerified) {
54
- var firstFrame = first(frames), frame = firstFrame, metaLemmaMetatheoremUnified = frame.unifyMetaLemmaOrMetatheorem(metaLemmaMetatheorem);
55
- derivedJudgementVerified = metaLemmaMetatheoremUnified; ///
56
- }
57
- }
58
- }
59
- if (derivedJudgementVerified) {
60
- localContext.debug("...verified the '".concat(judgementString, "' derived judgement."), judgementNode);
61
- }
62
- }
63
- return derivedJudgementVerified;
64
- }
65
- function verifyStatedJudgement(judgementNode, assignments, stated, localContext) {
66
- var statedJudgementVerified = false;
67
- if (stated) {
68
- var judgementString = localContext.nodeAsString(judgementNode);
69
- localContext.trace("Verifying the '".concat(judgementString, "' stated judgement..."), judgementNode);
70
- var frames = [], frameNode = frameNodeQuery(judgementNode), frameVerified = (0, _frame.default)(frameNode, frames, stated, localContext);
71
- if (frameVerified) {
72
- var declarations = [], declarationNode = declarationNodeQuery(judgementNode), declarationVerified = (0, _declaration.default)(declarationNode, declarations, stated, localContext);
73
- if (declarationVerified) {
74
- if (assignments !== null) {
75
- var firstDeclaration = first(declarations), firstFrame = first(frames), frame = firstFrame, declaration = firstDeclaration, judgement = _judgement.default.fromJudgementNodeFrameAndDeclaration(judgementNode, frame, declaration), judgementAssignment = _judgement1.default.fromJudgement(judgement), assignment = judgementAssignment;
76
- assignments.push(assignment);
77
- }
78
- statedJudgementVerified = true;
79
- }
80
- }
81
- if (statedJudgementVerified) {
82
- localContext.debug("...verified the '".concat(judgementString, "' stated judgement."), judgementNode);
83
- }
84
- }
85
- return statedJudgementVerified;
86
- }
87
-
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEp1ZGdlbWVudCBmcm9tIFwiLi4vanVkZ2VtZW50XCI7XG5pbXBvcnQgdmVyaWZ5RnJhbWUgZnJvbSBcIi4uL3ZlcmlmeS9mcmFtZVwiO1xuaW1wb3J0IHZlcmlmeURlY2xhcmF0aW9uIGZyb20gXCIuL2RlY2xhcmF0aW9uXCI7XG5pbXBvcnQgSnVkZ2VtZW50QXNzaWdubWVudCBmcm9tIFwiLi4vYXNzaWdubWVudC9qdWRnZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lXCIpLFxuICAgICAgZGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2RlY2xhcmF0aW9uXCIpO1xuXG5jb25zdCB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbnMgPSBbXG4gIHZlcmlmeURlcml2ZWRKdWRnZW1lbnQsXG4gIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuXTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQganVkZ2VtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QganVkZ2VtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhqdWRnZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBqdWRnZW1lbnRWZXJpZmllZCA9IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGp1ZGdlbWVudFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKCFzdGF0ZWQpIHtcbiAgICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvbnMgPSBbXSxcbiAgICAgICAgICBkZWNsYXJhdGlvbk5vZGUgPSBkZWNsYXJhdGlvbk5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICBkZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5RGVjbGFyYXRpb24oZGVjbGFyYXRpb25Ob2RlLCBkZWNsYXJhdGlvbnMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmaXJzdERlY2xhcmF0aW9uID0gZmlyc3QoZGVjbGFyYXRpb25zKSxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uID0gZmlyc3REZWNsYXJhdGlvbiwgLy8vXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgbWV0YXRoZW9yZW0gPSBsb2NhbENvbnRleHQuZmluZE1ldGF0aGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSksXG4gICAgICAgICAgICAgIGZyYW1lVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZShmcmFtZU5vZGUsIGZyYW1lcywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgICAgZnJhbWUgPSBmaXJzdEZyYW1lLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWQgPSBmcmFtZS51bmlmeU1ldGFMZW1tYU9yTWV0YXRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gbWV0YUxlbW1hTWV0YXRoZW9yZW1VbmlmaWVkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKHN0YXRlZCkge1xuICAgIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgc3RhdGVkIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgZnJhbWVzID0gW10sXG4gICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSksXG4gICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgY29uc3QgZGVjbGFyYXRpb25zID0gW10sXG4gICAgICAgICAgICBkZWNsYXJhdGlvbk5vZGUgPSBkZWNsYXJhdGlvbk5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoZGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICAgICBpZiAoYXNzaWdubWVudHMgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBmaXJzdERlY2xhcmF0aW9uID0gZmlyc3QoZGVjbGFyYXRpb25zKSxcbiAgICAgICAgICAgICAgICBmaXJzdEZyYW1lID0gZmlyc3QoZnJhbWVzKSxcbiAgICAgICAgICAgICAgICBmcmFtZSA9IGZpcnN0RnJhbWUsXG4gICAgICAgICAgICAgICAgZGVjbGFyYXRpb24gPSBmaXJzdERlY2xhcmF0aW9uLCAvLy9cbiAgICAgICAgICAgICAgICBqdWRnZW1lbnQgPSBKdWRnZW1lbnQuZnJvbUp1ZGdlbWVudE5vZGVGcmFtZUFuZERlY2xhcmF0aW9uKGp1ZGdlbWVudE5vZGUsIGZyYW1lLCBkZWNsYXJhdGlvbiksXG4gICAgICAgICAgICAgICAganVkZ2VtZW50QXNzaWdubWVudCA9IEp1ZGdlbWVudEFzc2lnbm1lbnQuZnJvbUp1ZGdlbWVudChqdWRnZW1lbnQpLFxuICAgICAgICAgICAgICAgIGFzc2lnbm1lbnQgPSBqdWRnZW1lbnRBc3NpZ25tZW50O1xuXG4gICAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIHN0YXRlZCBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUp1ZGdlbWVudCIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJmcmFtZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwidmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZEp1ZGdlbWVudCIsInZlcmlmeVN0YXRlZEp1ZGdlbWVudCIsImp1ZGdlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZCIsImRlY2xhcmF0aW9ucyIsImRlY2xhcmF0aW9uTm9kZSIsImRlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZWNsYXJhdGlvbiIsImZpcnN0RGVjbGFyYXRpb24iLCJkZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YXRoZW9yZW0iLCJmaW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhTGVtbWEiLCJmaW5kTWV0YUxlbW1hQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJmcmFtZXMiLCJmcmFtZU5vZGUiLCJmcmFtZVZlcmlmaWVkIiwidmVyaWZ5RnJhbWUiLCJmaXJzdEZyYW1lIiwiZnJhbWUiLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWQiLCJ1bmlmeU1ldGFMZW1tYU9yTWV0YXRoZW9yZW0iLCJzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCIsImp1ZGdlbWVudCIsIkp1ZGdlbWVudCIsImZyb21KdWRnZW1lbnROb2RlRnJhbWVBbmREZWNsYXJhdGlvbiIsImp1ZGdlbWVudEFzc2lnbm1lbnQiLCJKdWRnZW1lbnRBc3NpZ25tZW50IiwiZnJvbUp1ZGdlbWVudCIsImFzc2lnbm1lbnQiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxQkE7OztlQUF3QkE7Ozt5QkFuQk87Z0VBRVQ7NERBQ0U7a0VBQ007aUVBQ0U7cUJBRU47Ozs7OztBQUUxQixJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVSLElBQU1FLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQkFDM0JDLHVCQUF1QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QyxJQUFNRSwyQkFBMkI7SUFDL0JDO0lBQ0FDO0NBQ0Q7QUFFYyxTQUFTUixnQkFBZ0JTLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDdEYsSUFBSUM7SUFFSixJQUFNQyxrQkFBa0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFbERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLG1CQUFpQkw7SUFFdEVJLG9CQUFvQlAseUJBQXlCVyxJQUFJLENBQUMsU0FBQ0M7UUFDakQsSUFBTUwsb0JBQW9CSyx3QkFBd0JULGVBQWVDLGFBQWFDLFFBQVFDO1FBRXRGLElBQUlDLG1CQUFtQjtZQUNyQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLG1CQUFtQjtRQUNyQkQsYUFBYU8sS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCTCxpQkFBZ0IsaUJBQWVMO0lBQ3hFO0lBRUEsT0FBT0k7QUFDVDtBQUVBLFNBQVNOLHVCQUF1QkUsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUM5RSxJQUFJUSwyQkFBMkI7SUFFL0IsSUFBSSxDQUFDVCxRQUFRO1FBQ1gsSUFBTUcsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNOO1FBRWxERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJGLGlCQUFnQiwyQkFBeUJMO1FBRTlFLElBQU1ZLGVBQWUsRUFBRSxFQUNqQkMsa0JBQWtCakIscUJBQXFCSSxnQkFDdkNjLHNCQUFzQkMsSUFBQUEsb0JBQWlCLEVBQUNGLGlCQUFpQkQsY0FBY1YsUUFBUUM7UUFFckYsSUFBSVcscUJBQXFCO1lBQ3ZCLElBQU1FLG1CQUFtQnhCLE1BQU1vQixlQUN6QkssY0FBY0Qsa0JBQ2RFLG1CQUFtQkQsWUFBWUUsbUJBQW1CLElBQ2xEQyxjQUFjakIsYUFBYWtCLGlDQUFpQyxDQUFDSCxtQkFDN0RJLFlBQVluQixhQUFhb0IsK0JBQStCLENBQUNMLG1CQUN6RE0sdUJBQXdCRixhQUFhRixhQUFlLEdBQUc7WUFFN0QsSUFBSUkseUJBQXlCLE1BQU07Z0JBQ2pDLElBQU1DLFNBQVMsRUFBRSxFQUNYQyxZQUFZaEMsZUFBZU0sZ0JBQzNCMkIsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNGLFdBQVdELFFBQVF2QixRQUFRQztnQkFFN0QsSUFBSXdCLGVBQWU7b0JBQ2pCLElBQU1FLGFBQWFyQyxNQUFNaUMsU0FDbkJLLFFBQVFELFlBQ1JFLDhCQUE4QkQsTUFBTUUsMkJBQTJCLENBQUNSO29CQUV0RWIsMkJBQTJCb0IsNkJBQTZCLEdBQUc7Z0JBQzdEO1lBQ0Y7UUFDRjtRQUVBLElBQUlwQiwwQkFBMEI7WUFDNUJSLGFBQWFPLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQkwsaUJBQWdCLHlCQUF1Qkw7UUFDaEY7SUFDRjtJQUVBLE9BQU9XO0FBQ1Q7QUFFQSxTQUFTWixzQkFBc0JDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDN0UsSUFBSThCLDBCQUEwQjtJQUU5QixJQUFJL0IsUUFBUTtRQUNWLElBQU1HLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtRQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsMEJBQXdCTDtRQUU3RSxJQUFNeUIsU0FBUyxFQUFFLEVBQ1hDLFlBQVloQyxlQUFlTSxnQkFDM0IyQixnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ0YsV0FBV0QsUUFBUXZCLFFBQVFDO1FBRTdELElBQUl3QixlQUFlO1lBQ2pCLElBQU1mLGVBQWUsRUFBRSxFQUNqQkMsa0JBQWtCakIscUJBQXFCSSxnQkFDdkNjLHNCQUFzQkMsSUFBQUEsb0JBQWlCLEVBQUNGLGlCQUFpQkQsY0FBY1YsUUFBUUM7WUFFckYsSUFBSVcscUJBQXFCO2dCQUN2QixJQUFJYixnQkFBZ0IsTUFBTTtvQkFDeEIsSUFBTWUsbUJBQW1CeEIsTUFBTW9CLGVBQ3pCaUIsYUFBYXJDLE1BQU1pQyxTQUNuQkssUUFBUUQsWUFDUlosY0FBY0Qsa0JBQ2RrQixZQUFZQyxrQkFBUyxDQUFDQyxvQ0FBb0MsQ0FBQ3BDLGVBQWU4QixPQUFPYixjQUNqRm9CLHNCQUFzQkMsbUJBQW1CLENBQUNDLGFBQWEsQ0FBQ0wsWUFDeERNLGFBQWFIO29CQUVuQnBDLFlBQVl3QyxJQUFJLENBQUNEO2dCQUNuQjtnQkFFQVAsMEJBQTBCO1lBQzVCO1FBQ0Y7UUFFQSxJQUFJQSx5QkFBeUI7WUFDM0I5QixhQUFhTyxLQUFLLENBQUMsQUFBQyxvQkFBbUMsT0FBaEJMLGlCQUFnQix3QkFBc0JMO1FBQy9FO0lBQ0Y7SUFFQSxPQUFPaUM7QUFDVCJ9
@@ -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 verifyMetavariableGivenMetaType;
9
- }
10
- });
11
- var _metavariable = /*#__PURE__*/ _interop_require_default(require("../unifier/metavariable"));
12
- var _name = require("../utilities/name");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function verifyMetavariableGivenMetaType(metavariableNode, metaType, localContext) {
19
- var metavariableVerifiedGivenMetaType = false;
20
- var metaTypeName = metaType.getName(), metavariableString = localContext.nodeAsString(metavariableNode);
21
- localContext.trace("Verifying the '".concat(metavariableString, "' metavariable given the '").concat(metaTypeName, "' meta-type..."), metavariableNode);
22
- var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
23
- if (metavariable !== null) {
24
- var metavariableMetaType = metavariable.getMetaType();
25
- if (metavariableMetaType === metaType) {
26
- var metavariableNodeA = metavariableNode; ///
27
- metavariableNode = metavariable.getNode();
28
- var metavariableNodeB = metavariableNode; ///
29
- var metavariableUnified = _metavariable.default.unify(metavariableNodeA, metavariableNodeB, localContext);
30
- metavariableVerifiedGivenMetaType = metavariableUnified; ///
31
- } else {
32
- var metavariableMetaTypeName = metavariableMetaType.getName();
33
- localContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metavariableMetaTypeName, "' when it should be '").concat(metaTypeName, "'."), metavariableNode);
34
- }
35
- } else {
36
- localContext.debug("The '".concat(metavariableString, "' metavariable is not present'."), metavariableNode);
37
- }
38
- if (metavariableVerifiedGivenMetaType) {
39
- localContext.debug("...verified the '".concat(metavariableString, "' metavariable given the '").concat(metaTypeName, "' meta-type."), metavariableNode);
40
- }
41
- return metavariableVerifiedGivenMetaType;
42
- }
43
-
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGF2YXJpYWJsZVVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFUeXBlTmFtZSA9IG1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGdpdmVuIHRoZSAnJHttZXRhVHlwZU5hbWV9JyBtZXRhLXR5cGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVNZXRhVHlwZSA9PT0gbWV0YVR5cGUpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGUuZ2V0Tm9kZSgpO1xuXG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQiA9IG1ldGF2YXJpYWJsZU5vZGU7IC8vL1xuXG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVVbmlmaWVkID0gbWV0YXZhcmlhYmxlVW5pZmllci51bmlmeShtZXRhdmFyaWFibGVOb2RlQSwgbWV0YXZhcmlhYmxlTm9kZUIsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IG1ldGF2YXJpYWJsZVVuaWZpZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lID0gbWV0YXZhcmlhYmxlTWV0YVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7bWV0YVR5cGVOYW1lfScuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBpcyBub3QgcHJlc2VudCcuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGdpdmVuIHRoZSAnJHttZXRhVHlwZU5hbWV9JyBtZXRhLXR5cGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJsb2NhbENvbnRleHQiLCJtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUiLCJtZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU1ldGFUeXBlIiwiZ2V0TWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlQSIsImdldE5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQiIsIm1ldGF2YXJpYWJsZVVuaWZpZWQiLCJtZXRhdmFyaWFibGVVbmlmaWVyIiwidW5pZnkiLCJtZXRhdmFyaWFibGVNZXRhVHlwZU5hbWUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OzttRUFKUTtvQkFFcUI7Ozs7OztBQUV0QyxTQUFTQSxnQ0FBZ0NDLGdCQUFnQixFQUFFQyxRQUFRLEVBQUVDLFlBQVk7SUFDOUYsSUFBSUMsb0NBQW9DO0lBRXhDLElBQU1DLGVBQWVILFNBQVNJLE9BQU8sSUFDL0JDLHFCQUFxQkosYUFBYUssWUFBWSxDQUFDUDtJQUVyREUsYUFBYU0sS0FBSyxDQUFDLEFBQUMsa0JBQWdFSixPQUEvQ0Usb0JBQW1CLDhCQUF5QyxPQUFiRixjQUFhLG1CQUFpQko7SUFFbEgsSUFBTVMsbUJBQW1CQyxJQUFBQSwwQ0FBb0MsRUFBQ1YsbUJBQ3hEVyxlQUFlVCxhQUFhVSxrQ0FBa0MsQ0FBQ0g7SUFFckUsSUFBSUUsaUJBQWlCLE1BQU07UUFDekIsSUFBTUUsdUJBQXVCRixhQUFhRyxXQUFXO1FBRXJELElBQUlELHlCQUF5QlosVUFBVTtZQUNyQyxJQUFNYyxvQkFBb0JmLGtCQUFrQixHQUFHO1lBRS9DQSxtQkFBbUJXLGFBQWFLLE9BQU87WUFFdkMsSUFBTUMsb0JBQW9CakIsa0JBQWtCLEdBQUc7WUFFL0MsSUFBTWtCLHNCQUFzQkMscUJBQW1CLENBQUNDLEtBQUssQ0FBQ0wsbUJBQW1CRSxtQkFBbUJmO1lBRTVGQyxvQ0FBb0NlLHFCQUFzQixHQUFHO1FBQy9ELE9BQU87WUFDTCxJQUFNRywyQkFBMkJSLHFCQUFxQlIsT0FBTztZQUU3REgsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLFFBQTJERCxPQUFwRGYsb0JBQW1CLG1DQUFpRkYsT0FBaERpQiwwQkFBeUIseUJBQW9DLE9BQWJqQixjQUFhLE9BQUtKO1FBQ25KO0lBQ0YsT0FBTztRQUNMRSxhQUFhb0IsS0FBSyxDQUFDLEFBQUMsUUFBMEIsT0FBbkJoQixvQkFBbUIsb0NBQWtDTjtJQUNsRjtJQUVBLElBQUlHLG1DQUFtQztRQUNyQ0QsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLG9CQUFrRWxCLE9BQS9DRSxvQkFBbUIsOEJBQXlDLE9BQWJGLGNBQWEsaUJBQWVKO0lBQ3BIO0lBRUEsT0FBT0c7QUFDVCJ9
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- import FrameForMetavariableSubstitution from "../substitution/frameForMetavariable";
4
-
5
- import { metavariableFromFrameNode } from "../utilities/unify";
6
- import {metavariableNameFromMetavariableNode} from "../utilities/name";
7
-
8
- export default function unifyMetavariableWithFrame(metavariableNodeA, frameNodeB, substitutions, localContextA, localContextB) {
9
- let metavariableUnifiedWithFrame = false;
10
-
11
- const simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNodeA),
12
- substitution = simpleSubstitution; ///
13
-
14
- if (substitution !== null) {
15
- const frameNodeMatches = substitution.matchFrameNode(frameNodeB);
16
-
17
- if (frameNodeMatches) {
18
- metavariableUnifiedWithFrame = true;
19
- }
20
- } else {
21
- const metavariableNameA = metavariableNameFromMetavariableNode(metavariableNodeA),
22
- metavariableA = localContextA.findMetavariableByMetavariableName(metavariableNameA),
23
- metavariableB = metavariableFromFrameNode(frameNodeB, localContextB);
24
-
25
- if (metavariableA === metavariableB) {
26
- metavariableUnifiedWithFrame = true;
27
- } else {
28
- const frameNode = frameNodeB, ///
29
- metavariable = metavariableA, ///
30
- frameForMetavariableSubstitution = FrameForMetavariableSubstitution.fromFrameAndMetavariable(frame, metavariable, localContextA, localContextB),
31
- substitution = frameForMetavariableSubstitution; ///
32
-
33
- substitutions.addSubstitution(substitution, localContextA, localContextB);
34
-
35
- metavariableUnifiedWithFrame = true;
36
- }
37
- }
38
-
39
- return metavariableUnifiedWithFrame;
40
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- import metaLevelUnifier from "../unifier/metaLevel";
4
-
5
- export default function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(simpleSubstitutionStatementNode, complexSubstitutionStatementNode, substitutions, localContextA, localContextB) {
6
- let simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement;
7
-
8
- const simpleSubstitutionStatementString = localContextB.nodeAsString(simpleSubstitutionStatementNode),
9
- complexSubstitutionStatementString = localContextB.nodeAsString(complexSubstitutionStatementNode);
10
-
11
- localContextB.trace(`Unifying the simple substitution's '${simpleSubstitutionStatementString}' statement with the complex substitution's '${complexSubstitutionStatementString}' statement...`, simpleSubstitutionStatementNode);
12
-
13
- const nodeA = complexSubstitutionStatementNode, ///
14
- nodeB = simpleSubstitutionStatementNode; ///
15
-
16
- localContextA = localContextB; ///
17
-
18
- const unifiedAtMetaLevel = metaLevelUnifier.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
19
-
20
- simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement = unifiedAtMetaLevel; ///
21
-
22
- if (simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement) {
23
- localContextB.trace(`...unified the simple substitution's '${simpleSubstitutionStatementString}' statement with the complex substitution's '${complexSubstitutionStatementString}' statement.`, simpleSubstitutionStatementNode);
24
- }
25
-
26
- return simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement;
27
- }
@@ -1,113 +0,0 @@
1
- "use strict";
2
-
3
- import shim from "../shim";
4
- import Reference from "../reference";
5
- import Declaration from "../declaration"
6
- import verifyMetavariableGivenMetaType from "../verify/metavariableGivenMetaType";
7
-
8
- import { nodeQuery } from "../utilities/query";
9
- import { referenceMetaType } from "../metaType";
10
-
11
- const statementNodeQuery = nodeQuery("/declaration/statement"),
12
- metavariableNodeQuery = nodeQuery("/declaration/reference/metavariable"); ///
13
-
14
- const verifyDeclarationFunctions = [
15
- verifyDerivedDeclaration,
16
- verifyStatedDeclaration
17
- ];
18
-
19
- export default function verifyDeclaration(declarationNode, declarations, stated, localContext) {
20
- let declarationVerified;
21
-
22
- const declarationString = localContext.nodeAsString(declarationNode);
23
-
24
- localContext.trace(`Verifying the '${declarationString}' declaration...`, declarationNode);
25
-
26
- declarationVerified = verifyDeclarationFunctions.some((verifyDeclarationFunction) => {
27
- const declarationVerified = verifyDeclarationFunction(declarationNode, declarations, stated, localContext);
28
-
29
- if (declarationVerified) {
30
- return true;
31
- }
32
- });
33
-
34
- if (declarationVerified) {
35
- localContext.debug(`...verified the '${declarationString}' declaration.`, declarationNode);
36
- }
37
-
38
- return declarationVerified;
39
- }
40
-
41
- function verifyDerivedDeclaration(declarationNode, declarations, stated, localContext) {
42
- let derivedDeclarationVerified;
43
-
44
- if (!stated) {
45
- const declarationString = localContext.nodeAsString(declarationNode);
46
-
47
- localContext.trace(`Verifying the '${declarationString}' derived declaration...`, declarationNode);
48
-
49
- const metaType = referenceMetaType, ///
50
- metavariableNode = metavariableNodeQuery(declarationNode),
51
- metavariableVerifiedGivenMetaType = verifyMetavariableGivenMetaType(metavariableNode, metaType, localContext);
52
-
53
- if (metavariableVerifiedGivenMetaType) {
54
- const { verifyStatement } = shim,
55
- stated = true,
56
- assignments = null,
57
- statementNode = statementNodeQuery(declarationNode),
58
- statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
59
-
60
- if (statementVerified) {
61
- const reference = Reference.fromMetavariableNode(metavariableNode),
62
- declaration = Declaration.fromReferenceAndStatementNode(reference, statementNode);
63
-
64
- declarations.push(declaration);
65
-
66
- derivedDeclarationVerified = true;
67
- }
68
- }
69
-
70
- if (derivedDeclarationVerified) {
71
- localContext.debug(`...verified the '${declarationString}' derived declaration.`, declarationNode);
72
- }
73
- }
74
-
75
- return derivedDeclarationVerified;
76
- }
77
-
78
- function verifyStatedDeclaration(declarationNode, declarations, stated, localContext) {
79
- let statedDeclarationVerified = false;
80
-
81
- if (stated) {
82
- const declarationString = localContext.nodeAsString(declarationNode);
83
-
84
- localContext.trace(`Verifying the '${declarationString}' stated declaration...`, declarationNode);
85
-
86
- const metaType = referenceMetaType, ///
87
- metavariableNode = metavariableNodeQuery(declarationNode),
88
- metavariableVerifiedGivenMetaType = verifyMetavariableGivenMetaType(metavariableNode, metaType, localContext);
89
-
90
- if (metavariableVerifiedGivenMetaType) {
91
- const { verifyStatement } = shim,
92
- stated = true,
93
- assignments = null,
94
- statementNode = statementNodeQuery(declarationNode),
95
- statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
96
-
97
- if (statementVerified) {
98
- const reference = Reference.fromMetavariableNode(metavariableNode),
99
- declaration = Declaration.fromReferenceAndStatementNode(reference, statementNode);
100
-
101
- declarations.push(declaration);
102
-
103
- statedDeclarationVerified = true;
104
- }
105
- }
106
-
107
- if (statedDeclarationVerified) {
108
- localContext.debug(`...verified the '${declarationString}' stated declaration.`, declarationNode);
109
- }
110
- }
111
-
112
- return statedDeclarationVerified;
113
- }
@@ -1,157 +0,0 @@
1
- "use strict";
2
-
3
- import Frame from "../frame";
4
- import verifyDeclaration from "../verify/declaration";
5
- import verifyMetavariableGivenMetaType from "./metavariableGivenMetaType";
6
-
7
- import { frameMetaType } from "../metaType";
8
- import { nodeQuery, nodesQuery } from "../utilities/query";
9
- import { metavariableNameFromMetavariableNode } from "../utilities/name";
10
-
11
- const metavariableNodeQuery = nodeQuery("/frame/metavariable"),
12
- declarationNodesQuery = nodesQuery("/frame/declaration"),
13
- metavariableNodesQuery = nodesQuery("/frame/metavariable");
14
-
15
- const verifyFrameFunctions = [
16
- verifyDerivedFrame,
17
- verifyStatedFrame
18
- ];
19
-
20
- export default function verifyFrame(frameNode, frames, stated, localContext) {
21
- let frameVerified;
22
-
23
- const frameString = localContext.nodeAsString(frameNode);
24
-
25
- localContext.trace(`Verifying the '${frameString}' frame...`);
26
-
27
- frameVerified = verifyFrameFunctions.some((verifyFrameFunction) => {
28
- const frameVerified = verifyFrameFunction(frameNode, frames, stated, localContext);
29
-
30
- if (frameVerified) {
31
- return true;
32
- }
33
- });
34
-
35
- if (frameVerified) {
36
- localContext.debug(`...verified the '${frameString}' frame.`);
37
- }
38
-
39
- return frameVerified;
40
- }
41
-
42
- function verifyDerivedFrame(frameNode, frames, stated, localContext) {
43
- let derivedFrameVerified;
44
-
45
- if (!stated) {
46
- const frameString = localContext.nodeAsString(frameNode);
47
-
48
- localContext.trace(`Verifying the '${frameString}' derived frame...`);
49
-
50
- const declarations = [],
51
- declarationNodes = declarationNodesQuery(frameNode),
52
- declarationsVerified = declarationNodes.every((declarationNode) => {
53
- const declarationVerified = verifyDeclaration(declarationNode, declarations, stated, localContext);
54
-
55
- if (declarationVerified) {
56
- return true;
57
- }
58
- });
59
-
60
- if (declarationsVerified) {
61
- const metavariableNodes = metavariableNodesQuery(frameNode),
62
- metavariablesVerified = metavariableNodes.every((metavariableNode) => {
63
- const metavariableVerified = verifyMetavariable(metavariableNode, declarations, localContext);
64
-
65
- if (metavariableVerified) {
66
- return true;
67
- }
68
- });
69
-
70
- if (metavariablesVerified) {
71
- const frame = Frame.fromDeclarations(declarations);
72
-
73
- frames.push(frame);
74
-
75
- derivedFrameVerified = true; ///
76
- }
77
- }
78
-
79
- if (derivedFrameVerified) {
80
- localContext.debug(`...verified the '${frameString}' derived frame.`);
81
- }
82
- }
83
-
84
- return derivedFrameVerified;
85
- }
86
-
87
- function verifyStatedFrame(frameNode, frames, stated, localContext) {
88
- let statedFrameVerified;
89
-
90
- if (stated) {
91
- const frameString = localContext.nodeAsString(frameNode);
92
-
93
- localContext.trace(`Verifying the '${frameString}' stated frame...`);
94
-
95
- const declarationNodes = declarationNodesQuery(frameNode),
96
- declarationNodesLength = declarationNodes.length;
97
-
98
- if (declarationNodesLength === 0) {
99
- const metavariableNode = metavariableNodeQuery(frameNode);
100
-
101
- if (metavariableNode !== null) {
102
- const metaType = frameMetaType, ///
103
- metavariableVerifiedGivenMetaType = verifyMetavariableGivenMetaType(metavariableNode, metaType, localContext);
104
-
105
- if (metavariableVerifiedGivenMetaType) {
106
- const frame = Frame.fromMetavariableNode(metavariableNode);
107
-
108
- frames.push(frame);
109
-
110
- statedFrameVerified = true;
111
- }
112
- } else {
113
- localContext.trace(`The '${frameString}' stated frame cannot have more than one metavariable.`);
114
- }
115
- } else {
116
- localContext.trace(`The '${frameString}' stated frame cannot have declarations.`);
117
- }
118
-
119
- if (statedFrameVerified) {
120
- localContext.debug(`...verified the '${frameString}' stated frame.`);
121
- }
122
- }
123
-
124
- return statedFrameVerified;
125
- }
126
-
127
- function verifyMetavariable(metavariableNode, declarations, localContext) {
128
- let metavariableVerified = false;
129
-
130
- const metavariableString = localContext.nodeAsString(metavariableNode);
131
-
132
- localContext.trace(`Verifying the '${metavariableString}' metavariable...`);
133
-
134
- const metaType = frameMetaType, ///
135
- metavariableVerifiedGivenMetaType = verifyMetavariableGivenMetaType(metavariableNode, metaType, localContext);
136
-
137
- if (metavariableVerifiedGivenMetaType) {
138
- const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
139
- judgement = localContext.findJudgementByMetavariableName(metavariableName);
140
-
141
- if (judgement !== null) {
142
- const declaration = judgement.getDeclaration();
143
-
144
- declarations.push(declaration);
145
-
146
- metavariableVerified = true;
147
- } else {
148
- localContext.trace(`There is no judgement for the '${metavariableString}' metavariable.`);
149
- }
150
- }
151
-
152
- if (metavariableVerified) {
153
- localContext.debug(`...verified the '${metavariableString}' metavariable.`);
154
- }
155
-
156
- return metavariableVerified;
157
- }