occam-verify-cli 0.0.942 → 0.0.944
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/conclusion.js +3 -4
- package/lib/consequent.js +3 -4
- package/lib/constants.js +5 -1
- package/lib/context/file.js +1 -1
- package/lib/context/local.js +15 -5
- package/lib/equality.js +14 -1
- package/lib/metavariable.js +12 -4
- package/lib/premise.js +11 -12
- package/lib/proofStep.js +13 -18
- package/lib/rule.js +5 -38
- package/lib/substitution/statementForMetavariable.js +17 -3
- package/lib/substitution/termForVariable.js +16 -2
- package/lib/substitution.js +14 -1
- package/lib/substitutions.js +28 -10
- package/lib/supposition.js +11 -12
- package/lib/topLevelAssertion.js +5 -38
- package/lib/unifier/equality.js +6 -8
- package/lib/unifier/metaLevel.js +7 -10
- package/lib/unifier/statementAgainstCombinator.js +6 -9
- package/lib/unifier/termAgainstConstructor.js +5 -5
- package/lib/unifier.js +34 -13
- package/lib/unify/conclusionAgainstStatement.js +34 -0
- package/lib/unify/consequentAgainstStatement.js +34 -0
- package/lib/unify/metavariableAgainstStatement.js +23 -15
- package/lib/unify/premiseAgainstProofStep.js +41 -0
- package/lib/unify/premisesAgainstProofSteps.js +31 -0
- package/lib/unify/statementAgainstMetaType.js +5 -9
- package/lib/unify/suppositionAgainstProofStep.js +41 -0
- package/lib/unify/suppositionsAgainstProofSteps.js +31 -0
- package/lib/unify/termAgainstTerm.js +4 -5
- package/lib/unify/termAgainstType.js +7 -7
- package/lib/unify/variableAgainstTerm.js +11 -27
- package/lib/utilities/arguments.js +27 -0
- package/lib/utilities/array.js +5 -2
- package/lib/utilities/unify.js +19 -0
- package/lib/verifier/metaLevel.js +8 -11
- package/lib/verifier/statementAsCombinator.js +13 -22
- package/lib/verifier/topLevel.js +3 -6
- package/lib/verifier.js +28 -8
- package/lib/verify/assertion/type.js +3 -7
- package/lib/verify/declaration/metavariable.js +1 -1
- package/lib/verify/equality.js +12 -25
- package/lib/verify/metavariable.js +26 -63
- package/lib/verify/statement/qualified.js +55 -58
- package/lib/verify/statement/unqualified.js +3 -6
- package/lib/verify/statement.js +36 -34
- package/lib/verify/term.js +26 -32
- package/lib/verify/type.js +4 -7
- package/lib/verify/variable.js +3 -4
- package/package.json +1 -1
- package/src/conclusion.js +2 -6
- package/src/consequent.js +2 -6
- package/src/constants.js +1 -0
- package/src/context/file.js +5 -5
- package/src/context/local.js +20 -9
- package/src/equality.js +22 -0
- package/src/metavariable.js +1 -1
- package/src/premise.js +18 -24
- package/src/proofStep.js +16 -21
- package/src/rule.js +11 -65
- package/src/substitution/statementForMetavariable.js +17 -3
- package/src/substitution/termForVariable.js +17 -1
- package/src/substitution.js +12 -0
- package/src/substitutions.js +41 -7
- package/src/supposition.js +18 -24
- package/src/topLevelAssertion.js +11 -65
- package/src/unifier/equality.js +7 -8
- package/src/unifier/metaLevel.js +6 -10
- package/src/unifier/statementAgainstCombinator.js +9 -9
- package/src/unifier/termAgainstConstructor.js +6 -4
- package/src/unifier.js +35 -11
- package/src/unify/conclusionAgainstStatement.js +34 -0
- package/src/unify/consequentAgainstStatement.js +34 -0
- package/src/unify/metavariableAgainstStatement.js +32 -22
- package/src/unify/premiseAgainstProofStep.js +54 -0
- package/src/unify/premisesAgainstProofSteps.js +23 -0
- package/src/unify/statementAgainstMetaType.js +3 -11
- package/src/unify/suppositionAgainstProofStep.js +54 -0
- package/src/unify/suppositionsAgainstProofSteps.js +23 -0
- package/src/unify/termAgainstTerm.js +3 -7
- package/src/unify/termAgainstType.js +5 -6
- package/src/unify/variableAgainstTerm.js +17 -47
- package/src/utilities/arguments.js +18 -0
- package/src/utilities/array.js +1 -1
- package/src/utilities/unify.js +18 -0
- package/src/verifier/metaLevel.js +7 -11
- package/src/verifier/statementAsCombinator.js +15 -28
- package/src/verifier/topLevel.js +13 -17
- package/src/verifier.js +28 -6
- package/src/verify/assertion/type.js +2 -6
- package/src/verify/declaration/metavariable.js +9 -9
- package/src/verify/equality.js +12 -40
- package/src/verify/metavariable.js +31 -91
- package/src/verify/statement/qualified.js +54 -58
- package/src/verify/statement/unqualified.js +2 -6
- package/src/verify/statement.js +38 -36
- package/src/verify/term.js +25 -31
- package/src/verify/type.js +3 -7
- package/src/verify/variable.js +2 -4
|
@@ -112,6 +112,13 @@ var TermForVariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
|
112
112
|
return this.termNode;
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
|
+
{
|
|
116
|
+
key: "getNode",
|
|
117
|
+
value: function getNode() {
|
|
118
|
+
var node = this.termNode; ///
|
|
119
|
+
return node;
|
|
120
|
+
}
|
|
121
|
+
},
|
|
115
122
|
{
|
|
116
123
|
key: "isTransformed",
|
|
117
124
|
value: function isTransformed(substitution) {
|
|
@@ -135,7 +142,7 @@ var TermForVariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
|
135
142
|
},
|
|
136
143
|
{
|
|
137
144
|
key: "unifyAgainstEquivalence",
|
|
138
|
-
value: function unifyAgainstEquivalence(equivalence, substitutions,
|
|
145
|
+
value: function unifyAgainstEquivalence(equivalence, substitutions, localContextA, localContextB) {
|
|
139
146
|
var unifiedAgainstEquivalence;
|
|
140
147
|
var equivalenceMatchesVariableNode = equivalence.matchVariableNode(this.variableNode);
|
|
141
148
|
if (equivalenceMatchesVariableNode) {
|
|
@@ -146,6 +153,13 @@ var TermForVariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
|
146
153
|
}
|
|
147
154
|
return unifiedAgainstEquivalence;
|
|
148
155
|
}
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
key: "asString",
|
|
159
|
+
value: function asString(localContextA, localContextB) {
|
|
160
|
+
var termNodeB = this.termNode, termStringB = localContextB.nodeAsString(termNodeB), variableNodeA = this.variableNode, variableStringA = localContextA.nodeAsString(variableNodeA), string = "[".concat(termStringB, " for ").concat(variableStringA, "]");
|
|
161
|
+
return string;
|
|
162
|
+
}
|
|
149
163
|
}
|
|
150
164
|
], [
|
|
151
165
|
{
|
|
@@ -212,4 +226,4 @@ function substituteVariableNode(variableNode, substitutions) {
|
|
|
212
226
|
return variableNode;
|
|
213
227
|
}
|
|
214
228
|
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLyovdGVybSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3IodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnRlcm1Ob2RlID0gdGVybU5vZGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybU5vZGU7XG4gIH1cblxuICBpc1RyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbikge1xuICAgIGNvbnN0IHRlcm1Ob2QgPSBzdWJzdGl0dXRpb24uZ2V0VGVybU5vZGUoKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0VmFyaWFibGVOb2RlKCksXG4gICAgICAgICAgdGVybU5vZGVNYXRjaGVzID0gdGhpcy50ZXJtTm9kZS5tYXRjaCh0ZXJtTm9kKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy52YXJpYWJsZU5vZGUubWF0Y2godmFyaWFibGVOb2RlKSxcbiAgICAgICAgICB0cmFuc2Zvcm1lZCA9ICgoIXRlcm1Ob2RlTWF0Y2hlcykgJiYgKCF2YXJpYWJsZU5vZGVNYXRjaGVzKSk7XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gIH1cblxuICBtYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKSB7XG4gICAgY29uc3QgbWF0Y2hlc1Rlcm1Ob2RlID0gdGhpcy50ZXJtTm9kZS5tYXRjaCh0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc1Rlcm1Ob2RlO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWF0Y2hlc1ZhcmlhYmxlTm9kZSA9IHRoaXMudmFyaWFibGVOb2RlLm1hdGNoKHZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc1ZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIHVuaWZ5QWdhaW5zdEVxdWl2YWxlbmNlKGVxdWl2YWxlbmNlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZTtcblxuICAgIGNvbnN0IGVxdWl2YWxlbmNlTWF0Y2hlc1ZhcmlhYmxlTm9kZSA9IGVxdWl2YWxlbmNlLm1hdGNoVmFyaWFibGVOb2RlKHRoaXMudmFyaWFibGVOb2RlKTtcblxuICAgIGlmIChlcXVpdmFsZW5jZU1hdGNoZXNWYXJpYWJsZU5vZGUpIHtcbiAgICAgIGNvbnN0IGVxdWl2YWxlbmNlTWF0Y2hlc1Rlcm1Ob2RlID0gZXF1aXZhbGVuY2UubWF0Y2hUZXJtTm9kZSh0aGlzLnRlcm1Ob2RlKTtcblxuICAgICAgaWYgKGVxdWl2YWxlbmNlTWF0Y2hlc1Rlcm1Ob2RlKSB7XG4gICAgICAgIHVuaWZpZWRBZ2FpbnN0RXF1aXZhbGVuY2UgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVkQWdhaW5zdEVxdWl2YWxlbmNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpIHtcbiAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpIHtcbiAgICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpO1xuXG4gICAgcmV0dXJuIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgdGVybU5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0VGVybU5vZGUoKSxcbiAgICAgICAgdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLmdldFZhcmlhYmxlTm9kZSgpO1xuXG4gICAgdGVybU5vZGUgPSBzdWJzdGl0dXRlVGVybU5vZGUodGVybU5vZGUsIHN1YnN0aXR1dGlvbnMpOyAvLy9cblxuICAgIHZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGVWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zKTsgLy8vXG5cbiAgICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpO1xuXG4gICAgcmV0dXJuIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3Vic3RpdHV0aW9uTm9kZUFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpO1xuXG4gICAgdGVybU5vZGUgPSBzdWJzdGl0dXRlVGVybU5vZGUodGVybU5vZGUsIHN1YnN0aXR1dGlvbnMpOyAvLy9cblxuICAgIHZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGVWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zKTsgLy8vXG5cbiAgICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpO1xuXG4gICAgcmV0dXJuIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdWJzdGl0dXRlVGVybU5vZGUodGVybU5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3QgdGVybVZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodGVybVZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIHN1YnN0aXR1dGlvbnMuc29tZVN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25NYXRjaGVzVmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLm1hdGNoVmFyaWFibGVOb2RlKHRlcm1WYXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSkge1xuICAgICAgICB0ZXJtTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRUZXJtTm9kZSgpOyAgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVybU5vZGU7XG59XG5cbmZ1bmN0aW9uIHN1YnN0aXR1dGVWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIHN1YnN0aXR1dGlvbnMuc29tZVN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGlvbi5tYXRjaFZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gc3Vic3RpdHV0aW9uLmdldFRlcm1Ob2RlKCksXG4gICAgICAgICAgICB0ZXJtVmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gICAgICBpZiAodGVybVZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXJpYWJsZU5vZGUgPSB0ZXJtVmFyaWFibGVOb2RlOyAgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuIl0sIm5hbWVzIjpbIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZSIsInRlcm1Ob2RlIiwiZ2V0VmFyaWFibGVOb2RlIiwiZ2V0VGVybU5vZGUiLCJpc1RyYW5zZm9ybWVkIiwic3Vic3RpdHV0aW9uIiwidGVybU5vZCIsInRlcm1Ob2RlTWF0Y2hlcyIsIm1hdGNoIiwidmFyaWFibGVOb2RlTWF0Y2hlcyIsInRyYW5zZm9ybWVkIiwibWF0Y2hUZXJtTm9kZSIsIm1hdGNoZXNUZXJtTm9kZSIsIm1hdGNoVmFyaWFibGVOb2RlIiwibWF0Y2hlc1ZhcmlhYmxlTm9kZSIsInVuaWZ5QWdhaW5zdEVxdWl2YWxlbmNlIiwiZXF1aXZhbGVuY2UiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0IiwidW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZSIsImVxdWl2YWxlbmNlTWF0Y2hlc1ZhcmlhYmxlTm9kZSIsImVxdWl2YWxlbmNlTWF0Y2hlc1Rlcm1Ob2RlIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlIiwiZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMiLCJzdWJzdGl0dXRlVGVybU5vZGUiLCJzdWJzdGl0dXRlVmFyaWFibGVOb2RlIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGVBbmRTdWJzdGl0dXRpb25zIiwiU3Vic3RpdHV0aW9uIiwidGVybVZhcmlhYmxlTm9kZSIsInNvbWVTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25NYXRjaGVzVmFyaWFibGVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzttRUFQSTtxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsYUFDMUJDLG9CQUFvQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixJQUFBLEFBQU1GLDRDQUFELEFBQUw7Y0FBTUE7YUFBQUEsNEJBQ1BJLFlBQVksRUFBRUMsUUFBUTtnQ0FEZkw7O2dCQUVqQixrQkFGaUJBO1FBSWpCLE1BQUtJLFlBQVksR0FBR0E7UUFDcEIsTUFBS0MsUUFBUSxH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
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLyovdGVybSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3IodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnRlcm1Ob2RlID0gdGVybU5vZGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybU5vZGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnRlcm1Ob2RlOyAvLy9cblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgaXNUcmFuc2Zvcm1lZChzdWJzdGl0dXRpb24pIHtcbiAgICBjb25zdCB0ZXJtTm9kID0gc3Vic3RpdHV0aW9uLmdldFRlcm1Ob2RlKCksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLmdldFZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgIHRlcm1Ob2RlTWF0Y2hlcyA9IHRoaXMudGVybU5vZGUubWF0Y2godGVybU5vZCksXG4gICAgICAgICAgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMudmFyaWFibGVOb2RlLm1hdGNoKHZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgdHJhbnNmb3JtZWQgPSAoKCF0ZXJtTm9kZU1hdGNoZXMpICYmICghdmFyaWFibGVOb2RlTWF0Y2hlcykpO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICB9XG5cbiAgbWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZSkge1xuICAgIGNvbnN0IG1hdGNoZXNUZXJtTm9kZSA9IHRoaXMudGVybU5vZGUubWF0Y2godGVybU5vZGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNUZXJtTm9kZTtcbiAgfVxuXG4gIG1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1hdGNoZXNWYXJpYWJsZU5vZGUgPSB0aGlzLnZhcmlhYmxlTm9kZS5tYXRjaCh2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNWYXJpYWJsZU5vZGU7XG4gIH1cblxuICB1bmlmeUFnYWluc3RFcXVpdmFsZW5jZShlcXVpdmFsZW5jZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCB1bmlmaWVkQWdhaW5zdEVxdWl2YWxlbmNlO1xuXG4gICAgY29uc3QgZXF1aXZhbGVuY2VNYXRjaGVzVmFyaWFibGVOb2RlID0gZXF1aXZhbGVuY2UubWF0Y2hWYXJpYWJsZU5vZGUodGhpcy52YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKGVxdWl2YWxlbmNlTWF0Y2hlc1ZhcmlhYmxlTm9kZSkge1xuICAgICAgY29uc3QgZXF1aXZhbGVuY2VNYXRjaGVzVGVybU5vZGUgPSBlcXVpdmFsZW5jZS5tYXRjaFRlcm1Ob2RlKHRoaXMudGVybU5vZGUpO1xuXG4gICAgICBpZiAoZXF1aXZhbGVuY2VNYXRjaGVzVGVybU5vZGUpIHtcbiAgICAgICAgdW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZWRBZ2FpbnN0RXF1aXZhbGVuY2U7XG4gIH1cblxuICBhc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgY29uc3QgdGVybU5vZGVCID0gdGhpcy50ZXJtTm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1TdHJpbmdCID0gbG9jYWxDb250ZXh0Qi5ub2RlQXNTdHJpbmcodGVybU5vZGVCKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGVBID0gdGhpcy52YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZ0EgPSBsb2NhbENvbnRleHRBLm5vZGVBc1N0cmluZyh2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgICBzdHJpbmcgPSBgWyR7dGVybVN0cmluZ0J9IGZvciAke3ZhcmlhYmxlU3RyaW5nQX1dYDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YnN0aXR1dGlvbk5vZGUoc3Vic3RpdHV0aW9uTm9kZSkge1xuICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpO1xuXG4gICAgcmV0dXJuIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVOb2RlQW5kVGVybU5vZGUodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSkge1xuICAgIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24odmFyaWFibGVOb2RlLCB0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdWJzdGl0dXRpb25BbmRTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCB0ZXJtTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRUZXJtTm9kZSgpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0VmFyaWFibGVOb2RlKCk7XG5cbiAgICB0ZXJtTm9kZSA9IHN1YnN0aXR1dGVUZXJtTm9kZSh0ZXJtTm9kZSwgc3Vic3RpdHV0aW9ucyk7IC8vL1xuXG4gICAgdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0ZVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbnMpOyAvLy9cblxuICAgIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24odmFyaWFibGVOb2RlLCB0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdWJzdGl0dXRpb25Ob2RlQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkoc3Vic3RpdHV0aW9uTm9kZSk7XG5cbiAgICB0ZXJtTm9kZSA9IHN1YnN0aXR1dGVUZXJtTm9kZSh0ZXJtTm9kZSwgc3Vic3RpdHV0aW9ucyk7IC8vL1xuXG4gICAgdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0ZVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbnMpOyAvLy9cblxuICAgIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24odmFyaWFibGVOb2RlLCB0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN1YnN0aXR1dGVUZXJtTm9kZSh0ZXJtTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCB0ZXJtVmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh0ZXJtVmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgc3Vic3RpdHV0aW9ucy5zb21lU3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRpb24ubWF0Y2hWYXJpYWJsZU5vZGUodGVybVZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzVmFyaWFibGVOb2RlKSB7XG4gICAgICAgIHRlcm1Ob2RlID0gc3Vic3RpdHV0aW9uLmdldFRlcm1Ob2RlKCk7ICAvLy9cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtTm9kZTtcbn1cblxuZnVuY3Rpb24gc3Vic3RpdHV0ZVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgc3Vic3RpdHV0aW9ucy5zb21lU3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25NYXRjaGVzVmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLm1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSkge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0VGVybU5vZGUoKSxcbiAgICAgICAgICAgIHRlcm1WYXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgICAgIGlmICh0ZXJtVmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIHZhcmlhYmxlTm9kZSA9IHRlcm1WYXJpYWJsZU5vZGU7ICAvLy9cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB2YXJpYWJsZU5vZGU7XG59XG4iXSwibmFtZXMiOlsiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlIiwidGVybU5vZGUiLCJnZXRWYXJpYWJsZU5vZGUiLCJnZXRUZXJtTm9kZSIsImdldE5vZGUiLCJub2RlIiwiaXNUcmFuc2Zvcm1lZCIsInN1YnN0aXR1dGlvbiIsInRlcm1Ob2QiLCJ0ZXJtTm9kZU1hdGNoZXMiLCJtYXRjaCIsInZhcmlhYmxlTm9kZU1hdGNoZXMiLCJ0cmFuc2Zvcm1lZCIsIm1hdGNoVGVybU5vZGUiLCJtYXRjaGVzVGVybU5vZGUiLCJtYXRjaFZhcmlhYmxlTm9kZSIsIm1hdGNoZXNWYXJpYWJsZU5vZGUiLCJ1bmlmeUFnYWluc3RFcXVpdmFsZW5jZSIsImVxdWl2YWxlbmNlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwidW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZSIsImVxdWl2YWxlbmNlTWF0Y2hlc1ZhcmlhYmxlTm9kZSIsImVxdWl2YWxlbmNlTWF0Y2hlc1Rlcm1Ob2RlIiwiYXNTdHJpbmciLCJ0ZXJtTm9kZUIiLCJ0ZXJtU3RyaW5nQiIsIm5vZGVBc1N0cmluZyIsInZhcmlhYmxlTm9kZUEiLCJ2YXJpYWJsZVN0cmluZ0EiLCJzdHJpbmciLCJmcm9tU3Vic3RpdHV0aW9uTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tVmFyaWFibGVOb2RlQW5kVGVybU5vZGUiLCJmcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyIsInN1YnN0aXR1dGVUZXJtTm9kZSIsInN1YnN0aXR1dGVWYXJpYWJsZU5vZGUiLCJmcm9tU3Vic3RpdHV0aW9uTm9kZUFuZFN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb24iLCJ0ZXJtVmFyaWFibGVOb2RlIiwic29tZVN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7O21FQVBJO3FCQUVDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxhQUMxQkMsb0JBQW9CRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLElBQUEsQUFBTUYsNENBQUQsQUFBTDtjQUFNQTthQUFBQSw0QkFDUEksWUFBWSxFQUFFQyxRQUFRO2dDQURmTDs7Z0JBRWpCLGtCQUZpQkE7UUFJakIsTUFBS0ksWUFBWSxHQUFHQTtRQUNwQixNQUFLQyxRQUFRLEdBQUdBOzs7a0JBTENMOztZQVFuQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixZQUFZO1lBQzFCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixRQUFRO1lBQ3RCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLE9BQU8sSUFBSSxDQUFDSixRQUFRLEVBQUUsR0FBRztnQkFFL0IsT0FBT0k7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjQyxZQUFZO2dCQUN4QixJQUFNQyxVQUFVRCxhQUFhSixXQUFXLElBQ2xDSCxlQUFlTyxhQUFhTCxl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
|
package/lib/substitution.js
CHANGED
|
@@ -59,9 +59,22 @@ var Substitution = /*#__PURE__*/ function() {
|
|
|
59
59
|
var matchesMetavariableNode = false;
|
|
60
60
|
return matchesMetavariableNode;
|
|
61
61
|
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: "unifyAgainstEquivalences",
|
|
65
|
+
value: function unifyAgainstEquivalences(equivalences, substitutions, localContextA, localContextB) {
|
|
66
|
+
var _this = this;
|
|
67
|
+
var unifiedAgainstEquivalences = equivalences.some(function(equivalence) {
|
|
68
|
+
var substitutionUnifiedAgainstEquivalence = _this.unifyAgainstEquivalence(equivalence, substitutions, localContextA, localContextB);
|
|
69
|
+
if (substitutionUnifiedAgainstEquivalence) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return unifiedAgainstEquivalences;
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
76
|
]);
|
|
64
77
|
return Substitution;
|
|
65
78
|
}();
|
|
66
79
|
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnN0aXR1dGlvbiB7XG4gIG1hdGNoVGVybU5vZGUodGVybU5vZGUpIHtcbiAgICBjb25zdCBtYXRjaGVzVGVybU5vZGUgPSBmYWxzZTtcblxuICAgIHJldHVybiBtYXRjaGVzVGVybU5vZGU7XG4gIH1cblxuICBtYXRjaFZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNNZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBtYXRjaGVzU3RhdGVtZW50Tm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNNZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgdW5pZnlBZ2FpbnN0RXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGNvbnN0IHVuaWZpZWRBZ2FpbnN0RXF1aXZhbGVuY2VzID0gZXF1aXZhbGVuY2VzLnNvbWUoKGVxdWl2YWxlbmNlKSA9PiB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25VbmlmaWVkQWdhaW5zdEVxdWl2YWxlbmNlID0gdGhpcy51bmlmeUFnYWluc3RFcXVpdmFsZW5jZShlcXVpdmFsZW5jZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25VbmlmaWVkQWdhaW5zdEVxdWl2YWxlbmNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuaWZpZWRBZ2FpbnN0RXF1aXZhbGVuY2VzO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU3Vic3RpdHV0aW9uIiwibWF0Y2hUZXJtTm9kZSIsInRlcm1Ob2RlIiwibWF0Y2hlc1Rlcm1Ob2RlIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGUiLCJtYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJtYXRjaGVzU3RhdGVtZW50Tm9kZSIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJ1bmlmeUFnYWluc3RFcXVpdmFsZW5jZXMiLCJlcXVpdmFsZW5jZXMiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ1bmlmaWVkQWdhaW5zdEVxdWl2YWxlbmNlcyIsInNvbWUiLCJlcXVpdmFsZW5jZSIsInN1YnN0aXR1dGlvblVuaWZpZWRBZ2FpbnN0RXF1aXZhbGVuY2UiLCJ1bmlmeUFnYWluc3RFcXVpdmFsZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFFcUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU4sSUFBQSxBQUFNQSw2QkFBRCxBQUFMO2FBQU1BO2dDQUFBQTs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBLGNBQWNDLFFBQVE7Z0JBQ3BCLElBQU1DLGtCQUFrQjtnQkFFeEIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JDLFlBQVk7Z0JBQzVCLElBQU1DLDBCQUEwQjtnQkFFaEMsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLGFBQWE7Z0JBQzlCLElBQU1DLHVCQUF1QjtnQkFFN0IsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQjtnQkFDcEMsSUFBTUwsMEJBQTBCO2dCQUVoQyxPQUFPQTtZQUNUOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBLHlCQUF5QkMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTs7Z0JBQ2hGLElBQU1DLDZCQUE2QkosYUFBYUssSUFBSSxDQUFDLFNBQUNDO29CQUNwRCxJQUFNQyx3Q0FBd0MsTUFBS0MsdUJBQXVCLENBQUNGLGFBQWFMLGVBQWVDLGVBQWVDO29CQUV0SCxJQUFJSSx1Q0FBdUM7d0JBQ3pDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0g7WUFDVDs7O1dBbkNtQmpCIn0=
|
package/lib/substitutions.js
CHANGED
|
@@ -105,13 +105,15 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
key: "addSubstitution",
|
|
108
|
-
value: function addSubstitution(substitution) {
|
|
108
|
+
value: function addSubstitution(substitution, localContextA, localContextB) {
|
|
109
109
|
this.array.push(substitution);
|
|
110
|
+
var substitutionNode = substitution.getNode(), substitutionString = substitution.asString(localContextA, localContextB);
|
|
111
|
+
localContextB.trace("Added the '".concat(substitutionString, "' substitution."), substitutionNode);
|
|
110
112
|
}
|
|
111
113
|
},
|
|
112
114
|
{
|
|
113
115
|
key: "removeSubstitution",
|
|
114
|
-
value: function removeSubstitution(substitution) {
|
|
116
|
+
value: function removeSubstitution(substitution, localContextA, localContextB) {
|
|
115
117
|
var substitutionA = substitution; ///
|
|
116
118
|
(0, _array.prune)(this.array, function(substitution) {
|
|
117
119
|
var substitutionB = substitution; ///
|
|
@@ -119,6 +121,21 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
119
121
|
return true;
|
|
120
122
|
}
|
|
121
123
|
});
|
|
124
|
+
var substitutionNode = substitution.getNode(), substitutionString = substitution.asString(localContextA, localContextB);
|
|
125
|
+
localContextB.trace("Removed the '".concat(substitutionString, "' substitution."), substitutionNode);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
key: "unifyAgainstEquivalences",
|
|
130
|
+
value: function unifyAgainstEquivalences(equivalences, localContextA, localContextB) {
|
|
131
|
+
var _this = this;
|
|
132
|
+
var unifiedAgainstEquivalences = this.everySubstitution(function(substitution) {
|
|
133
|
+
var substitutions = _this, substitutionUnifiedAgainstEquivalence = substitution.unifyAgainstEquivalences(equivalences, substitutions, localContextA, localContextB);
|
|
134
|
+
if (substitutionUnifiedAgainstEquivalence) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return unifiedAgainstEquivalences;
|
|
122
139
|
}
|
|
123
140
|
},
|
|
124
141
|
{
|
|
@@ -129,13 +146,14 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
129
146
|
},
|
|
130
147
|
{
|
|
131
148
|
key: "rollback",
|
|
132
|
-
value: function rollback() {
|
|
133
|
-
var
|
|
134
|
-
var
|
|
135
|
-
(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
149
|
+
value: function rollback(localContextA, localContextB) {
|
|
150
|
+
var _this = this;
|
|
151
|
+
var array = _to_consumable_array(this.array);
|
|
152
|
+
(0, _array.rightDifference)(this.savedArray, array);
|
|
153
|
+
array.forEach(function(substitution) {
|
|
154
|
+
_this.removeSubstitution(substitution, localContextA, localContextB);
|
|
155
|
+
});
|
|
156
|
+
this.array = _to_consumable_array(this.savedArray);
|
|
139
157
|
this.savedArray = null;
|
|
140
158
|
}
|
|
141
159
|
},
|
|
@@ -183,4 +201,4 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
183
201
|
return Substitutions;
|
|
184
202
|
}();
|
|
185
203
|
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgcHJ1bmUsIGNvbXBhcmUsIHJpZ2h0RGlmZmVyZW5jZSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJzdGl0dXRpb25zIHtcbiAgY29uc3RydWN0b3IoYXJyYXksIHNhdmVkQXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gICAgdGhpcy5zYXZlZEFycmF5ID0gc2F2ZWRBcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZ2V0U2F2ZWRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlZEFycmF5O1xuICB9XG5cbiAgaGFzQ2hhbmdlZCgpIHtcbiAgICBjb25zdCBjb21wYXJlcyA9IGNvbXBhcmUodGhpcy5hcnJheSwgdGhpcy5zYXZlZEFycmF5KSxcbiAgICAgICAgICBjaGFuZ2VkID0gIWNvbXBhcmVzOyAgLy8vXG5cbiAgICByZXR1cm4gY2hhbmdlZDtcbiAgfVxuXG4gIGZpbmRTdWJzdGl0dXRpb24oY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkuZmluZChjYWxsYmFjayk7IH1cblxuICBzb21lU3Vic3RpdHV0aW9uKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmFycmF5LnNvbWUoY2FsbGJhY2spOyB9XG5cbiAgZXZlcnlTdWJzdGl0dXRpb24oY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkuZXZlcnkoY2FsbGJhY2spOyB9XG5cbiAgYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIHRoaXMuYXJyYXkucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXROb2RlKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmFzU3RyaW5nKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgbG9jYWxDb250ZXh0Qi50cmFjZShgQWRkZWQgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbi5gLCBzdWJzdGl0dXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJlbW92ZVN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25BID0gc3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHBydW5lKHRoaXMuYXJyYXksIChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbkIgPSBzdWJzdGl0dXRpb247IC8vL1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uQSAhPT0gc3Vic3RpdHV0aW9uQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvblN0cmluZyA9IHN1YnN0aXR1dGlvbi5hc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFJlbW92ZWQgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbi5gLCBzdWJzdGl0dXRpb25Ob2RlKTtcbiAgfVxuXG4gIHVuaWZ5QWdhaW5zdEVxdWl2YWxlbmNlcyhlcXVpdmFsZW5jZXMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBjb25zdCB1bmlmaWVkQWdhaW5zdEVxdWl2YWxlbmNlcyA9IHRoaXMuZXZlcnlTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IHRoaXMsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uVW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZSA9IHN1YnN0aXR1dGlvbi51bmlmeUFnYWluc3RFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvblVuaWZpZWRBZ2FpbnN0RXF1aXZhbGVuY2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZXM7XG4gIH1cblxuICBzbmFwc2hvdCgpIHtcbiAgICB0aGlzLnNhdmVkQXJyYXkgPSBbXG4gICAgICAuLi50aGlzLmFycmF5XG4gICAgXTtcbiAgfVxuXG4gIHJvbGxiYWNrKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBjb25zdCBhcnJheSA9IFtcbiAgICAgIC4uLnRoaXMuYXJyYXlcbiAgICBdO1xuXG4gICAgcmlnaHREaWZmZXJlbmNlKHRoaXMuc2F2ZWRBcnJheSwgYXJyYXkpO1xuXG4gICAgYXJyYXkuZm9yRWFjaCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZVN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hcnJheSA9IFtcbiAgICAgIC4uLnRoaXMuc2F2ZWRBcnJheVxuICAgIF07XG5cbiAgICB0aGlzLnNhdmVkQXJyYXkgPSBudWxsO1xuICB9XG5cbiAgY29udGludWUoKSB7XG4gICAgdGhpcy5zYXZlZEFycmF5ID0gbnVsbDtcbiAgfVxuXG4gIHRyYW5zZm9ybSgpIHtcbiAgICAvLy9cbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBqc29uID0gdGhpcy5hcnJheS5tYXAoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uSlNPTiA9IHN1YnN0aXR1dGlvbi50b0pTT04odG9rZW5zKTtcblxuICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvbkpTT047XG4gICAgfSk7XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBhcnJheSA9IFtdLFxuICAgICAgICAgIHNhdmVkQXJyYXkgPSBudWxsLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBuZXcgU3Vic3RpdHV0aW9ucyhhcnJheSwgc2F2ZWRBcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uc0pTT04gPSBqc29uLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHN1YnN0aXR1dGlvbnNKU09OLm1hcCgoc3Vic3RpdHV0aW9uSlNPTikgPT4ge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHN1YnN0aXR1dGlvbkpTT04sICAvLy9cbiAgICAgICAgICAgICAgICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgICAgICAgICByZXR1cm4gc3Vic3RpdHV0aW9uO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHNhdmVkQXJyYXkgPSBudWxsLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBuZXcgU3Vic3RpdHV0aW9ucyhhcnJheSwgc2F2ZWRBcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN1YnN0aXR1dGlvbnMiLCJhcnJheSIsInNhdmVkQXJyYXkiLCJnZXRBcnJheSIsImdldFNhdmVkQXJyYXkiLCJoYXNDaGFuZ2VkIiwiY29tcGFyZXMiLCJjb21wYXJlIiwiY2hhbmdlZCIsImZpbmRTdWJzdGl0dXRpb24iLCJjYWxsYmFjayIsImZpbmQiLCJzb21lU3Vic3RpdHV0aW9uIiwic29tZSIsImV2ZXJ5U3Vic3RpdHV0aW9uIiwiZXZlcnkiLCJhZGRTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb24iLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInB1c2giLCJzdWJzdGl0dXRpb25Ob2RlIiwiZ2V0Tm9kZSIsInN1YnN0aXR1dGlvblN0cmluZyIsImFzU3RyaW5nIiwidHJhY2UiLCJyZW1vdmVTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25BIiwicHJ1bmUiLCJzdWJzdGl0dXRpb25CIiwidW5pZnlBZ2FpbnN0RXF1aXZhbGVuY2VzIiwiZXF1aXZhbGVuY2VzIiwidW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZXMiLCJzdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0aW9uVW5pZmllZEFnYWluc3RFcXVpdmFsZW5jZSIsInNuYXBzaG90Iiwicm9sbGJhY2siLCJyaWdodERpZmZlcmVuY2UiLCJmb3JFYWNoIiwiY29udGludWUiLCJ0cmFuc2Zvcm0iLCJ0b0pTT04iLCJ0b2tlbnMiLCJqc29uIiwibWFwIiwic3Vic3RpdHV0aW9uSlNPTiIsImZyb21Ob3RoaW5nIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0Iiwic3Vic3RpdHV0aW9uc0pTT04iLCJzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7OytFQUo0QjtxQkFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakMsSUFBQSxBQUFNQSw4QkFBRCxBQUFMO2FBQU1BLGNBQ1BDLEtBQUssRUFBRUMsVUFBVTtnQ0FEVkY7UUFFakIsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOztrQkFIREY7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLEtBQUs7WUFDbkI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFVBQVU7WUFDeEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBV0MsSUFBQUEsY0FBTyxFQUFDLElBQUksQ0FBQ04sS0FBSyxFQUFFLElBQUksQ0FBQ0MsVUFBVSxHQUM5Q00sVUFBVSxDQUFDRixVQUFXLEdBQUc7Z0JBRS9CLE9BQU9FO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCQyxRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDVCxLQUFLLENBQUNVLElBQUksQ0FBQ0Q7WUFBVzs7O1lBRS9ERSxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCRixRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDVCxLQUFLLENBQUNZLElBQUksQ0FBQ0g7WUFBVzs7O1lBRS9ESSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCSixRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDVCxLQUFLLENBQUNjLEtBQUssQ0FBQ0w7WUFBVzs7O1lBRWpFTSxLQUFBQTttQkFBQUEsU0FBQUEsZ0JBQWdCQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtnQkFDeEQsSUFBSSxDQUFD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
|
package/lib/supposition.js
CHANGED
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Supposition;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
12
11
|
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("./unifier/metaLevel"));
|
|
13
12
|
var _array = require("./utilities/array");
|
|
14
13
|
var _string = require("./utilities/string");
|
|
@@ -78,10 +77,10 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
78
77
|
},
|
|
79
78
|
{
|
|
80
79
|
key: "unifyStatement",
|
|
81
|
-
value: function unifyStatement(
|
|
80
|
+
value: function unifyStatement(statementNodeB, substitutions, localContextA, localContextB) {
|
|
82
81
|
var statementUnified = false;
|
|
83
82
|
if (this.statementNode !== null) {
|
|
84
|
-
var nodeA = this.statementNode, nodeB =
|
|
83
|
+
var nodeA = this.statementNode, nodeB = statementNodeB, unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
85
84
|
statementUnified = unified; ///
|
|
86
85
|
}
|
|
87
86
|
return statementUnified;
|
|
@@ -89,16 +88,16 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
89
88
|
},
|
|
90
89
|
{
|
|
91
90
|
key: "unifySubproof",
|
|
92
|
-
value: function unifySubproof(
|
|
91
|
+
value: function unifySubproof(subproofNodeB, substitutions, localContextA, localContextB) {
|
|
93
92
|
var subproofUnified = false;
|
|
94
93
|
if (this.statementNode !== null) {
|
|
95
|
-
var
|
|
96
|
-
if (
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
])
|
|
100
|
-
subproofUnified = (0, _array.match)(
|
|
101
|
-
var
|
|
94
|
+
var statementNodeA = this.statementNode, subproofAssertionNodeA = subproofAssertionNodeQuery(statementNodeA); ///
|
|
95
|
+
if (subproofAssertionNodeA !== null) {
|
|
96
|
+
var subproofAssertionStatementNodesA = subproofAssertionStatementNodesQuery(subproofAssertionNodeA), subproofSuppositionStatementNodesB = subproofSuppositionStatementNodesQuery(subproofNodeB), subproofLastProofStepStatementNodeB = subproofLastProofStepStatementNodeQuery(subproofNodeB), subproofStatementNodesB = _to_consumable_array(subproofSuppositionStatementNodesB).concat([
|
|
97
|
+
subproofLastProofStepStatementNodeB
|
|
98
|
+
]);
|
|
99
|
+
subproofUnified = (0, _array.match)(subproofAssertionStatementNodesA, subproofStatementNodesB, function(subproofAssertionStatementNodeA, subproofStatementNodeB) {
|
|
100
|
+
var nodeA = subproofAssertionStatementNodeA, nodeB = subproofStatementNodeB, unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
102
101
|
if (unified) {
|
|
103
102
|
return true;
|
|
104
103
|
}
|
|
@@ -136,4 +135,4 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
136
135
|
return Supposition;
|
|
137
136
|
}();
|
|
138
137
|
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdXBwb3NpdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5jb25zdCBzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvc3VicHJvb2ZBc3NlcnRpb24hXCIpLFxuICAgICAgc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZkFzc2VydGlvbi9zdGF0ZW1lbnRcIiksXG4gICAgICBzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2Yvc3VwcG9zaXRpb24vdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHN1YnByb29mTGFzdFByb29mU3RlcFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJwcm9vZi9zdWJEZXJpdmF0aW9uL2xhc3RQcm9vZlN0ZXAvdW5xdWFsaWZpZWRTdGF0ZW1lbnR8cXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1cHBvc2l0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICAgICAgdW5pZmllZCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHVuaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZk5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHN1YnByb29mVW5pZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUEgPSB0aGlzLnN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvbk5vZGVBID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZUEpOyAgLy8vXG5cbiAgICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbk5vZGVBICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNBID0gc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mQXNzZXJ0aW9uTm9kZUEpLCAgLy8vXG4gICAgICAgICAgICAgIHN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2Rlc0IgPSBzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZk5vZGVCKSwgLy8vXG4gICAgICAgICAgICAgIHN1YnByb29mTGFzdFByb29mU3RlcFN0YXRlbWVudE5vZGVCID0gc3VicHJvb2ZMYXN0UHJvb2ZTdGVwU3RhdGVtZW50Tm9kZVF1ZXJ5KHN1YnByb29mTm9kZUIpLCAvLy9cbiAgICAgICAgICAgICAgc3VicHJvb2ZTdGF0ZW1lbnROb2Rlc0IgPSBbXG4gICAgICAgICAgICAgICAgLi4uc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzQixcbiAgICAgICAgICAgICAgICBzdWJwcm9vZkxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnROb2RlQlxuICAgICAgICAgICAgICBdO1xuXG4gICAgICAgIHN1YnByb29mVW5pZmllZCA9IG1hdGNoKHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNBLCBzdWJwcm9vZlN0YXRlbWVudE5vZGVzQiwgKHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZUEsIHN1YnByb29mU3RhdGVtZW50Tm9kZUIpID0+IHtcbiAgICAgICAgICBjb25zdCBub2RlQSA9IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgICBub2RlQiA9IHN1YnByb29mU3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIHVuaWZpZWQgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgICAgICBpZiAodW5pZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZVbmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUsIHRva2VucyksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBzdXBwb3NpdGlvbiA9IG5ldyBTdXBwb3NpdGlvbihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdGF0ZW1lbnQgfSA9IGpzb24sXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgbGV4ZXIgPSBmaWxlQ29udGV4dC5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IGZpbGVDb250ZXh0LmdldFBhcnNlcigpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIGxleGVyLCBwYXJzZXIpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uID0gbmV3IFN1cHBvc2l0aW9uKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU3VwcG9zaXRpb24iLCJzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSIsInN1YnByb29mTGFzdFByb29mU3RlcFN0YXRlbWVudE5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwidW5pZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInN0YXRlbWVudFVuaWZpZWQiLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSIsInVuaWZ5U3VicHJvb2YiLCJzdWJwcm9vZk5vZGVCIiwic3VicHJvb2ZVbmlmaWVkIiwic3RhdGVtZW50Tm9kZUEiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGVBIiwic3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlc0EiLCJzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNCIiwic3VicHJvb2ZMYXN0UHJvb2ZTdGVwU3RhdGVtZW50Tm9kZUIiLCJzdWJwcm9vZlN0YXRlbWVudE5vZGVzQiIsIm1hdGNoIiwic3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlQSIsInN1YnByb29mU3RhdGVtZW50Tm9kZUIiLCJ0b0pTT04iLCJ0b2tlbnMiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJzdXBwb3NpdGlvbiIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsImxleGVyIiwiZ2V0TGV4ZXIiLCJwYXJzZXIiLCJnZXRQYXJzZXIiLCJzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7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
|
package/lib/topLevelAssertion.js
CHANGED
|
@@ -12,7 +12,8 @@ var _label = /*#__PURE__*/ _interop_require_default(require("./label"));
|
|
|
12
12
|
var _consequent = /*#__PURE__*/ _interop_require_default(require("./consequent"));
|
|
13
13
|
var _supposition = /*#__PURE__*/ _interop_require_default(require("./supposition"));
|
|
14
14
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("./substitutions"));
|
|
15
|
-
var
|
|
15
|
+
var _consequentAgainstStatement = /*#__PURE__*/ _interop_require_default(require("./unify/consequentAgainstStatement"));
|
|
16
|
+
var _suppositionsAgainstProofSteps = /*#__PURE__*/ _interop_require_default(require("./unify/suppositionsAgainstProofSteps"));
|
|
16
17
|
function _class_call_check(instance, Constructor) {
|
|
17
18
|
if (!(instance instanceof Constructor)) {
|
|
18
19
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -81,9 +82,9 @@ var TopLevelAssertion = /*#__PURE__*/ function() {
|
|
|
81
82
|
key: "unifyStatement",
|
|
82
83
|
value: function unifyStatement(statementNode, localContext) {
|
|
83
84
|
var statementUnified = false;
|
|
84
|
-
var proofSteps = localContext.getProofSteps(),
|
|
85
|
+
var substitutions = _substitutions.default.fromNothing(), proofSteps = localContext.getProofSteps(), proofStepsB = proofSteps, fileContextA = this.fileContext, suppositionsA = this.suppositions, localContextB = localContext, suppositionsUnified = (0, _suppositionsAgainstProofSteps.default)(suppositionsA, proofStepsB, substitutions, fileContextA, localContextB);
|
|
85
86
|
if (suppositionsUnified) {
|
|
86
|
-
var
|
|
87
|
+
var consequentA = this.consequent, consequentUnified = (0, _consequentAgainstStatement.default)(consequentA, statementNode, substitutions, fileContextA, localContext);
|
|
87
88
|
statementUnified = consequentUnified; ///
|
|
88
89
|
}
|
|
89
90
|
return statementUnified;
|
|
@@ -153,39 +154,5 @@ var TopLevelAssertion = /*#__PURE__*/ function() {
|
|
|
153
154
|
]);
|
|
154
155
|
return TopLevelAssertion;
|
|
155
156
|
}();
|
|
156
|
-
function unifySuppositions(suppositions, proofSteps, substitutions, fileContext, localContext) {
|
|
157
|
-
suppositions = (0, _array.reverse)(suppositions); ///
|
|
158
|
-
proofSteps = (0, _array.reverse)(proofSteps); ///
|
|
159
|
-
var suppositionsUnified = (0, _array.correlate)(suppositions, proofSteps, function(supposition, proofStep) {
|
|
160
|
-
var suppositionUnified = unifySupposition(supposition, proofStep, substitutions, fileContext, localContext);
|
|
161
|
-
if (suppositionUnified) {
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
return suppositionsUnified;
|
|
166
|
-
}
|
|
167
|
-
function unifySupposition(supposition, proofStep, substitutions, fileContext, localContext) {
|
|
168
|
-
var suppositionUnified = false;
|
|
169
|
-
substitutions.snapshot();
|
|
170
|
-
var subproofNode = proofStep.getSubproofNode(), statementNode = proofStep.getStatementNode();
|
|
171
|
-
if (subproofNode !== null) {
|
|
172
|
-
var subproofUnified = supposition.unifySubproof(subproofNode, substitutions, fileContext, localContext);
|
|
173
|
-
suppositionUnified = subproofUnified; ///
|
|
174
|
-
}
|
|
175
|
-
if (statementNode !== null) {
|
|
176
|
-
var statementUnified = supposition.unifyStatement(statementNode, substitutions, fileContext, localContext);
|
|
177
|
-
suppositionUnified = statementUnified; ///
|
|
178
|
-
}
|
|
179
|
-
suppositionUnified ? substitutions.continue() : substitutions.rollback();
|
|
180
|
-
return suppositionUnified;
|
|
181
|
-
}
|
|
182
|
-
function unifyConsequent(consequent, statementNode, substitutions, fileContext, localContext) {
|
|
183
|
-
var consequentUnified;
|
|
184
|
-
substitutions.snapshot();
|
|
185
|
-
var statementUnified = consequent.unifyStatement(statementNode, substitutions, fileContext, localContext);
|
|
186
|
-
consequentUnified = statementUnified; ///
|
|
187
|
-
consequentUnified ? substitutions.continue() : substitutions.rollback();
|
|
188
|
-
return consequentUnified;
|
|
189
|
-
}
|
|
190
157
|
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b3BMZXZlbEFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgQ29uc2VxdWVudCBmcm9tIFwiLi9jb25zZXF1ZW50XCI7XG5pbXBvcnQgU3VwcG9zaXRpb24gZnJvbSBcIi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCBTdWJzdGl0dXRpb25zIGZyb20gXCIuL3N1YnN0aXR1dGlvbnNcIjtcblxuaW1wb3J0IHsgcmV2ZXJzZSwgY29ycmVsYXRlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3IobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5zdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnM7XG4gICAgdGhpcy5jb25zZXF1ZW50ID0gY29uc2VxdWVudDtcbiAgICB0aGlzLnN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zO1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRTdXBwb3NpdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25zO1xuICB9XG5cbiAgZ2V0Q29uc2VxdWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25zZXF1ZW50O1xuICB9XG5cbiAgZ2V0U3Vic3RpdHV0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJvb2ZTdGVwcyA9IGxvY2FsQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNVbmlmaWVkID0gdW5pZnlTdXBwb3NpdGlvbnModGhpcy5zdXBwb3NpdGlvbnMsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVW5pZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudFVuaWZpZWQgPSB1bmlmeUNvbnNlcXVlbnQodGhpcy5jb25zZXF1ZW50LCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gY29uc2VxdWVudFVuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSA9IGxhYmVsLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc01ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc0pTT04gPSB0aGlzLnN1cHBvc2l0aW9ucy5tYXAoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbkpTT04gPSBzdXBwb3NpdGlvbi50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25zZXF1ZW50SlNPTiA9IHRoaXMuY29uc2VxdWVudC50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zSlNPTiA9IHRoaXMuc3Vic3RpdHV0aW9ucy50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50SlNPTiwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBjb25zZXF1ZW50LFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KENsYXNzLCBqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zIH0gPSBqc29uO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uczsgIC8vL1xuXG4gICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTi5tYXAoKHN1cHBvc2l0aW9uSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IHN1cHBvc2l0aW9uSlNPTiwgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb25zZXF1ZW50SlNPTiA9IGNvbnNlcXVlbnQ7ICAvLy9cblxuICAgIGpzb24gPSBjb25zZXF1ZW50SlNPTjsgIC8vL1xuXG4gICAgY29uc2VxdWVudCA9IENvbnNlcXVlbnQuZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb25zSlNPTiA9IHN1YnN0aXR1dGlvbnM7ICAvLy9cblxuICAgIGpzb24gPSBzdWJzdGl0dXRpb25zSlNPTjsgLy8vXG5cbiAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTsgIC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0KENsYXNzLCBsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpIHsgcmV0dXJuIG5ldyBDbGFzcyhsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpOyB9XG59XG5cbmZ1bmN0aW9uIHVuaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucywgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCkge1xuICBzdXBwb3NpdGlvbnMgPSByZXZlcnNlKHN1cHBvc2l0aW9ucyk7IC8vL1xuXG4gIHByb29mU3RlcHMgPSByZXZlcnNlKHByb29mU3RlcHMpOyAvLy9cblxuICBjb25zdCBzdXBwb3NpdGlvbnNVbmlmaWVkID0gY29ycmVsYXRlKHN1cHBvc2l0aW9ucywgcHJvb2ZTdGVwcywgKHN1cHBvc2l0aW9uLCBwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBzdXBwb3NpdGlvblVuaWZpZWQgPSB1bmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBwcm9vZlN0ZXAsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uVW5pZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zVW5pZmllZDtcbn1cblxuZnVuY3Rpb24gdW5pZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdXBwb3NpdGlvblVuaWZpZWQgPSBmYWxzZTtcblxuICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgY29uc3Qgc3VicHJvb2ZOb2RlID0gcHJvb2ZTdGVwLmdldFN1YnByb29mTm9kZSgpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwLmdldFN0YXRlbWVudE5vZGUoKTtcblxuICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3VicHJvb2ZVbmlmaWVkID0gc3VwcG9zaXRpb24udW5pZnlTdWJwcm9vZihzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgc3VwcG9zaXRpb25VbmlmaWVkID0gc3VicHJvb2ZVbmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IHN1cHBvc2l0aW9uLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgc3VwcG9zaXRpb25VbmlmaWVkID0gc3RhdGVtZW50VW5pZmllZDsgIC8vL1xuICB9XG5cbiAgc3VwcG9zaXRpb25VbmlmaWVkID9cbiAgICBzdWJzdGl0dXRpb25zLmNvbnRpbnVlKCkgOlxuICAgICAgc3Vic3RpdHV0aW9ucy5yb2xsYmFjaygpO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvblVuaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50LCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBjb25zZXF1ZW50VW5pZmllZDtcblxuICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IGNvbnNlcXVlbnQudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG5cbiAgY29uc2VxdWVudFVuaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICBjb25zZXF1ZW50VW5pZmllZCA/XG4gICAgc3Vic3RpdHV0aW9ucy5jb250aW51ZSgpIDpcbiAgICAgIHN1YnN0aXR1dGlvbnMucm9sbGJhY2soKTtcblxuICByZXR1cm4gY29uc2VxdWVudFVuaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsiVG9wTGV2ZWxBc3NlcnRpb24iLCJsYWJlbHMiLCJzdXBwb3NpdGlvbnMiLCJjb25zZXF1ZW50Iiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0IiwiZ2V0TGFiZWxzIiwiZ2V0U3VwcG9zaXRpb25zIiwiZ2V0Q29uc2VxdWVudCIsImdldFN1YnN0aXR1dGlvbnMiLCJnZXRGaWxlQ29udGV4dCIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWQiLCJwcm9vZlN0ZXBzIiwiZ2V0UHJvb2ZTdGVwcyIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInN1cHBvc2l0aW9uc1VuaWZpZWQiLCJ1bmlmeVN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnRVbmlmaWVkIiwidW5pZnlDb25zZXF1ZW50IiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1hdGNoZXNNZXRhdmFyaWFibGVOb2RlIiwic29tZSIsImxhYmVsIiwibGFiZWxNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSIsInRvSlNPTiIsInRva2VucyIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbkpTT04iLCJjb25zZXF1ZW50SlNPTiIsInN1YnN0aXR1dGlvbnNKU09OIiwianNvbiIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJDbGFzcyIsIkxhYmVsIiwiU3VwcG9zaXRpb24iLCJDb25zZXF1ZW50IiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJyZXZlcnNlIiwiY29ycmVsYXRlIiwicHJvb2ZTdGVwIiwic3VwcG9zaXRpb25VbmlmaWVkIiwidW5pZnlTdXBwb3NpdGlvbiIsInNuYXBzaG90Iiwic3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YnByb29mVW5pZmllZCIsInVuaWZ5U3VicHJvb2YiLCJjb250aW51ZSIsInJvbGxiYWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozs0REFQSDtpRUFDSztrRUFDQztvRUFDRTtxQkFFUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVwQixJQUFBLEFBQU1BLGtDQUFELEFBQUw7YUFBTUEsa0JBQ1BDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxVQUFVLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztnQ0FEckRMO1FBRWpCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7a0JBTkZMOztZQVNuQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxNQUFNO1lBQ3BCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxZQUFZO1lBQzFCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxV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
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b3BMZXZlbEFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgQ29uc2VxdWVudCBmcm9tIFwiLi9jb25zZXF1ZW50XCI7XG5pbXBvcnQgU3VwcG9zaXRpb24gZnJvbSBcIi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCBTdWJzdGl0dXRpb25zIGZyb20gXCIuL3N1YnN0aXR1dGlvbnNcIjtcbmltcG9ydCB1bmlmeUNvbnNlcXVlbnRBZ2FpbnN0U3RhdGVtZW50IGZyb20gXCIuL3VuaWZ5L2NvbnNlcXVlbnRBZ2FpbnN0U3RhdGVtZW50XCI7XG5pbXBvcnQgdW5pZnlTdXBwb3NpdGlvbnNBZ2FpbnN0UHJvb2ZTdGVwcyBmcm9tIFwiLi91bmlmeS9zdXBwb3NpdGlvbnNBZ2FpbnN0UHJvb2ZTdGVwc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUb3BMZXZlbEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCkge1xuICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgIHRoaXMuc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zO1xuICAgIHRoaXMuY29uc2VxdWVudCA9IGNvbnNlcXVlbnQ7XG4gICAgdGhpcy5zdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9ucztcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRMYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN1cHBvc2l0aW9ucztcbiAgfVxuXG4gIGdldENvbnNlcXVlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uc2VxdWVudDtcbiAgfVxuXG4gIGdldFN1YnN0aXR1dGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJvb2ZTdGVwcyA9IGxvY2FsQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCksXG4gICAgICAgICAgcHJvb2ZTdGVwc0IgPSBwcm9vZlN0ZXBzLCAvLy9cbiAgICAgICAgICBmaWxlQ29udGV4dEEgPSB0aGlzLmZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zQSA9IHRoaXMuc3VwcG9zaXRpb25zLCAgLy8vXG4gICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dCwgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zVW5pZmllZCA9IHVuaWZ5U3VwcG9zaXRpb25zQWdhaW5zdFByb29mU3RlcHMoc3VwcG9zaXRpb25zQSwgcHJvb2ZTdGVwc0IsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVW5pZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudEEgPSB0aGlzLmNvbnNlcXVlbnQsICAvLy9cbiAgICAgICAgICAgIGNvbnNlcXVlbnRVbmlmaWVkID0gdW5pZnlDb25zZXF1ZW50QWdhaW5zdFN0YXRlbWVudChjb25zZXF1ZW50QSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gY29uc2VxdWVudFVuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSA9IGxhYmVsLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc01ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc0pTT04gPSB0aGlzLnN1cHBvc2l0aW9ucy5tYXAoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbkpTT04gPSBzdXBwb3NpdGlvbi50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25zZXF1ZW50SlNPTiA9IHRoaXMuY29uc2VxdWVudC50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zSlNPTiA9IHRoaXMuc3Vic3RpdHV0aW9ucy50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50SlNPTiwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBjb25zZXF1ZW50LFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KENsYXNzLCBqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zIH0gPSBqc29uO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uczsgIC8vL1xuXG4gICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTi5tYXAoKHN1cHBvc2l0aW9uSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IHN1cHBvc2l0aW9uSlNPTiwgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb25zZXF1ZW50SlNPTiA9IGNvbnNlcXVlbnQ7ICAvLy9cblxuICAgIGpzb24gPSBjb25zZXF1ZW50SlNPTjsgIC8vL1xuXG4gICAgY29uc2VxdWVudCA9IENvbnNlcXVlbnQuZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb25zSlNPTiA9IHN1YnN0aXR1dGlvbnM7ICAvLy9cblxuICAgIGpzb24gPSBzdWJzdGl0dXRpb25zSlNPTjsgLy8vXG5cbiAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTsgIC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0KENsYXNzLCBsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpIHsgcmV0dXJuIG5ldyBDbGFzcyhsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpOyB9XG59XG4iXSwibmFtZXMiOlsiVG9wTGV2ZWxBc3NlcnRpb24iLCJsYWJlbHMiLCJzdXBwb3NpdGlvbnMiLCJjb25zZXF1ZW50Iiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0IiwiZ2V0TGFiZWxzIiwiZ2V0U3VwcG9zaXRpb25zIiwiZ2V0Q29uc2VxdWVudCIsImdldFN1YnN0aXR1dGlvbnMiLCJnZXRGaWxlQ29udGV4dCIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWQiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJwcm9vZlN0ZXBzIiwiZ2V0UHJvb2ZTdGVwcyIsInByb29mU3RlcHNCIiwiZmlsZUNvbnRleHRBIiwic3VwcG9zaXRpb25zQSIsImxvY2FsQ29udGV4dEIiLCJzdXBwb3NpdGlvbnNVbmlmaWVkIiwidW5pZnlTdXBwb3NpdGlvbnNBZ2FpbnN0UHJvb2ZTdGVwcyIsImNvbnNlcXVlbnRBIiwiY29uc2VxdWVudFVuaWZpZWQiLCJ1bmlmeUNvbnNlcXVlbnRBZ2FpbnN0U3RhdGVtZW50IiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1hdGNoZXNNZXRhdmFyaWFibGVOb2RlIiwic29tZSIsImxhYmVsIiwibGFiZWxNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSIsInRvSlNPTiIsInRva2VucyIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbkpTT04iLCJjb25zZXF1ZW50SlNPTiIsInN1YnN0aXR1dGlvbnNKU09OIiwianNvbiIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJDbGFzcyIsIkxhYmVsIiwiU3VwcG9zaXRpb24iLCJDb25zZXF1ZW50IiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7OzREQVBIO2lFQUNLO2tFQUNDO29FQUNFO2lGQUNrQjtvRkFDRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxJQUFBLEFBQU1BLGtDQUFELEFBQUw7YUFBTUEsa0JBQ1BDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxVQUFVLEVBQUVDLGFB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
|
package/lib/unifier/equality.js
CHANGED
|
@@ -114,10 +114,7 @@ var EqualityUnifier = /*#__PURE__*/ function(Unifier) {
|
|
|
114
114
|
key: "unify",
|
|
115
115
|
value: function unify(leftTermNode, rightTermNode, localContext) {
|
|
116
116
|
var equalityUnified;
|
|
117
|
-
var nonTerminalNodeA = leftTermNode, nonTerminalNodeB = rightTermNode, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext
|
|
118
|
-
var unifiedAhead = true;
|
|
119
|
-
return unifiedAhead;
|
|
120
|
-
});
|
|
117
|
+
var nonTerminalNodeA = leftTermNode, nonTerminalNodeB = rightTermNode, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext);
|
|
121
118
|
equalityUnified = nonTerminalNodeUnified; ///
|
|
122
119
|
return equalityUnified;
|
|
123
120
|
}
|
|
@@ -129,11 +126,12 @@ _define_property(EqualityUnifier, "maps", [
|
|
|
129
126
|
{
|
|
130
127
|
nodeQueryA: termNodeQuery,
|
|
131
128
|
nodeQueryB: termNodeQuery,
|
|
132
|
-
unify: function(termNodeA, termNodeB, localContext
|
|
129
|
+
unify: function(termNodeA, termNodeB, localContext) {
|
|
133
130
|
var termVerifiedAgainstTerm;
|
|
134
|
-
|
|
131
|
+
var leftTermNode = termNodeA, rightTermNode = termNodeB; ///
|
|
132
|
+
termVerifiedAgainstTerm = (0, _termAgainstTerm.default)(leftTermNode, rightTermNode, localContext);
|
|
135
133
|
if (!termVerifiedAgainstTerm) {
|
|
136
|
-
var nonTerminalNodeA = termNodeA, nonTerminalNodeB = termNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = equalityUnifier.unifyChildNodes(childNodesA, childNodesB, localContext
|
|
134
|
+
var nonTerminalNodeA = termNodeA, nonTerminalNodeB = termNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = equalityUnifier.unifyChildNodes(childNodesA, childNodesB, localContext);
|
|
137
135
|
termVerifiedAgainstTerm = childNodesVerified; ///
|
|
138
136
|
}
|
|
139
137
|
return termVerifiedAgainstTerm;
|
|
@@ -143,4 +141,4 @@ _define_property(EqualityUnifier, "maps", [
|
|
|
143
141
|
var equalityUnifier = new EqualityUnifier();
|
|
144
142
|
var _default = equalityUnifier;
|
|
145
143
|
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL2VxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVW5pZmllciBmcm9tIFwiLi4vdW5pZmllclwiO1xuaW1wb3J0IHVuaWZ5VGVybUFnYWluc3RUZXJtIGZyb20gXCIuLi91bmlmeS90ZXJtQWdhaW5zdFRlcm1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0hXCIpO1xuXG5jbGFzcyBFcXVhbGl0eVVuaWZpZXIgZXh0ZW5kcyBVbmlmaWVyIHtcbiAgdW5pZnkobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgZXF1YWxpdHlVbmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IGxlZnRUZXJtTm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHJpZ2h0VGVybU5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBlcXVhbGl0eVVuaWZpZWQgPSBub25UZXJtaW5hbE5vZGVVbmlmaWVkOyAvLy9cblxuICAgIHJldHVybiBlcXVhbGl0eVVuaWZpZWQ7XG4gIH07XG5cbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5QTogdGVybU5vZGVRdWVyeSxcbiAgICAgIG5vZGVRdWVyeUI6IHRlcm1Ob2RlUXVlcnksXG4gICAgICB1bmlmeTogKHRlcm1Ob2RlQSwgdGVybU5vZGVCLCBsb2NhbENvbnRleHQpID0+IHtcbiAgICAgICAgbGV0IHRlcm1WZXJpZmllZEFnYWluc3RUZXJtO1xuXG4gICAgICAgIGNvbnN0IGxlZnRUZXJtTm9kZSA9IHRlcm1Ob2RlQSwgLy8vXG4gICAgICAgICAgICAgIHJpZ2h0VGVybU5vZGUgPSB0ZXJtTm9kZUI7ICAvLy9cblxuICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0VGVybSA9IHVuaWZ5VGVybUFnYWluc3RUZXJtKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoIXRlcm1WZXJpZmllZEFnYWluc3RUZXJtKSB7XG4gICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRlcm1Ob2RlQSwgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHRlcm1Ob2RlQiwgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZmllZCA9IGVxdWFsaXR5VW5pZmllci51bmlmeUNoaWxkTm9kZXMoY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgdGVybVZlcmlmaWVkQWdhaW5zdFRlcm0gPSBjaGlsZE5vZGVzVmVyaWZpZWQ7IC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRlcm1WZXJpZmllZEFnYWluc3RUZXJtO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgZXF1YWxpdHlVbmlmaWVyID0gbmV3IEVxdWFsaXR5VW5pZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBlcXVhbGl0eVVuaWZpZXI7XG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIkVxdWFsaXR5VW5pZmllciIsInVuaWZ5IiwibGVmdFRlcm1Ob2RlIiwicmlnaHRUZXJtTm9kZSIsImxvY2FsQ29udGV4dCIsImVxdWFsaXR5VW5pZmllZCIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVW5pZmllZCIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwiVW5pZmllciIsIm1hcHMiLCJub2RlUXVlcnlBIiwibm9kZVF1ZXJ5QiIsInRlcm1Ob2RlQSIsInRlcm1Ob2RlQiIsInRlcm1WZXJpZmllZEFnYWluc3RUZXJtIiwidW5pZnlUZXJtQWdhaW5zdFRlcm0iLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNBIiwiY2hpbGROb2Rlc0IiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJlcXVhbGl0eVVuaWZpZXIiLCJ1bmlmeUNoaWxkTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNEQTs7O2VBQUE7Ozs4REFwRG9CO3NFQUNhO3FCQUVQOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNQyxnQ0FBRCxBQUFMO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLFlBQVksRUFBRUMsYUFBYSxFQUFFQyxZQUFZO2dCQUM3QyxJQUFJQztnQkFFSixJQUFNQyxtQkFBbUJKLGNBQ25CSyxtQkFBbUJKLGVBQ25CSyx5QkFBeUIsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0gsa0JBQWtCQyxrQkFBa0JIO2dCQUU3RkMsa0JBQWtCRyx3QkFBd0IsR0FBRztnQkFFN0MsT0FBT0g7WUFDVDs7O1dBWElMO0VBQXdCVSxnQkFBTztBQWFuQyxpQkFiSVYsaUJBYUdXLFFBQU87SUFDWjtRQUNFQyxZQUFZZDtRQUNaZSxZQUFZZjtRQUNaRyxPQUFPLFNBQUNhLFdBQVdDLFdBQVdYO1lBQzVCLElBQUlZO1lBRUosSUFBTWQsZUFBZVksV0FDZlgsZ0JBQWdCWSxXQUFZLEdBQUc7WUFFckNDLDBCQUEwQkMsSUFBQUEsd0JBQW9CLEVBQUNmLGNBQWNDLGVBQWVDO1lBRTVFLElBQUksQ0FBQ1kseUJBQXlCO2dCQUM1QixJQUFNVixtQkFBbUJRLFdBQ25CUCxtQkFBbUJRLFdBQ25CRyw2QkFBNkJaLGlCQUFpQmEsYUFBYSxJQUMzREMsNkJBQTZCYixpQkFBaUJZLGFBQWEsSUFDM0RFLGNBQWNILDRCQUNkSSxjQUFjRiw0QkFDZEcscUJBQXFCQyxnQkFBZ0JDLGVBQWUsQ0FBQ0osYUFBYUMsYUFBYWxCO2dCQUVyRlksMEJBQTBCTyxvQkFBb0IsR0FBRztZQUNuRDtZQUVBLE9BQU9QO1FBQ1Q7SUFDRjtDQUNEO0FBR0gsSUFBTVEsa0JBQWtCLElBQUl4QjtJQUU1QixXQUFld0IifQ==
|
package/lib/unifier/metaLevel.js
CHANGED
|
@@ -116,10 +116,7 @@ var MetaLevelUnifier = /*#__PURE__*/ function(Unifier) {
|
|
|
116
116
|
key: "unify",
|
|
117
117
|
value: function unify(nodeA, nodeB, substitutions, localContextA, localContextB) {
|
|
118
118
|
var unified;
|
|
119
|
-
var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB
|
|
120
|
-
var unifiedAhead = true;
|
|
121
|
-
return unifiedAhead;
|
|
122
|
-
});
|
|
119
|
+
var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB);
|
|
123
120
|
unified = nonTerminalNodeUnified; ///
|
|
124
121
|
return unified;
|
|
125
122
|
}
|
|
@@ -131,14 +128,14 @@ _define_property(MetaLevelUnifier, "maps", [
|
|
|
131
128
|
{
|
|
132
129
|
nodeQueryA: statementNodeQuery,
|
|
133
130
|
nodeQueryB: statementNodeQuery,
|
|
134
|
-
unify: function(statementNodeA, statementNodeB, substitutions, localContextA, localContextB
|
|
131
|
+
unify: function(statementNodeA, statementNodeB, substitutions, localContextA, localContextB) {
|
|
135
132
|
var statementVerifiedAgainstStatement;
|
|
136
133
|
var metavariableNodeA = metavariableNodeQuery(statementNodeA);
|
|
137
134
|
if (metavariableNodeA !== null) {
|
|
138
|
-
var substitutionNodeA = substitutionNodeQuery(statementNodeA), metavariableUnifiedAgainstStatement = (0, _metavariableAgainstStatement.default)(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB
|
|
135
|
+
var substitutionNodeA = substitutionNodeQuery(statementNodeA), metavariableUnifiedAgainstStatement = (0, _metavariableAgainstStatement.default)(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB);
|
|
139
136
|
statementVerifiedAgainstStatement = metavariableUnifiedAgainstStatement; ///
|
|
140
137
|
} else {
|
|
141
|
-
var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = metaLevelUnifier.unifyChildNodes(childNodesA, childNodesB, substitutions, localContextA, localContextB
|
|
138
|
+
var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = metaLevelUnifier.unifyChildNodes(childNodesA, childNodesB, substitutions, localContextA, localContextB);
|
|
142
139
|
statementVerifiedAgainstStatement = childNodesVerified; ///
|
|
143
140
|
}
|
|
144
141
|
return statementVerifiedAgainstStatement;
|
|
@@ -147,8 +144,8 @@ _define_property(MetaLevelUnifier, "maps", [
|
|
|
147
144
|
{
|
|
148
145
|
nodeQueryA: termVariableNodeQuery,
|
|
149
146
|
nodeQueryB: termNodeQuery,
|
|
150
|
-
unify: function(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB
|
|
151
|
-
var variableNodeA = termVariableNodeA, variableUnifiedAgainstTerm = (0, _variableAgainstTerm.default)(variableNodeA, termNodeB, substitutions, localContextA, localContextB
|
|
147
|
+
unify: function(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB) {
|
|
148
|
+
var variableNodeA = termVariableNodeA, variableUnifiedAgainstTerm = (0, _variableAgainstTerm.default)(variableNodeA, termNodeB, substitutions, localContextA, localContextB);
|
|
152
149
|
return variableUnifiedAgainstTerm;
|
|
153
150
|
}
|
|
154
151
|
}
|
|
@@ -159,4 +156,4 @@ Object.assign(_shim.default, {
|
|
|
159
156
|
});
|
|
160
157
|
var _default = metaLevelUnifier;
|
|
161
158
|
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL21ldGFMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyXCI7XG5pbXBvcnQgdW5pZnlWYXJpYWJsZUFnYWluc3RUZXJtIGZyb20gXCIuLi91bmlmeS92YXJpYWJsZUFnYWluc3RUZXJtXCI7XG5pbXBvcnQgdW5pZnlNZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50IGZyb20gXCIuLi91bmlmeS9tZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdGVybVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpLFxuICAgICAgc3Vic3RpdHV0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9zdWJzdGl0dXRpb24hXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9tZXRhdmFyaWFibGUhXCIpO1xuXG5jbGFzcyBNZXRhTGV2ZWxVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCB1bmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG5vZGVBLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgdW5pZmllZCA9IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIHVuaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnlBOiBzdGF0ZW1lbnROb2RlUXVlcnksXG4gICAgICBub2RlUXVlcnlCOiBzdGF0ZW1lbnROb2RlUXVlcnksXG4gICAgICB1bmlmeTogKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QikgPT4ge1xuICAgICAgICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50O1xuXG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGVBKTtcblxuICAgICAgICBpZiAobWV0YXZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlQSA9IHN1YnN0aXR1dGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlQSksXG4gICAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlVW5pZmllZEFnYWluc3RTdGF0ZW1lbnQgPSB1bmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQgPSBtZXRhdmFyaWFibGVVbmlmaWVkQWdhaW5zdFN0YXRlbWVudDsgIC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBzdGF0ZW1lbnROb2RlQSwgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgICAgY2hpbGROb2Rlc0EgPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeUNoaWxkTm9kZXMoY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgLy8vXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50O1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5QTogdGVybVZhcmlhYmxlTm9kZVF1ZXJ5LFxuICAgICAgbm9kZVF1ZXJ5QjogdGVybU5vZGVRdWVyeSxcbiAgICAgIHVuaWZ5OiAodGVybVZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QikgPT4ge1xuICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGVBID0gdGVybVZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0VGVybSA9IHVuaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSh2YXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0VGVybTtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IG1ldGFMZXZlbFVuaWZpZXIgPSBuZXcgTWV0YUxldmVsVW5pZmllcigpO1xuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgbWV0YUxldmVsVW5pZmllclxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGFMZXZlbFVuaWZpZXI7XG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsInRlcm1WYXJpYWJsZU5vZGVRdWVyeSIsInN1YnN0aXR1dGlvbk5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsIk1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSIsIm5vZGVBIiwibm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ1bmlmaWVkIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVVbmlmaWVkIiwidW5pZnlOb25UZXJtaW5hbE5vZGUiLCJVbmlmaWVyIiwibWFwcyIsIm5vZGVRdWVyeUEiLCJub2RlUXVlcnlCIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZU5vZGVBIiwic3Vic3RpdHV0aW9uTm9kZUEiLCJtZXRhdmFyaWFibGVVbmlmaWVkQWdhaW5zdFN0YXRlbWVudCIsInVuaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudCIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0EiLCJjaGlsZE5vZGVzQiIsImNoaWxkTm9kZXNWZXJpZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeUNoaWxkTm9kZXMiLCJ0ZXJtVmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInZhcmlhYmxlTm9kZUEiLCJ2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0VGVybSIsInVuaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRFQTs7O2VBQUE7OzsyREExRWlCOzhEQUNHOzBFQUNpQjttRkFDUztxQkFFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxXQUMxQkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLGdCQUMvQkUsd0JBQXdCRixJQUFBQSxnQkFBUyxFQUFDLG9CQUNsQ0csd0JBQXdCSCxJQUFBQSxnQkFBUyxFQUFDLDZCQUNsQ0ksd0JBQXdCSixJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLElBQUEsQUFBTUssaUNBQUQsQUFBTDtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7Z0JBQzdELElBQUlDO2dCQUVKLElBQU1DLG1CQUFtQk4sT0FDbkJPLG1CQUFtQk4sT0FDbkJPLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUFDSCxrQkFBa0JDLGtCQUFrQkwsZUFBZUMsZUFBZUM7Z0JBRTNIQyxVQUFVRyx3QkFBd0IsR0FBRztnQkFFckMsT0FBT0g7WUFDVDs7O1dBWElQO0VBQXlCWSxnQkFBTztBQWFwQyxpQkFiSVosa0JBYUdhLFFBQU87SUFDWjtRQUNFQyxZQUFZbEI7UUFDWm1CLFlBQVluQjtRQUNaSyxPQUFPLFNBQUNlLGdCQUFnQkMsZ0JBQWdCYixlQUFlQyxlQUFlQztZQUNwRSxJQUFJWTtZQUVKLElBQU1DLG9CQUFvQnBCLHNCQUFzQmlCO1lBRWhELElBQUlHLHNCQUFzQixNQUFNO2dCQUM5QixJQUFNQyxvQkFBb0J0QixzQkFBc0JrQixpQkFDMUNLLHNDQUFzQ0MsSUFBQUEscUNBQWlDLEVBQUNILG1CQUFtQkYsZ0JBQWdCRyxtQkFBbUJoQixlQUFlQyxlQUFlQztnQkFFbEtZLG9DQUFvQ0cscUNBQXNDLEdBQUc7WUFDL0UsT0FBTztnQkFDTCxJQUFNYixtQkFBbUJRLGdCQUNuQlAsbUJBQW1CUSxnQkFDbkJNLDZCQUE2QmYsaUJBQWlCZ0IsYUFBYSxJQUMzREMsNkJBQTZCaEIsaUJBQWlCZSxhQUFhLElBQzNERSxjQUFjSCw0QkFDZEksY0FBY0YsNEJBQ2RHLHFCQUFxQkMsaUJBQWlCQyxlQUFlLENBQUNKLGFBQWFDLGFBQWF2QixlQUFlQyxlQUFlQztnQkFFcEhZLG9DQUFvQ1Usb0JBQW9CLEdBQUc7WUFDN0Q7WUFFQSxPQUFPVjtRQUNUO0lBQ0Y7SUFDQTtRQUNFSixZQUFZakI7UUFDWmtCLFlBQVlyQjtRQUNaTyxPQUFPLFNBQUM4QixtQkFBbUJDLFdBQVc1QixlQUFlQyxlQUFlQztZQUNsRSxJQUFNMkIsZ0JBQWdCRixtQkFDaEJHLDZCQUE2QkMsSUFBQUEsNEJBQXdCLEVBQUNGLGVBQWVELFdBQVc1QixlQUFlQyxlQUFlQztZQUVwSCxPQUFPNEI7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNTCxtQkFBbUIsSUFBSTdCO0FBRTdCb0MsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEJULGtCQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|