occam-verify-cli 0.0.1074 → 0.0.1077

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 (141) hide show
  1. package/lib/assertion/contained.js +6 -4
  2. package/lib/assertion/defined.js +2 -2
  3. package/lib/assertion/subproof.js +46 -30
  4. package/lib/assertion/type.js +4 -5
  5. package/lib/assignment/variable.js +2 -2
  6. package/lib/axiom.js +9 -12
  7. package/lib/combinator/bracketed.js +3 -2
  8. package/lib/combinator.js +6 -6
  9. package/lib/conclusion.js +2 -3
  10. package/lib/conjecture.js +10 -15
  11. package/lib/consequent.js +2 -3
  12. package/lib/constructor/bracketed.js +3 -2
  13. package/lib/constructor.js +6 -6
  14. package/lib/context/file.js +48 -102
  15. package/lib/context/local.js +21 -20
  16. package/lib/declaration/combinator.js +5 -5
  17. package/lib/declaration/constructor.js +5 -5
  18. package/lib/declaration/metavariable.js +4 -5
  19. package/lib/declaration/type.js +3 -3
  20. package/lib/declaration/variable.js +5 -5
  21. package/lib/declaration.js +10 -9
  22. package/lib/derivation.js +6 -2
  23. package/lib/equality.js +6 -2
  24. package/lib/frame.js +11 -13
  25. package/lib/index.js +13 -1
  26. package/lib/judgement.js +11 -8
  27. package/lib/label.js +6 -7
  28. package/lib/lemma.js +10 -15
  29. package/lib/metaLemma.js +15 -15
  30. package/lib/metatheorem.js +9 -14
  31. package/lib/metavariable.js +22 -27
  32. package/lib/mixins/statement/qualified/unify.js +2 -2
  33. package/lib/mixins/statement/unify.js +2 -2
  34. package/lib/mixins/statement/verify.js +20 -54
  35. package/lib/mixins/term/verify.js +3 -3
  36. package/lib/premise.js +24 -21
  37. package/lib/proof.js +8 -4
  38. package/lib/proofStep.js +62 -28
  39. package/lib/reference.js +3 -3
  40. package/lib/rule.js +17 -24
  41. package/lib/statement/qualified.js +8 -4
  42. package/lib/statement.js +5 -5
  43. package/lib/subDerivation.js +6 -2
  44. package/lib/subproof.js +10 -7
  45. package/lib/substitution/statementForMetavariable.js +36 -27
  46. package/lib/substitution.js +13 -13
  47. package/lib/substitutions.js +73 -49
  48. package/lib/supposition.js +30 -23
  49. package/lib/term.js +5 -5
  50. package/lib/theorem.js +10 -15
  51. package/lib/topLevelAssertion.js +12 -6
  52. package/lib/type.js +5 -5
  53. package/lib/unifier/equality.js +2 -2
  54. package/lib/unifier/metaLevel.js +6 -6
  55. package/lib/unifier/metavariable.js +5 -5
  56. package/lib/unifier/statementWithCombinator.js +2 -2
  57. package/lib/utilities/brackets.js +2 -2
  58. package/lib/utilities/node.js +2 -7
  59. package/lib/utilities/nominal.js +26 -0
  60. package/lib/utilities/subproof.js +2 -2
  61. package/lib/utilities/tokens.js +3 -7
  62. package/lib/variable.js +6 -6
  63. package/lib/verifier/statementAsCombinator.js +4 -11
  64. package/lib/verifier/termAsConstructor.js +4 -4
  65. package/lib/verifier/topLevel.js +9 -15
  66. package/package.json +1 -1
  67. package/src/assertion/contained.js +7 -5
  68. package/src/assertion/defined.js +2 -2
  69. package/src/assertion/subproof.js +61 -42
  70. package/src/assertion/type.js +2 -2
  71. package/src/assignment/variable.js +2 -1
  72. package/src/axiom.js +6 -8
  73. package/src/combinator/bracketed.js +6 -3
  74. package/src/combinator.js +4 -4
  75. package/src/conclusion.js +2 -2
  76. package/src/conjecture.js +8 -11
  77. package/src/consequent.js +2 -2
  78. package/src/constructor/bracketed.js +6 -3
  79. package/src/constructor.js +4 -4
  80. package/src/context/file.js +46 -84
  81. package/src/context/local.js +15 -17
  82. package/src/declaration/combinator.js +5 -4
  83. package/src/declaration/constructor.js +5 -4
  84. package/src/declaration/metavariable.js +3 -4
  85. package/src/declaration/type.js +2 -2
  86. package/src/declaration/variable.js +5 -4
  87. package/src/declaration.js +12 -9
  88. package/src/derivation.js +7 -1
  89. package/src/equality.js +7 -1
  90. package/src/frame.js +10 -9
  91. package/src/index.js +12 -0
  92. package/src/judgement.js +11 -5
  93. package/src/label.js +5 -5
  94. package/src/lemma.js +8 -11
  95. package/src/metaLemma.js +13 -11
  96. package/src/metatheorem.js +6 -10
  97. package/src/metavariable.js +23 -42
  98. package/src/mixins/statement/qualified/unify.js +1 -2
  99. package/src/mixins/statement/unify.js +2 -2
  100. package/src/mixins/statement/verify.js +35 -88
  101. package/src/mixins/term/verify.js +3 -2
  102. package/src/premise.js +41 -33
  103. package/src/proof.js +10 -3
  104. package/src/proofStep.js +91 -32
  105. package/src/reference.js +3 -2
  106. package/src/rule.js +17 -24
  107. package/src/statement/qualified.js +9 -5
  108. package/src/statement.js +3 -3
  109. package/src/subDerivation.js +8 -2
  110. package/src/subproof.js +12 -5
  111. package/src/substitution/statementForMetavariable.js +45 -30
  112. package/src/substitution.js +9 -9
  113. package/src/substitutions.js +75 -45
  114. package/src/supposition.js +50 -35
  115. package/src/term.js +3 -3
  116. package/src/theorem.js +8 -11
  117. package/src/topLevelAssertion.js +16 -7
  118. package/src/type.js +3 -3
  119. package/src/unifier/equality.js +1 -1
  120. package/src/unifier/metaLevel.js +8 -10
  121. package/src/unifier/metavariable.js +5 -5
  122. package/src/unifier/statementWithCombinator.js +5 -5
  123. package/src/utilities/brackets.js +2 -2
  124. package/src/utilities/node.js +1 -10
  125. package/src/utilities/nominal.js +14 -0
  126. package/src/utilities/subproof.js +2 -2
  127. package/src/utilities/tokens.js +2 -9
  128. package/src/variable.js +4 -4
  129. package/src/verifier/statementAsCombinator.js +4 -18
  130. package/src/verifier/termAsConstructor.js +4 -4
  131. package/src/verifier/topLevel.js +15 -14
  132. package/lib/assignment/metavariable.js +0 -62
  133. package/lib/unifier/intrinsicLevel.js +0 -144
  134. package/lib/utilities/unify.js +0 -24
  135. package/lib/verifier/intrinsicLevel.js +0 -140
  136. package/lib/verifier/metaLevel.js +0 -147
  137. package/src/assignment/metavariable.js +0 -30
  138. package/src/unifier/intrinsicLevel.js +0 -54
  139. package/src/utilities/unify.js +0 -23
  140. package/src/verifier/intrinsicLevel.js +0 -42
  141. package/src/verifier/metaLevel.js +0 -54
