occam-verify-cli 0.0.1203 → 0.0.1205
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.
- package/lib/dom/assertion/contained.js +17 -17
- package/lib/dom/assertion/defined.js +17 -17
- package/lib/dom/metavariable.js +8 -1
- package/lib/dom/parameter.js +14 -10
- package/lib/dom/procedureCall.js +37 -1
- package/lib/dom/statement.js +7 -3
- package/lib/dom/variable.js +10 -3
- package/lib/substitution/frame.js +14 -1
- package/lib/substitution/statement.js +14 -1
- package/lib/substitution/term.js +14 -1
- package/lib/substitution.js +15 -1
- package/package.json +3 -3
- package/src/dom/assertion/contained.js +25 -25
- package/src/dom/assertion/defined.js +24 -24
- package/src/dom/metavariable.js +6 -0
- package/src/dom/parameter.js +11 -9
- package/src/dom/procedureCall.js +43 -0
- package/src/dom/statement.js +10 -3
- package/src/dom/variable.js +8 -2
- package/src/substitution/frame.js +9 -0
- package/src/substitution/statement.js +9 -0
- package/src/substitution/term.js +9 -0
- package/src/substitution.js +12 -0
package/lib/substitution/term.js
CHANGED
|
@@ -133,6 +133,19 @@ var TermSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
|
133
133
|
return this.variable.isEqualTo(variable);
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
|
+
{
|
|
137
|
+
key: "getReplacementNode",
|
|
138
|
+
value: function getReplacementNode() {
|
|
139
|
+
var termNode = this.term.getNode(), replacementNode = termNode; ///
|
|
140
|
+
return replacementNode;
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
key: "matchName",
|
|
145
|
+
value: function matchName(name) {
|
|
146
|
+
return this.variable.matchName(name);
|
|
147
|
+
}
|
|
148
|
+
},
|
|
136
149
|
{
|
|
137
150
|
key: "unifyWithEquivalence",
|
|
138
151
|
value: function unifyWithEquivalence(equivalence) {
|
|
@@ -182,4 +195,4 @@ function stringFromTermAndVariable(term, variable) {
|
|
|
182
195
|
return string;
|
|
183
196
|
}
|
|
184
197
|
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcbmltcG9ydCBUZXJtU3Vic3RpdHV0aW9uUGFydGlhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcGFydGlhbC9zdWJzdGl0dXRpb24vdGVybVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpcEJyYWNrZXRzRnJvbVRlcm0gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2JyYWNrZXRzXCI7XG5pbXBvcnQgeyBzdHJpcEJyYWNrZXRzRnJvbVRlcm1Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9icmFja2V0c1wiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm1TdWJzdGl0dXRpb24vdGVybVswXVwiKSxcbiAgICAgIHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm1TdWJzdGl0dXRpb24vdGVybVsxXS92YXJpYWJsZSFcIiksXG4gICAgICB0ZXJtU3Vic3RpdHV0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC90ZXJtU3Vic3RpdHV0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXJtU3Vic3RpdHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBub2RlLCB0b2tlbnMsIHRlcm0sIHZhcmlhYmxlKSB7XG4gICAgc3VwZXIoc3RyaW5nLCBub2RlLCB0b2tlbnMpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGlzVGVybUVxdWFsVG8odGVybSwgY29udGV4dCkge1xuICAgIHRlcm0gPSBzdHJpcEJyYWNrZXRzRnJvbVRlcm0odGVybSk7IC8vL1xuXG4gICAgY29uc3QgdGVybUVxdWFsVG8gPSB0aGlzLnRlcm0uaXNFcXVhbFRvKHRlcm0pO1xuXG4gICAgcmV0dXJuIHRlcm1FcXVhbFRvO1xuICB9XG5cbiAgaXNWYXJpYWJsZUVxdWFsVG8odmFyaWFibGUpIHsgcmV0dXJuIHRoaXMudmFyaWFibGUuaXNFcXVhbFRvKHZhcmlhYmxlKTsgfVxuXG4gIGdldFJlcGxhY2VtZW50Tm9kZSgpIHtcbiAgICBjb25zdCB0ZXJtTm9kZSA9IHRoaXMudGVybS5nZXROb2RlKCksXG4gICAgICAgICAgcmVwbGFjZW1lbnROb2RlID0gdGVybU5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIHJlcGxhY2VtZW50Tm9kZTtcbiAgfVxuXG4gIG1hdGNoTmFtZShuYW1lKSB7IHJldHVybiB0aGlzLnZhcmlhYmxlLm1hdGNoTmFtZShuYW1lKTsgfVxuXG4gIHVuaWZ5V2l0aEVxdWl2YWxlbmNlKGVxdWl2YWxlbmNlKSB7XG4gICAgbGV0IHVuaWZpZWRXaXRoRXF1aXZhbGVuY2U7XG5cbiAgICBjb25zdCB0ZXJtTm9kZSA9IHRoaXMudGVybS5nZXROb2RlKCksXG4gICAgICAgICAgZXF1aXZhbGVuY2VNYXRjaGVzVGVybU5vZGUgPSBlcXVpdmFsZW5jZS5tYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuICAgIGlmIChlcXVpdmFsZW5jZU1hdGNoZXNUZXJtTm9kZSkge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlID0gdGhpcy52YXJpYWJsZS5nZXROb2RlKCksXG4gICAgICAgICAgICBlcXVpdmFsZW5jZU1hdGNoZXNWYXJpYWJsZU5vZGUgPSBlcXVpdmFsZW5jZS5tYXRjaFZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoZXF1aXZhbGVuY2VNYXRjaGVzVmFyaWFibGVOb2RlKSB7XG4gICAgICAgICAgdW5pZmllZFdpdGhFcXVpdmFsZW5jZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllZFdpdGhFcXVpdmFsZW5jZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHRlcm1TdWJzdGl0dXRpb24gPSBudWxsO1xuXG4gICAgY29uc3QgdGVybVN1YnN0aXR1dGlvbk5vZGUgPSB0ZXJtU3Vic3RpdHV0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKHRlcm1TdWJzdGl0dXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodGVybVN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybVN1YnN0aXR1dGlvbk5vZGUpO1xuXG4gICAgICBpZiAoKHRlcm1Ob2RlICE9PSBudWxsKSAmJiAodmFyaWFibGVOb2RlICE9PSBudWxsKSkge1xuICAgICAgICBjb25zdCB7IFRlcm0sIFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBub2RlID0gdGVybVN1YnN0aXR1dGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgICAgdG9rZW5zID0gY29udGV4dC5ub2RlQXNUb2tlbnMobm9kZSksXG4gICAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVmFyaWFibGUodGVybSwgdmFyaWFibGUpO1xuXG4gICAgICAgIHRlcm1TdWJzdGl0dXRpb24gPSBuZXcgVGVybVN1YnN0aXR1dGlvbihzdHJpbmcsIG5vZGUsIHRva2VucywgdGVybSwgdmFyaWFibGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXJtU3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21UZXJuQW5kVmFyaWFibGUodGVybSwgdmFyaWFibGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdGVybU5vZGUgPSB0ZXJtLmdldE5vZGUoKTtcblxuICAgIHRlcm1Ob2RlID0gc3RyaXBCcmFja2V0c0Zyb21UZXJtTm9kZSh0ZXJtTm9kZSk7IC8vL1xuXG4gICAgY29uc3QgeyBUZXJtIH0gPSBkb207XG5cbiAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpO1xuXG4gICAgY29uc3Qgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRWYXJpYWJsZSh0ZXJtLCB2YXJpYWJsZSksXG4gICAgICAgICAgbGV4ZXIgPSBjb250ZXh0LmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gY29udGV4dC5nZXRQYXJzZXIoKSxcbiAgICAgICAgICB0ZXJtU3Vic3RpdHV0aW9uUGFydGlhbENvbnRleHQgPSBUZXJtU3Vic3RpdHV0aW9uUGFydGlhbENvbnRleHQuZnJvbVN0cmluZ0xleGVyQW5kUGFyc2VyKHN0cmluZywgbGV4ZXIsIHBhcnNlciksXG4gICAgICAgICAgbm9kZSA9IHRlcm1TdWJzdGl0dXRpb25QYXJ0aWFsQ29udGV4dC5nZXROb2RlKCksXG4gICAgICAgICAgdG9rZW5zID0gdGVybVN1YnN0aXR1dGlvblBhcnRpYWxDb250ZXh0LmdldFRva2VucygpLFxuICAgICAgICAgIHRlcm1TdWJzdGl0dXRpb24gPSBuZXcgVGVybVN1YnN0aXR1dGlvbihzdHJpbmcsIG5vZGUsIHRva2VucywgdGVybSwgdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIHRlcm1TdWJzdGl0dXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVRlcm1BbmRWYXJpYWJsZSh0ZXJtLCB2YXJpYWJsZSkge1xuICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgc3RyaW5nID0gYFske3Rlcm1TdHJpbmd9IGZvciAke3ZhcmlhYmxlU3RyaW5nfV1gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiVGVybVN1YnN0aXR1dGlvbiIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsInRlcm1TdWJzdGl0dXRpb25Ob2RlUXVlcnkiLCJzdHJpbmciLCJub2RlIiwidG9rZW5zIiwidGVybSIsInZhcmlhYmxlIiwiZ2V0VGVybSIsImdldFZhcmlhYmxlIiwiaXNUZXJtRXF1YWxUbyIsImNvbnRleHQiLCJzdHJpcEJyYWNrZXRzRnJvbVRlcm0iLCJ0ZXJtRXF1YWxUbyIsImlzRXF1YWxUbyIsImlzVmFyaWFibGVFcXVhbFRvIiwiZ2V0UmVwbGFjZW1lbnROb2RlIiwidGVybU5vZGUiLCJnZXROb2RlIiwicmVwbGFjZW1lbnROb2RlIiwibWF0Y2hOYW1lIiwibmFtZSIsInVuaWZ5V2l0aEVxdWl2YWxlbmNlIiwiZXF1aXZhbGVuY2UiLCJ1bmlmaWVkV2l0aEVxdWl2YWxlbmNlIiwiZXF1aXZhbGVuY2VNYXRjaGVzVGVybU5vZGUiLCJtYXRjaFRlcm1Ob2RlIiwidmFyaWFibGVOb2RlIiwiZXF1aXZhbGVuY2VNYXRjaGVzVmFyaWFibGVOb2RlIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJ0ZXJtU3Vic3RpdHV0aW9uIiwidGVybVN1YnN0aXR1dGlvbk5vZGUiLCJUZXJtIiwiZG9tIiwiVmFyaWFibGUiLCJmcm9tVGVybU5vZGUiLCJmcm9tVmFyaWFibGVOb2RlIiwibm9kZUFzVG9rZW5zIiwic3RyaW5nRnJvbVRlcm1BbmRWYXJpYWJsZSIsImZyb21UZXJuQW5kVmFyaWFibGUiLCJzdHJpcEJyYWNrZXRzRnJvbVRlcm1Ob2RlIiwibGV4ZXIiLCJnZXRMZXhlciIsInBhcnNlciIsImdldFBhcnNlciIsInRlcm1TdWJzdGl0dXRpb25QYXJ0aWFsQ29udGV4dCIsIlRlcm1TdWJzdGl0dXRpb25QYXJ0aWFsQ29udGV4dCIsImZyb21TdHJpbmdMZXhlckFuZFBhcnNlciIsImdldFRva2VucyIsIlN1YnN0aXR1dGlvbiIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ2YXJpYWJsZVN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFjcUJBOzs7MERBWkw7bUVBQ1M7MkRBQ2tCO3FCQUVqQjt3QkFDWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUd0QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsOEJBQzFCQyxvQkFBb0JELElBQUFBLGdCQUFTLEVBQUMsd0NBQzlCRSw0QkFBNEJGLElBQUFBLGdCQUFTLEVBQUM7QUFFN0IsSUFBQSxBQUFNRixpQ0FBTjtjQUFNQTthQUFBQSxpQkFDUEssTUFBTSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxRQUFRO2dDQUQ3QlQ7O2dCQUVqQixrQkFGaUJBO1lBRVhLO1lBQVFDO1lBQU1DOztRQUVwQixNQUFLQyxJQUFJLEdBQUdBO1FBQ1osTUFBS0MsUUFBUSxHQUFHQTs7O2tCQUxDVDs7WUFRbkJVLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsUUFBUTtZQUN0Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjSixJQUFJLEVB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
|
package/lib/substitution.js
CHANGED
|
@@ -179,6 +179,20 @@ var Substitution = /*#__PURE__*/ function() {
|
|
|
179
179
|
return resolved;
|
|
180
180
|
}
|
|
181
181
|
},
|
|
182
|
+
{
|
|
183
|
+
key: "matchName",
|
|
184
|
+
value: function matchName(name) {
|
|
185
|
+
var nameMatches = false;
|
|
186
|
+
return nameMatches;
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
key: "getReplacementNode",
|
|
191
|
+
value: function getReplacementNode() {
|
|
192
|
+
var replacementNode = null;
|
|
193
|
+
return replacementNode;
|
|
194
|
+
}
|
|
195
|
+
},
|
|
182
196
|
{
|
|
183
197
|
key: "unifyWithEquivalence",
|
|
184
198
|
value: function unifyWithEquivalence(equivalence) {
|
|
@@ -190,4 +204,4 @@ var Substitution = /*#__PURE__*/ function() {
|
|
|
190
204
|
return Substitution;
|
|
191
205
|
}();
|
|
192
206
|
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnN0aXR1dGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbm9kZSwgdG9rZW5zKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRUb2tlbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICBjb25zdCB0ZXJtID0gbnVsbDtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG5cbiAgZ2V0RnJhbWUoKSB7XG4gICAgY29uc3QgZnJhbWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSBudWxsO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IG51bGw7XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IG51bGw7XG5cbiAgICByZXR1cm4gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlKCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBudWxsO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBnZXRTdWJzdGl0dXRpb24oKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gbnVsbDtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb247XG4gIH1cblxuICBpc1NpbXBsZSgpIHtcbiAgICBjb25zdCBzaW1wbGUgPSB0cnVlO1xuXG4gICAgcmV0dXJuIHNpbXBsZTtcbiAgfVxuXG4gIGlzQ29tcGxleCgpIHtcbiAgICBjb25zdCBzaW1wbGUgPSB0aGlzLmlzU2ltcGxlKCksXG4gICAgICAgICAgY29tcGxleCA9ICFzaW1wbGU7XG5cbiAgICByZXR1cm4gY29tcGxleDtcbiAgfVxuXG4gIGlzRXF1YWxUbyhzdWJzdGl0dXRpb24pIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25TdHJpbmcgPSBzdWJzdGl0dXRpb24uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgZXF1YWxUbyA9IChzdWJzdGl0dXRpb25TdHJpbmcgPT09IHRoaXMuc3RyaW5nKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgaXNUZXJtRXF1YWxUbyh0ZXJtKSB7XG4gICAgY29uc3QgdGVybUVxdWFsVG8gPSBmYWxzZTtcblxuICAgIHJldHVybiB0ZXJtRXF1YWxUbztcbiAgfVxuXG4gIGlzRnJhbWVFcXVhbFRvKGZyYW1lKSB7XG4gICAgY29uc3QgZnJhbWVFcXVhbFRvID0gZmFsc2U7XG5cbiAgICByZXR1cm4gZnJhbWVFcXVhbFRvO1xuICB9XG5cbiAgaXNWYXJpYWJsZUVxdWFsVG8odmFyaWFibGUpIHtcbiAgICBjb25zdCB2YXJpYWJsZUVxdWFsVG8gPSBmYWxzZTtcblxuICAgIHJldHVybiB2YXJpYWJsZUVxdWFsVG87XG4gIH1cblxuICBpc1JlZmVyZW5jZUVxdWFsVG8ocmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlRXF1YWxUbyA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZUVxdWFsVG87XG4gIH1cblxuICBpc1N0YXRlbWVudEVxdWFsVG8oc3RhdGVtZW50KSB7XG4gICAgY29uc3Qgc3RhdGVtZW50RXF1YWxUbyA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudEVxdWFsVG87XG4gIH1cblxuICBpc01ldGF2YXJpYWJsZUVxdWFsVG8obWV0YXZhcmlhYmxlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlRXF1YWxUbyA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZUVxdWFsVG87XG4gIH1cblxuICBpc1N1YnN0aXR1dGlvbkVxdWFsVG8oc3Vic3RpdHV0aW9uKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uRXF1YWxUbyA9IChzdWJzdGl0dXRpb24gPT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbkVxdWFsVG87XG4gIH1cblxuICByZXNvbHZlKHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBjb25zdCByZXNvbHZlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gcmVzb2x2ZWQ7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBnZXRSZXBsYWNlbWVudE5vZGUoKSB7XG4gICAgY29uc3QgcmVwbGFjZW1lbnROb2RlID0gbnVsbDtcblxuICAgIHJldHVybiByZXBsYWNlbWVudE5vZGU7XG4gIH1cblxuICB1bmlmeVdpdGhFcXVpdmFsZW5jZShlcXVpdmFsZW5jZSkge1xuICAgIGxldCB1bmlmaWVkV2l0aEVxdWl2YWxlbmNlID0gZmFsc2U7XG5cbiAgICByZXR1cm4gdW5pZmllZFdpdGhFcXVpdmFsZW5jZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN1YnN0aXR1dGlvbiIsInN0cmluZyIsIm5vZGUiLCJ0b2tlbnMiLCJnZXRTdHJpbmciLCJnZXROb2RlIiwiZ2V0VG9rZW5zIiwiZ2V0VGVybSIsInRlcm0iLCJnZXRGcmFtZSIsImZyYW1lIiwiZ2V0VmFyaWFibGUiLCJ2YXJpYWJsZSIsImdldFJlZmVyZW5jZSIsInJlZmVyZW5jZSIsImdldFN0YXRlbWVudCIsInN0YXRlbWVudCIsImdldE1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXRTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb24iLCJpc1NpbXBsZSIsInNpbXBsZSIsImlzQ29tcGxleCIsImNvbXBsZXgiLCJpc0VxdWFsVG8iLCJzdWJzdGl0dXRpb25TdHJpbmciLCJlcXVhbFRvIiwiaXNUZXJtRXF1YWxUbyIsInRlcm1FcXVhbFRvIiwiaXNGcmFtZUVxdWFsVG8iLCJmcmFtZUVxdWFsVG8iLCJpc1ZhcmlhYmxlRXF1YWxUbyIsInZhcmlhYmxlRXF1YWxUbyIsImlzUmVmZXJlbmNlRXF1YWxUbyIsInJlZmVyZW5jZUVxdWFsVG8iLCJpc1N0YXRlbWVudEVxdWFsVG8iLCJzdGF0ZW1lbnRFcXVhbFRvIiwiaXNNZXRhdmFyaWFibGVFcXVhbFRvIiwibWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlRXF1YWxUbyIsImlzU3Vic3RpdHV0aW9uRXF1YWxUbyIsInN1YnN0aXR1dGlvbkVxdWFsVG8iLCJyZXNvbHZlIiwic3Vic3RpdHV0aW9ucyIsImNvbnRleHQiLCJyZXNvbHZlZCIsIm1hdGNoTmFtZSIsIm5hbWUiLCJuYW1lTWF0Y2hlcyIsImdldFJlcGxhY2VtZW50Tm9kZSIsInJlcGxhY2VtZW50Tm9kZSIsInVuaWZ5V2l0aEVxdWl2YWxlbmNlIiwiZXF1aXZhbGVuY2UiLCJ1bmlmaWVkV2l0aEVxdWl2YWxlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLDZCQUFOO2FBQU1BLGFBQ1BDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxNQUFNO2dDQURiSDtRQUVqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE1BQU0sR0FBR0E7O2tCQUpHSDs7WUFPbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.1205",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.32",
|
|
14
14
|
"necessary": "^14.2.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.986",
|
|
16
16
|
"occam-entities": "^1.0.238",
|
|
17
17
|
"occam-file-system": "^6.0.266",
|
|
18
|
-
"occam-furtle": "^1.0.
|
|
18
|
+
"occam-furtle": "^1.0.47",
|
|
19
19
|
"occam-grammar-utilities": "^8.0.239",
|
|
20
20
|
"occam-lexers": "^23.0.11",
|
|
21
21
|
"occam-parsers": "^23.0.21",
|
|
@@ -49,31 +49,6 @@ export default domAssigned(class ContainedAssertion {
|
|
|
49
49
|
return this.statement;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
unifyIndependently(substitutions, context) {
|
|
53
|
-
let unifiedIndependently;
|
|
54
|
-
|
|
55
|
-
const containedAssertionString = this.string; ///
|
|
56
|
-
|
|
57
|
-
context.trace(`Unifying the '${containedAssertionString}' contained assertion independently...`);
|
|
58
|
-
|
|
59
|
-
const localContext = LocalContext.fromContextAndTokens(context, this.tokens);
|
|
60
|
-
|
|
61
|
-
context = localContext; ///
|
|
62
|
-
|
|
63
|
-
const term = termFromTermAndSubstitutions(this.term, substitutions, context),
|
|
64
|
-
frame = frameFromFrameAndSubstitutions(this.frame, substitutions, context),
|
|
65
|
-
statement = statementFromStatementAndSubstitutions(this.statement, substitutions, context),
|
|
66
|
-
verifiedWhenDerived = verifyWhenDerived(term, frame, statement, this.negated, context);
|
|
67
|
-
|
|
68
|
-
unifiedIndependently = verifiedWhenDerived; ///
|
|
69
|
-
|
|
70
|
-
if (unifiedIndependently) {
|
|
71
|
-
context.debug(`...unified the '${containedAssertionString}' contained assertion independently.`);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return unifiedIndependently;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
52
|
verify(assignments, stated, context) {
|
|
78
53
|
let verified = false;
|
|
79
54
|
|
|
@@ -175,6 +150,31 @@ export default domAssigned(class ContainedAssertion {
|
|
|
175
150
|
return verifiedWhenDerived;
|
|
176
151
|
}
|
|
177
152
|
|
|
153
|
+
unifyIndependently(substitutions, context) {
|
|
154
|
+
let unifiedIndependently;
|
|
155
|
+
|
|
156
|
+
const containedAssertionString = this.string; ///
|
|
157
|
+
|
|
158
|
+
context.trace(`Unifying the '${containedAssertionString}' contained assertion independently...`);
|
|
159
|
+
|
|
160
|
+
const localContext = LocalContext.fromContextAndTokens(context, this.tokens);
|
|
161
|
+
|
|
162
|
+
context = localContext; ///
|
|
163
|
+
|
|
164
|
+
const term = termFromTermAndSubstitutions(this.term, substitutions, context),
|
|
165
|
+
frame = frameFromFrameAndSubstitutions(this.frame, substitutions, context),
|
|
166
|
+
statement = statementFromStatementAndSubstitutions(this.statement, substitutions, context),
|
|
167
|
+
verifiedWhenDerived = verifyWhenDerived(term, frame, statement, this.negated, context);
|
|
168
|
+
|
|
169
|
+
unifiedIndependently = verifiedWhenDerived; ///
|
|
170
|
+
|
|
171
|
+
if (unifiedIndependently) {
|
|
172
|
+
context.debug(`...unified the '${containedAssertionString}' contained assertion independently.`);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return unifiedIndependently;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
178
|
static name = "ContainedAssertion";
|
|
179
179
|
|
|
180
180
|
static fromStatementNode(statementNode, context) {
|
|
@@ -44,30 +44,6 @@ export default domAssigned(class DefinedAssertion {
|
|
|
44
44
|
return this.negated;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
unifyIndependently(substitutions, context) {
|
|
48
|
-
let unifiedIndependently;
|
|
49
|
-
|
|
50
|
-
const definedAssertionString = this.string; ///
|
|
51
|
-
|
|
52
|
-
context.trace(`Unifying the '${definedAssertionString}' defined assertion independently...`);
|
|
53
|
-
|
|
54
|
-
const localContext = LocalContext.fromContextAndTokens(context, this.tokens);
|
|
55
|
-
|
|
56
|
-
context = localContext; ///
|
|
57
|
-
|
|
58
|
-
const term = termFromTermAndSubstitutions(this.term, substitutions, context),
|
|
59
|
-
frame = frameFromFrameAndSubstitutions(this.frame, substitutions, context),
|
|
60
|
-
verifiedWhenDerived = verifyWhenDerived(term, frame, this.negated, context);
|
|
61
|
-
|
|
62
|
-
unifiedIndependently = verifiedWhenDerived; ///
|
|
63
|
-
|
|
64
|
-
if (unifiedIndependently) {
|
|
65
|
-
context.debug(`...unified the '${definedAssertionString}' defined assertion independently.`);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return unifiedIndependently;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
47
|
verify(assignments, stated, context) {
|
|
72
48
|
let verified = false;
|
|
73
49
|
|
|
@@ -154,6 +130,30 @@ export default domAssigned(class DefinedAssertion {
|
|
|
154
130
|
return verifiedWhenDerived;
|
|
155
131
|
}
|
|
156
132
|
|
|
133
|
+
unifyIndependently(substitutions, context) {
|
|
134
|
+
let unifiedIndependently;
|
|
135
|
+
|
|
136
|
+
const definedAssertionString = this.string; ///
|
|
137
|
+
|
|
138
|
+
context.trace(`Unifying the '${definedAssertionString}' defined assertion independently...`);
|
|
139
|
+
|
|
140
|
+
const localContext = LocalContext.fromContextAndTokens(context, this.tokens);
|
|
141
|
+
|
|
142
|
+
context = localContext; ///
|
|
143
|
+
|
|
144
|
+
const term = termFromTermAndSubstitutions(this.term, substitutions, context),
|
|
145
|
+
frame = frameFromFrameAndSubstitutions(this.frame, substitutions, context),
|
|
146
|
+
verifiedWhenDerived = verifyWhenDerived(term, frame, this.negated, context);
|
|
147
|
+
|
|
148
|
+
unifiedIndependently = verifiedWhenDerived; ///
|
|
149
|
+
|
|
150
|
+
if (unifiedIndependently) {
|
|
151
|
+
context.debug(`...unified the '${definedAssertionString}' defined assertion independently.`);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return unifiedIndependently;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
157
|
static name = "DefinedAssertion";
|
|
158
158
|
|
|
159
159
|
static fromStatementNode(statementNode, context) {
|
package/src/dom/metavariable.js
CHANGED
|
@@ -58,6 +58,12 @@ export default domAssigned(class Metavariable {
|
|
|
58
58
|
return this.metaType;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
matchName(name) {
|
|
62
|
+
const nameMatches = (name === this.name);
|
|
63
|
+
|
|
64
|
+
return nameMatches;
|
|
65
|
+
}
|
|
66
|
+
|
|
61
67
|
matchMetavariableName(metavariableName) {
|
|
62
68
|
const metavariableNameMatches = (metavariableName === this.name);
|
|
63
69
|
|
package/src/dom/parameter.js
CHANGED
|
@@ -20,20 +20,22 @@ export default domAssigned(class Parameter {
|
|
|
20
20
|
return string;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
let
|
|
23
|
+
findReplacementNode(substitutions) {
|
|
24
|
+
let replacementNode = null;
|
|
25
25
|
|
|
26
|
-
const
|
|
26
|
+
const substitution = substitutions.findSubstitution((substitution) => {
|
|
27
|
+
const nameMatches = substitution.matchName(this.name);
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
if (nameMatches) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (verified) {
|
|
33
|
-
context.debug(`...verified the '${parameterString}' parameter.`);
|
|
34
|
+
if (substitution !== null) {
|
|
35
|
+
replacementNode = substitution.getReplacementNode();
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
return
|
|
38
|
+
return replacementNode;
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
static name = "Parameter";
|
package/src/dom/procedureCall.js
CHANGED
|
@@ -4,6 +4,12 @@ import dom from "../dom";
|
|
|
4
4
|
|
|
5
5
|
import { domAssigned } from "../dom";
|
|
6
6
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
7
|
+
import LocalContext from "../context/local";
|
|
8
|
+
import {
|
|
9
|
+
frameFromFrameAndSubstitutions,
|
|
10
|
+
statementFromStatementAndSubstitutions,
|
|
11
|
+
termFromTermAndSubstitutions
|
|
12
|
+
} from "../utilities/substitutions";
|
|
7
13
|
|
|
8
14
|
const parameterNodesQuery = nodesQuery("/procedureCall/parameter"),
|
|
9
15
|
procedureCallNodeQuery = nodeQuery("/statement/procedureCall");
|
|
@@ -27,6 +33,17 @@ export default domAssigned(class ProcedureCall {
|
|
|
27
33
|
return this.parameters;
|
|
28
34
|
}
|
|
29
35
|
|
|
36
|
+
findNodes(substitutions) {
|
|
37
|
+
const nodes = this.parameters.map((parameter) => {
|
|
38
|
+
const replacementNode = parameter.findReplacementNode(substitutions),
|
|
39
|
+
node = replacementNode; ///
|
|
40
|
+
|
|
41
|
+
return node;
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
return nodes;
|
|
45
|
+
}
|
|
46
|
+
|
|
30
47
|
verify(assignments, stated, context) {
|
|
31
48
|
let verified = false;
|
|
32
49
|
|
|
@@ -68,6 +85,32 @@ export default domAssigned(class ProcedureCall {
|
|
|
68
85
|
return verified;
|
|
69
86
|
}
|
|
70
87
|
|
|
88
|
+
unifyIndependently(substitutions, context) {
|
|
89
|
+
let unifiedIndependently;
|
|
90
|
+
|
|
91
|
+
const procedureCallString = this.string; ///
|
|
92
|
+
|
|
93
|
+
context.trace(`Unifying the '${procedureCallString}' procedure call independently...`);
|
|
94
|
+
|
|
95
|
+
const procedure = context.findProcedureByReference(this.reference),
|
|
96
|
+
nodes = this.findNodes(substitutions),
|
|
97
|
+
result = procedure.call(nodes);
|
|
98
|
+
|
|
99
|
+
if (result) {
|
|
100
|
+
unifiedIndependently = true;
|
|
101
|
+
} else {
|
|
102
|
+
const procedureString = procedure.getString();
|
|
103
|
+
|
|
104
|
+
context.trace(`Unable to unify the '${procedureCallString}' procedure call independently becuase the '${procedureString}' procedure returned false.`);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (unifiedIndependently) {
|
|
108
|
+
context.debug(`...unified the '${procedureCallString}' procedure call independently.`);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return unifiedIndependently;
|
|
112
|
+
}
|
|
113
|
+
|
|
71
114
|
static name = "ProcedureCall";
|
|
72
115
|
|
|
73
116
|
static fromStatementNode(statementNode, context) {
|
package/src/dom/statement.js
CHANGED
|
@@ -12,7 +12,7 @@ import { domAssigned } from "../dom";
|
|
|
12
12
|
import { unifyStatement } from "../utilities/unification";
|
|
13
13
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
14
14
|
import { STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
|
|
15
|
-
import { definedAssertionFromStatement, subproofAssertionFromStatement, containedAssertionFromStatement } from "../utilities/verification";
|
|
15
|
+
import { procedureCallFromStatement, definedAssertionFromStatement, subproofAssertionFromStatement, containedAssertionFromStatement } from "../utilities/verification";
|
|
16
16
|
|
|
17
17
|
const { match, backwardsSome } = arrayUtilities;
|
|
18
18
|
|
|
@@ -170,14 +170,21 @@ export default domAssigned(class Statement {
|
|
|
170
170
|
const context = specificContext, ///
|
|
171
171
|
statement = this; ///
|
|
172
172
|
|
|
173
|
-
const
|
|
173
|
+
const procedureCall = procedureCallFromStatement(statement, context),
|
|
174
|
+
definedAssertion = definedAssertionFromStatement(statement, context),
|
|
174
175
|
containedAssertion = containedAssertionFromStatement(statement, context);
|
|
175
176
|
|
|
176
|
-
if ((definedAssertion !== null) || (containedAssertion !== null)) {
|
|
177
|
+
if ((procedureCall !== null) || (definedAssertion !== null) || (containedAssertion !== null)) {
|
|
177
178
|
const statementString = this.string;
|
|
178
179
|
|
|
179
180
|
specificContext.trace(`Unifying the '${statementString}' statement independently...`);
|
|
180
181
|
|
|
182
|
+
if (procedureCall !== null) {
|
|
183
|
+
const procedureCallUnifiedIndependently = procedureCall.unifyIndependently(substitutions, context);
|
|
184
|
+
|
|
185
|
+
unifiedIndependently = procedureCallUnifiedIndependently; ///
|
|
186
|
+
}
|
|
187
|
+
|
|
181
188
|
if (definedAssertion !== null) {
|
|
182
189
|
const definedAssertionUnifiedIndependently = definedAssertion.unifyIndependently(substitutions, context);
|
|
183
190
|
|
package/src/dom/variable.js
CHANGED
|
@@ -43,12 +43,18 @@ export default domAssigned(class Variable {
|
|
|
43
43
|
this.type = type;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
const nameMatches = (
|
|
46
|
+
matchName(name) {
|
|
47
|
+
const nameMatches = (name === this.name);
|
|
48
48
|
|
|
49
49
|
return nameMatches;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
matchVariableName(variableName) {
|
|
53
|
+
const variableNameMatches = (variableName === this.name);
|
|
54
|
+
|
|
55
|
+
return variableNameMatches;
|
|
56
|
+
}
|
|
57
|
+
|
|
52
58
|
isEqualTo(variable) {
|
|
53
59
|
const variableString = variable.getString(),
|
|
54
60
|
equalTo = (variableString === this.string);
|
|
@@ -30,6 +30,15 @@ export default class FrameSubstitution extends Substitution {
|
|
|
30
30
|
|
|
31
31
|
isMetavariableEqualTo(metavariable) { return this.metavariable.isEqualTo(metavariable); }
|
|
32
32
|
|
|
33
|
+
matchName(name) { return this.metavariable.matchName(name); }
|
|
34
|
+
|
|
35
|
+
getReplacementNode() {
|
|
36
|
+
const frameNode = this.frame.getNode(),
|
|
37
|
+
replacementNode = frameNode; ///
|
|
38
|
+
|
|
39
|
+
return replacementNode;
|
|
40
|
+
}
|
|
41
|
+
|
|
33
42
|
static fromStatementNode(statementNode, context) {
|
|
34
43
|
let frameSubstitution = null;
|
|
35
44
|
|
|
@@ -68,6 +68,15 @@ export default class StatementSubstitution extends Substitution {
|
|
|
68
68
|
return simple;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
matchName(name) { return this.metavariable.matchName(name); }
|
|
72
|
+
|
|
73
|
+
getReplacementNode() {
|
|
74
|
+
const statementNode = this.statement.getNode(),
|
|
75
|
+
replacementNode = statementNode; ///
|
|
76
|
+
|
|
77
|
+
return replacementNode;
|
|
78
|
+
}
|
|
79
|
+
|
|
71
80
|
resolve(substitutions, generalContext, specificContext) {
|
|
72
81
|
const substitutionString = this.string;
|
|
73
82
|
|
package/src/substitution/term.js
CHANGED
|
@@ -38,6 +38,15 @@ export default class TermSubstitution extends Substitution {
|
|
|
38
38
|
|
|
39
39
|
isVariableEqualTo(variable) { return this.variable.isEqualTo(variable); }
|
|
40
40
|
|
|
41
|
+
getReplacementNode() {
|
|
42
|
+
const termNode = this.term.getNode(),
|
|
43
|
+
replacementNode = termNode; ///
|
|
44
|
+
|
|
45
|
+
return replacementNode;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
matchName(name) { return this.variable.matchName(name); }
|
|
49
|
+
|
|
41
50
|
unifyWithEquivalence(equivalence) {
|
|
42
51
|
let unifiedWithEquivalence;
|
|
43
52
|
|
package/src/substitution.js
CHANGED
|
@@ -129,6 +129,18 @@ export default class Substitution {
|
|
|
129
129
|
return resolved;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
matchName(name) {
|
|
133
|
+
const nameMatches = false;
|
|
134
|
+
|
|
135
|
+
return nameMatches;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
getReplacementNode() {
|
|
139
|
+
const replacementNode = null;
|
|
140
|
+
|
|
141
|
+
return replacementNode;
|
|
142
|
+
}
|
|
143
|
+
|
|
132
144
|
unifyWithEquivalence(equivalence) {
|
|
133
145
|
let unifiedWithEquivalence = false;
|
|
134
146
|
|