@@ -1,147 +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 _default;
9
- }
10
- });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _verifier = /*#__PURE__*/ _interop_require_default(require("../verifier"));
13
- var _query = require("../utilities/query");
14
- function _assert_this_initialized(self) {
15
- if (self === void 0) {
16
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
- }
18
- return self;
19
- }
20
- function _call_super(_this, derived, args) {
21
- derived = _get_prototype_of(derived);
22
- return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
23
- }
24
- function _class_call_check(instance, Constructor) {
25
- if (!(instance instanceof Constructor)) {
26
- throw new TypeError("Cannot call a class as a function");
27
- }
28
- }
29
- function _defineProperties(target, props) {
30
- for(var i = 0; i < props.length; i++){
31
- var descriptor = props[i];
32
- descriptor.enumerable = descriptor.enumerable || false;
33
- descriptor.configurable = true;
34
- if ("value" in descriptor) descriptor.writable = true;
35
- Object.defineProperty(target, descriptor.key, descriptor);
36
- }
37
- }
38
- function _create_class(Constructor, protoProps, staticProps) {
39
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
40
- if (staticProps) _defineProperties(Constructor, staticProps);
41
- return Constructor;
42
- }
43
- function _define_property(obj, key, value) {
44
- if (key in obj) {
45
- Object.defineProperty(obj, key, {
46
- value: value,
47
- enumerable: true,
48
- configurable: true,
49
- writable: true
50
- });
51
- } else {
52
- obj[key] = value;
53
- }
54
- return obj;
55
- }
56
- function _get_prototype_of(o) {
57
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
58
- return o.__proto__ || Object.getPrototypeOf(o);
59
- };
60
- return _get_prototype_of(o);
61
- }
62
- function _inherits(subClass, superClass) {
63
- if (typeof superClass !== "function" && superClass !== null) {
64
- throw new TypeError("Super expression must either be null or a function");
65
- }
66
- subClass.prototype = Object.create(superClass && superClass.prototype, {
67
- constructor: {
68
- value: subClass,
69
- writable: true,
70
- configurable: true
71
- }
72
- });
73
- if (superClass) _set_prototype_of(subClass, superClass);
74
- }
75
- function _interop_require_default(obj) {
76
- return obj && obj.__esModule ? obj : {
77
- default: obj
78
- };
79
- }
80
- function _possible_constructor_return(self, call) {
81
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
82
- return call;
83
- }
84
- return _assert_this_initialized(self);
85
- }
86
- function _set_prototype_of(o, p) {
87
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
88
- o.__proto__ = p;
89
- return o;
90
- };
91
- return _set_prototype_of(o, p);
92
- }
93
- function _type_of(obj) {
94
- "@swc/helpers - typeof";
95
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
96
- }
97
- function _is_native_reflect_construct() {
98
- try {
99
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
100
- } catch (_) {}
101
- return (_is_native_reflect_construct = function() {
102
- return !!result;
103
- })();
104
- }
105
- var termNodeQuery = (0, _query.nodeQuery)("/term!"), statementNodeQuery = (0, _query.nodeQuery)("/statement!");
106
- var MetaLevelVerifier = /*#__PURE__*/ function(Verifier) {
107
- _inherits(MetaLevelVerifier, Verifier);
108
- function MetaLevelVerifier() {
109
- _class_call_check(this, MetaLevelVerifier);
110
- return _call_super(this, MetaLevelVerifier, arguments);
111
- }
112
- _create_class(MetaLevelVerifier, [
113
- {
114
- key: "verify",
115
- value: function verify(node, assignments, stated, localContext) {
116
- var verifiedAtMetaLevel;
117
- var nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes(), nonTerminalNodeVerified = this.verifyChildNodes(childNodes, assignments, stated, localContext);
118
- verifiedAtMetaLevel = nonTerminalNodeVerified; ///
119
- return verifiedAtMetaLevel;
120
- }
121
- }
122
- ]);
123
- return MetaLevelVerifier;
124
- }(_verifier.default);
125
- _define_property(MetaLevelVerifier, "maps", [
126
- {
127
- nodeQuery: statementNodeQuery,
128
- verify: function(statementNode, assignments, stated, localContext) {
129
- var Statement = _shim.default.Statement, statement = Statement.fromStatementNode(statementNode, localContext), statementVerified = statement.verify(assignments, stated, localContext);
130
- return statementVerified;
131
- }
132
- },
133
- {
134
- nodeQuery: termNodeQuery,
135
- verify: function(termNode, assignments, stated, localContext) {
136
- var Term = _shim.default.Term, term = Term.fromTermNode(termNode, localContext), termVerified = term.verify(localContext, function() {
137
- var verifiedAhead = true;
138
- return verifiedAhead;
139
- });
140
- return termVerified;
141
- }
142
- }
143
- ]);
144
- var metaLevelVerifier = new MetaLevelVerifier();
145
- var _default = metaLevelVerifier;
146
-
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci9tZXRhTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQhXCIpO1xuXG5jbGFzcyBNZXRhTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZEF0TWV0YUxldmVsO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHZlcmlmaWVkQXRNZXRhTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkQXRNZXRhTGV2ZWw7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gc3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdGVybU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHRlcm1Ob2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICAgIHRlcm1WZXJpZmllZCA9IHRlcm0udmVyaWZ5KGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0ZXJtVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCBtZXRhTGV2ZWxWZXJpZmllciA9IG5ldyBNZXRhTGV2ZWxWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5IiwiTWV0YUxldmVsVmVyaWZpZXIiLCJ2ZXJpZnkiLCJub2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZmllZEF0TWV0YUxldmVsIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeUNoaWxkTm9kZXMiLCJWZXJpZmllciIsIm1hcHMiLCJzdGF0ZW1lbnROb2RlIiwiU3RhdGVtZW50Iiwic2hpbSIsInN0YXRlbWVudCIsImZyb21TdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ0ZXJtTm9kZSIsIlRlcm0iLCJ0ZXJtIiwiZnJvbVRlcm1Ob2RlIiwidGVybVZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsIm1ldGFMZXZlbFZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxREE7OztlQUFBOzs7MkRBbkRpQjsrREFDSTtxQkFFSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUEsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLFdBQzFCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUM7QUFFckMsSUFBQSxBQUFNRSxrQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxJQUFJLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO2dCQUM1QyxJQUFJQztnQkFFSixJQUFNQyxrQkFBa0JMLE1BQ2xCTSxhQUFhRCxnQkFBZ0JFLGFBQWEsSUFDMUNDLDBCQUEwQixJQUFJLENBQUNDLGdCQUFnQixDQUFDSCxZQUFZTCxhQUFhQyxRQUFRQztnQkFFdkZDLHNCQUFzQkkseUJBQTBCLEdBQUc7Z0JBRW5ELE9BQU9KO1lBQ1Q7OztXQVhJTjtFQUEwQlksaUJBQVE7QUFhdEMsaUJBYklaLG1CQWFHYSxRQUFPO0lBQ1o7UUFDRWYsV0FBV0M7UUFDWEUsUUFBUSxTQUFDYSxlQUFlWCxhQUFhQyxRQUFRQztZQUMzQyxJQUFNLEFBQUVVLFlBQWNDLGFBQUksQ0FBbEJELFdBQ0ZFLFlBQVlGLFVBQVVHLGlCQUFpQixDQUFDSixlQUFlVCxlQUN2RGMsb0JBQW9CRixVQUFVaEIsTUFBTSxDQUFDRSxhQUFhQyxRQUFRQztZQUVoRSxPQUFPYztRQUNUO0lBQ0Y7SUFDQTtRQUNFckIsV0FBV0Q7UUFDWEksUUFBUSxTQUFDbUIsVUFBVWpCLGFBQWFDLFFBQVFDO1lBQ3RDLElBQU0sQUFBRWdCLE9BQVNMLGFBQUksQ0FBYkssTUFDRkMsT0FBT0QsS0FBS0UsWUFBWSxDQUFDSCxVQUFVZixlQUNuQ21CLGVBQWVGLEtBQUtyQixNQUFNLENBQUNJLGNBQWM7Z0JBQ3ZDLElBQU1vQixnQkFBZ0I7Z0JBRXRCLE9BQU9BO1lBQ1Q7WUFFTixPQUFPRDtRQUNUO0lBQ0Y7Q0FDRDtBQUdILElBQU1FLG9CQUFvQixJQUFJMUI7SUFFOUIsV0FBZTBCIn0=
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- export default class MetavariableAssignment {
4
- constructor(metavariable) {
5
- this.metavariable = metavariable;
6
- }
7
-
8
- getMetavariable() {
9
- return this.metavariable;
10
- }
11
-
12
- assign(fileContext) {
13
- const metavariableAdded = fileContext.addMetavariable(this.metavariable),
14
- metavariableNode = this.metavariable.getNode(),
15
- metavariableString = fileContext.nodeAsString(metavariableNode),
16
- metavariableAssigned = metavariableAdded; ///
17
-
18
- metavariableAssigned ?
19
- fileContext.trace(`Assigned the '${metavariableString}' metavariable.`) :
20
- fileContext.debug(`Unable to assign the '${metavariableString}' metavariable.`);
21
-
22
- return metavariableAssigned;
23
- }
24
-
25
- static fromMetavariable(metavariable) {
26
- const metavariableAssignment = new MetavariableAssignment(metavariable);
27
-
28
- return metavariableAssignment;
29
- }
30
- }
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- import shim from "../shim";
4
- import Unifier from "../unifier";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
- import { variableNameFromVariableNode } from "../utilities/name";
8
-
9
- const termNodeQuery = nodeQuery("/term!"),
10
- termVariableNodeQuery = nodeQuery("/term/variable!");
11
-
12
- class IntrinsicLevelUnifier extends Unifier {
13
- unify(nodeA, nodeB, substitutions, localContextA, localContextB) {
14
- let unifiedAtIntrinsicLevel;
15
-
16
- const nonTerminalNodeA = nodeA, ///
17
- nonTerminalNodeB = nodeB, ///
18
- nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB);
19
-
20
- unifiedAtIntrinsicLevel = nonTerminalNodeUnified; ///
21
-
22
- return unifiedAtIntrinsicLevel;
23
- }
24
-
25
- static maps = [
26
- {
27
- nodeQueryA: termVariableNodeQuery,
28
- nodeQueryB: termNodeQuery,
29
- unify: (termVariableNodeA, termNodeB, substitutions, localContextA, localContextB) => {
30
- let termUnified = false;
31
-
32
- const variableNode = termVariableNodeA, ///
33
- variableName = variableNameFromVariableNode(variableNode),
34
- variablePresent = localContextA.isVariablePresentByVariableName(variableName);
35
-
36
- if (variablePresent !== null) {
37
- const { Term, Variable } = shim,
38
- localContext = localContextB, ///
39
- termNode = termNodeB, ///
40
- variable = Variable.fromVariableNode(variableNode, localContextA),
41
- term = Term.fromTermNode(termNode, localContextB);
42
-
43
- termUnified = variable.unifyTerm(term, substitutions, localContext);
44
- }
45
-
46
- return termUnified;
47
- }
48
- }
49
- ];
50
- }
51
-
52
- const intrinsicLevelUnifier = new IntrinsicLevelUnifier();
53
-
54
- export default intrinsicLevelUnifier;
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- import { nodeQuery } from "../utilities/query";
4
- import { metavariableNameFromMetavariableNode} from "../utilities/name";
5
-
6
- const frameMetavariableNodeQuery = nodeQuery("/frame/metavariable"),
7
- statementMetavariableNodeQuery = nodeQuery("/statement/metavariable");
8
-
9
- export function metavariableFromFrameNode(frameNode, localContext) {
10
- let metavariable = null;
11
-
12
- const frameMetavariableNode = frameMetavariableNodeQuery(frameNode)
13
-
14
- if (frameMetavariableNode !== null) {
15
- const metavariableNode = statementMetavariableNode, ///
16
- metavariableName = metavariableNameFromMetavariableNode(metavariableNode);
17
-
18
- metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
19
- }
20
-
21
- return metavariable;
22
- }
23
-
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- import shim from "../shim";
4
- import Verifier from "../verifier";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
-
8
- const termNodeQuery = nodeQuery("/term!");
9
-
10
- class IntrinsicLevelVerifier extends Verifier {
11
- verify(node, localContext) {
12
- let verifiedAtIntrinsicLevel;
13
-
14
- const nonTerminalNode = node, ///
15
- nonTerminalNodeVerified = this.verifyNonTerminalNode(nonTerminalNode, localContext);
16
-
17
- verifiedAtIntrinsicLevel = nonTerminalNodeVerified; ///
18
-
19
- return verifiedAtIntrinsicLevel;
20
- }
21
-
22
- static maps = [
23
- {
24
- nodeQuery: termNodeQuery,
25
- verify: (termNode, localContext) => {
26
- const { Term } = shim,
27
- term = Term.fromTermNode(termNode, localContext),
28
- termVerified = term.verify(localContext, () => {
29
- const verifiedAhead = true;
30
-
31
- return verifiedAhead;
32
- });
33
-
34
- return termVerified;
35
- }
36
- }
37
- ];
38
- }
39
-
40
- const intrinsicLevelVerifier = new IntrinsicLevelVerifier();
41
-
42
- export default intrinsicLevelVerifier;
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- import shim from "../shim";
4
- import Verifier from "../verifier";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
-
8
- const termNodeQuery = nodeQuery("/term!"),
9
- statementNodeQuery = nodeQuery("/statement!");
10
-
11
- class MetaLevelVerifier extends Verifier {
12
- verify(node, assignments, stated, localContext) {
13
- let verifiedAtMetaLevel;
14
-
15
- const nonTerminalNode = node, ///
16
- childNodes = nonTerminalNode.getChildNodes(),
17
- nonTerminalNodeVerified = this.verifyChildNodes(childNodes, assignments, stated, localContext);
18
-
19
- verifiedAtMetaLevel = nonTerminalNodeVerified; ///
20
-
21
- return verifiedAtMetaLevel;
22
- }
23
-
24
- static maps = [
25
- {
26
- nodeQuery: statementNodeQuery,
27
- verify: (statementNode, assignments, stated, localContext) => {
28
- const { Statement } = shim,
29
- statement = Statement.fromStatementNode(statementNode, localContext),
30
- statementVerified = statement.verify(assignments, stated, localContext);
31
-
32
- return statementVerified;
33
- }
34
- },
35
- {
36
- nodeQuery: termNodeQuery,
37
- verify: (termNode, assignments, stated, localContext) => {
38
- const { Term } = shim,
39
- term = Term.fromTermNode(termNode, localContext),
40
- termVerified = term.verify(localContext, () => {
41
- const verifiedAhead = true;
42
-
43
- return verifiedAhead;
44
- });
45
-
46
- return termVerified;
47
- }
48
- }
49
- ];
50
- }
51
-
52
- const metaLevelVerifier = new MetaLevelVerifier();
53
-
54
- export default metaLevelVerifier;