occam-verify-cli 0.0.959 → 0.0.961
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/bin/action/verify.js +16 -5
- package/bin/utilities/releaseContext.js +5 -8
- package/lib/context/file.js +38 -14
- package/lib/context/local.js +3 -9
- package/lib/context/release.js +82 -52
- package/lib/frame.js +3 -3
- package/lib/index.js +5 -5
- package/lib/metavariable.js +9 -9
- package/lib/proofStep.js +21 -18
- package/lib/releaseContext/create.js +8 -9
- package/lib/releaseContext/initialise.js +67 -0
- package/lib/rule.js +5 -5
- package/lib/substitution/statementForMetavariable.js +8 -8
- package/lib/substitution/termForVariable.js +29 -30
- package/lib/substitution.js +7 -7
- package/lib/substitutions.js +7 -7
- package/lib/topLevelAssertion.js +5 -5
- package/lib/unifier/equality.js +7 -7
- package/lib/unifier/intrinsicLevel.js +4 -4
- package/lib/unifier/metaLevel.js +10 -10
- package/lib/unifier/statementWithCombinator.js +147 -0
- package/lib/unifier/{termAgainstConstructor.js → termWithConstructor.js} +17 -17
- package/lib/unify/conclusionWithStatement.js +34 -0
- package/lib/unify/consequentWithStatement.js +34 -0
- package/lib/unify/metavariableWithStatement.js +74 -0
- package/lib/unify/premiseWithProofStep.js +41 -0
- package/lib/unify/premisesWithProofSteps.js +31 -0
- package/lib/unify/statementAtainstStatement.js +18 -18
- package/lib/unify/statementWithBracketedCombinator.js +30 -0
- package/lib/unify/statementWithCombinators.js +40 -0
- package/lib/unify/statementWithMetaType.js +24 -0
- package/lib/unify/suppositionWithProffStep.js +41 -0
- package/lib/unify/suppositionsWithProofSteps.js +31 -0
- package/lib/unify/termWithBracketedConstructor.js +37 -0
- package/lib/unify/termWithConstructors.js +53 -0
- package/lib/unify/termWithTerm.js +21 -0
- package/lib/unify/termWithType.js +24 -0
- package/lib/unify/variableWithTerm.js +54 -0
- package/lib/utilities/assignments.js +9 -12
- package/lib/verifier/intrinsicLevel.js +140 -0
- package/lib/verifier/metaLevel.js +11 -20
- package/lib/verifier/statementAsCombinator.js +9 -9
- package/lib/verifier/termAsConstructor.js +5 -5
- package/lib/verify/assertion/contained.js +2 -3
- package/lib/verify/assertion/defined.js +2 -4
- package/lib/verify/assertion/subproof.js +20 -18
- package/lib/verify/assertion/type.js +1 -2
- package/lib/verify/declaration.js +27 -9
- package/lib/verify/error.js +2 -2
- package/lib/verify/frame.js +25 -6
- package/lib/verify/judgement.js +3 -3
- package/lib/verify/metavariable.js +4 -4
- package/lib/verify/premise.js +3 -3
- package/lib/verify/proofStep.js +23 -30
- package/lib/verify/statement/qualified.js +93 -137
- package/lib/verify/statement/unqualified.js +18 -104
- package/lib/verify/statement.js +95 -76
- package/lib/verify/statementAsCombinator.js +3 -3
- package/lib/verify/statementGivenMetaType.js +41 -0
- package/lib/verify/supposition.js +3 -3
- package/lib/verify/term.js +36 -64
- package/lib/verify/termAsConstructor.js +2 -2
- package/lib/verify/termGivenType.js +34 -0
- package/package.json +1 -1
- package/src/context/file.js +42 -17
- package/src/context/local.js +4 -13
- package/src/context/release.js +84 -45
- package/src/frame.js +2 -2
- package/src/index.js +1 -1
- package/src/metavariable.js +6 -6
- package/src/proofStep.js +24 -19
- package/src/releaseContext/create.js +8 -16
- package/src/releaseContext/{verify.js → initialise.js} +32 -23
- package/src/rule.js +4 -4
- package/src/substitution/statementForMetavariable.js +7 -7
- package/src/substitution/termForVariable.js +37 -34
- package/src/substitution.js +5 -5
- package/src/substitutions.js +5 -5
- package/src/topLevelAssertion.js +4 -4
- package/src/unifier/equality.js +6 -6
- package/src/unifier/intrinsicLevel.js +3 -3
- package/src/unifier/metaLevel.js +9 -9
- package/src/unifier/statementWithCombinator.js +55 -0
- package/src/unifier/{termAgainstConstructor.js → termWithConstructor.js} +9 -9
- package/src/unify/{conclusionAgainstStatement.js → conclusionWithStatement.js} +3 -3
- package/src/unify/{consequentAgainstStatement.js → consequentWithStatement.js} +3 -3
- package/src/unify/{metavariableAgainstStatement.js → metavariableWithStatement.js} +12 -12
- package/src/unify/{premiseAgainstProofStep.js → premiseWithProofStep.js} +5 -5
- package/src/unify/{premisesAgainstProofSteps.js → premisesWithProofSteps.js} +3 -3
- package/src/unify/statementAtainstStatement.js +14 -14
- package/src/unify/statementWithBracketedCombinator.js +22 -0
- package/src/unify/statementWithCombinators.js +38 -0
- package/src/unify/statementWithMetaType.js +14 -0
- package/src/unify/{suppositionAgainstProofStep.js → suppositionWithProffStep.js} +5 -5
- package/src/unify/{suppositionsAgainstProofSteps.js → suppositionsWithProofSteps.js} +3 -3
- package/src/unify/termWithBracketedConstructor.js +36 -0
- package/src/unify/termWithConstructors.js +63 -0
- package/src/unify/{termAgainstTerm.js → termWithTerm.js} +4 -4
- package/src/unify/termWithType.js +15 -0
- package/src/unify/{variableAgainstTerm.js → variableWithTerm.js} +5 -5
- package/src/utilities/assignments.js +6 -13
- package/src/verifier/intrinsicLevel.js +42 -0
- package/src/verifier/metaLevel.js +13 -21
- package/src/verifier/statementAsCombinator.js +11 -7
- package/src/verifier/termAsConstructor.js +4 -3
- package/src/verify/assertion/contained.js +1 -3
- package/src/verify/assertion/defined.js +1 -4
- package/src/verify/assertion/subproof.js +22 -18
- package/src/verify/assertion/type.js +0 -1
- package/src/verify/declaration.js +34 -11
- package/src/verify/error.js +1 -1
- package/src/verify/frame.js +32 -5
- package/src/verify/judgement.js +3 -3
- package/src/verify/metavariable.js +3 -3
- package/src/verify/premise.js +3 -3
- package/src/verify/proofStep.js +26 -38
- package/src/verify/statement/qualified.js +104 -184
- package/src/verify/statement/unqualified.js +19 -149
- package/src/verify/statement.js +126 -72
- package/src/verify/statementAsCombinator.js +2 -2
- package/src/verify/statementGivenMetaType.js +37 -0
- package/src/verify/supposition.js +3 -3
- package/src/verify/term.js +38 -93
- package/src/verify/termAsConstructor.js +1 -1
- package/src/verify/termGivenType.js +32 -0
- package/lib/releaseContext/verify.js +0 -66
- package/lib/unifier/statementAgainstCombinator.js +0 -147
- package/lib/unify/conclusionAgainstStatement.js +0 -34
- package/lib/unify/consequentAgainstStatement.js +0 -34
- package/lib/unify/metavariableAgainstStatement.js +0 -74
- package/lib/unify/premiseAgainstProofStep.js +0 -41
- package/lib/unify/premisesAgainstProofSteps.js +0 -31
- package/lib/unify/statementAgainstMetaType.js +0 -48
- package/lib/unify/suppositionAgainstProofStep.js +0 -41
- package/lib/unify/suppositionsAgainstProofSteps.js +0 -31
- package/lib/unify/termAgainstTerm.js +0 -21
- package/lib/unify/termAgainstType.js +0 -32
- package/lib/unify/variableAgainstTerm.js +0 -54
- package/src/unifier/statementAgainstCombinator.js +0 -55
- package/src/unify/statementAgainstMetaType.js +0 -50
- package/src/unify/termAgainstType.js +0 -31
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifyPremiseAgainstProofStep;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _unify = require("../utilities/unify");
|
|
12
|
-
function unifyPremiseAgainstProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB) {
|
|
13
|
-
var premiseUnified = false;
|
|
14
|
-
var premiseAStatementNode = premiseA.getStatementNode();
|
|
15
|
-
if (premiseAStatementNode !== null) {
|
|
16
|
-
var proofStepBSubproofNode = proofStepB.getSubproofNode(), proofStepBStatementNode = proofStepB.getStatementNode(), subproofNodeB = proofStepBSubproofNode, statementNodeB = proofStepBStatementNode, statementNodeA = premiseAStatementNode, statementStringA = localContextA.nodeAsString(statementNodeA);
|
|
17
|
-
substitutions.snapshot();
|
|
18
|
-
if (subproofNodeB !== null) {
|
|
19
|
-
var subproofStringB = (0, _unify.subproofNodeAsSubproofString)(subproofNodeB, localContextB);
|
|
20
|
-
localContextB.trace("Unifying the '".concat(subproofStringB, "' subproof against the premise's '").concat(statementStringA, "' statement..."), subproofNodeB);
|
|
21
|
-
var subproofUnified = premiseA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
|
|
22
|
-
if (subproofUnified) {
|
|
23
|
-
localContextB.debug("...unified the '".concat(subproofStringB, "' subproof against the premise's '").concat(statementStringA, "' statement."), subproofNodeB);
|
|
24
|
-
premiseUnified = true;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (statementNodeB !== null) {
|
|
28
|
-
var statementStringB = localContextB.nodeAsString(statementNodeB);
|
|
29
|
-
localContextB.trace("Unifying the '".concat(statementStringB, "' statement against the premise's '").concat(statementStringA, "' statement..."), statementNodeB);
|
|
30
|
-
var statementUnified = premiseA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
|
|
31
|
-
if (statementUnified) {
|
|
32
|
-
localContextB.debug("...unified the '".concat(statementStringB, "' statement against the premise's '").concat(statementStringA, "' statement."), statementNodeB);
|
|
33
|
-
premiseUnified = true;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
premiseUnified ? substitutions.continue() : substitutions.rollback(localContextA, localContextB);
|
|
37
|
-
}
|
|
38
|
-
return premiseUnified;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9wcmVtaXNlQWdhaW5zdFByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3VicHJvb2ZOb2RlQXNTdWJwcm9vZlN0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdW5pZnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlQcmVtaXNlQWdhaW5zdFByb29mU3RlcChwcmVtaXNlQSwgcHJvb2ZTdGVwQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgcHJlbWlzZVVuaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBwcmVtaXNlQVN0YXRlbWVudE5vZGUgPSBwcmVtaXNlQS5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgaWYgKHByZW1pc2VBU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHByb29mU3RlcEJTdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXBCLmdldFN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIHByb29mU3RlcEJTdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwQi5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgc3VicHJvb2ZOb2RlQiA9IHByb29mU3RlcEJTdWJwcm9vZk5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGVCID0gcHJvb2ZTdGVwQlN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gcHJlbWlzZUFTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmdBID0gbG9jYWxDb250ZXh0QS5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZUEpXG5cbiAgICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZTdHJpbmdCID0gc3VicHJvb2ZOb2RlQXNTdWJwcm9vZlN0cmluZyhzdWJwcm9vZk5vZGVCLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nQn0nIHN1YnByb29mIGFnYWluc3QgdGhlIHByZW1pc2UncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllZCA9IHByZW1pc2VBLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdWJwcm9vZlVuaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmdCfScgc3VicHJvb2YgYWdhaW5zdCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBwcmVtaXNlQS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHByZW1pc2VVbmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcmVtaXNlVW5pZmllZCA/XG4gICAgICBzdWJzdGl0dXRpb25zLmNvbnRpbnVlKCkgOlxuICAgICAgICBzdWJzdGl0dXRpb25zLnJvbGxiYWNrKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICB9XG5cbiAgcmV0dXJuIHByZW1pc2VVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UHJlbWlzZUFnYWluc3RQcm9vZlN0ZXAiLCJwcmVtaXNlQSIsInByb29mU3RlcEIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJwcmVtaXNlVW5pZmllZCIsInByZW1pc2VBU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwicHJvb2ZTdGVwQlN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZk5vZGVCIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudFN0cmluZ0EiLCJub2RlQXNTdHJpbmciLCJzbmFwc2hvdCIsInN1YnByb29mU3RyaW5nQiIsInN1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmciLCJ0cmFjZSIsInN1YnByb29mVW5pZmllZCIsInVuaWZ5U3VicHJvb2YiLCJkZWJ1ZyIsInN0YXRlbWVudFN0cmluZ0IiLCJzdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlTdGF0ZW1lbnQiLCJjb250aW51ZSIsInJvbGxiYWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O3FCQUZxQjtBQUU5QixTQUFTQSw2QkFBNkJDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNwSCxJQUFJQyxpQkFBaUI7SUFFckIsSUFBTUMsd0JBQXdCTixTQUFTTyxnQkFBZ0I7SUFFdkQsSUFBSUQsMEJBQTBCLE1BQU07UUFDbEMsSUFBTUUseUJBQXlCUCxXQUFXUSxlQUFlLElBQ25EQywwQkFBMEJULFdBQVdNLGdCQUFnQixJQUNyREksZ0JBQWdCSCx3QkFDaEJJLGlCQUFpQkYseUJBQ2pCRyxpQkFBaUJQLHVCQUNqQlEsbUJBQW1CWCxjQUFjWSxZQUFZLENBQUNGO1FBRXBEWCxjQUFjYyxRQUFRO1FBRXRCLElBQUlMLGtCQUFrQixNQUFNO1lBQzFCLElBQU1NLGtCQUFrQkMsSUFBQUEsbUNBQTRCLEVBQUNQLGVBQWVQO1lBRXBFQSxjQUFjZSxLQUFLLENBQUMsQUFBQyxpQkFBb0VMLE9BQXBERyxpQkFBZ0Isc0NBQXFELE9BQWpCSCxrQkFBaUIsbUJBQWlCSDtZQUUzSCxJQUFNUyxrQkFBa0JwQixTQUFTcUIsYUFBYSxDQUFDVixlQUFlVCxlQUFlQyxlQUFlQztZQUU1RixJQUFJZ0IsaUJBQWlCO2dCQUNuQmhCLGNBQWNrQixLQUFLLENBQUMsQUFBQyxtQkFBc0VSLE9BQXBERyxpQkFBZ0Isc0NBQXFELE9BQWpCSCxrQkFBaUIsaUJBQWVIO2dCQUUzSE4saUJBQWlCO1lBQ25CO1FBQ0Y7UUFFQSxJQUFJTyxtQkFBbUIsTUFBTTtZQUMzQixJQUFNVyxtQkFBbUJuQixjQUFjVyxZQUFZLENBQUNIO1lBRXBEUixjQUFjZSxLQUFLLENBQUMsQUFBQyxpQkFBc0VMLE9BQXREUyxrQkFBaUIsdUNBQXNELE9BQWpCVCxrQkFBaUIsbUJBQWlCRjtZQUU3SCxJQUFNWSxtQkFBbUJ4QixTQUFTeUIsY0FBYyxDQUFDYixnQkFBZ0JWLGVBQWVDLGVBQWVDO1lBRS9GLElBQUlvQixrQkFBa0I7Z0JBQ3BCcEIsY0FBY2tCLEtBQUssQ0FBQyxBQUFDLG1CQUF3RVIsT0FBdERTLGtCQUFpQix1Q0FBc0QsT0FBakJULGtCQUFpQixpQkFBZUY7Z0JBRTdIUCxpQkFBaUI7WUFDbkI7UUFDRjtRQUVBQSxpQkFDRUgsY0FBY3dCLFFBQVEsS0FDcEJ4QixjQUFjeUIsUUFBUSxDQUFDeEIsZUFBZUM7SUFDNUM7SUFFQSxPQUFPQztBQUNUIn0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifyPremisesAgainstProofSteps;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
12
|
-
var _premiseAgainstProofStep = /*#__PURE__*/ _interop_require_default(require("../unify/premiseAgainstProofStep"));
|
|
13
|
-
var _array = require("../utilities/array");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function unifyPremisesAgainstProofSteps(premisesA, proofStepsB, substitutions, fileContextA, localContextB) {
|
|
20
|
-
premisesA = (0, _array.reverse)(premisesA); ///
|
|
21
|
-
proofStepsB = (0, _array.reverse)(proofStepsB); ///
|
|
22
|
-
var premisesUnified = (0, _array.correlate)(premisesA, proofStepsB, function(premiseA, proofStepB) {
|
|
23
|
-
var localContextA = _local.default.fromFileContext(fileContextA), premiseUnified = (0, _premiseAgainstProofStep.default)(premiseA, proofStepB, substitutions, localContextA, localContextB);
|
|
24
|
-
if (premiseUnified) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return premisesUnified;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9wcmVtaXNlc0FnYWluc3RQcm9vZlN0ZXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdW5pZnlQcmVtaXNlQWdhaW5zdFByb29mU3RlcCBmcm9tIFwiLi4vdW5pZnkvcHJlbWlzZUFnYWluc3RQcm9vZlN0ZXBcIjtcblxuaW1wb3J0IHsgcmV2ZXJzZSwgY29ycmVsYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVByZW1pc2VzQWdhaW5zdFByb29mU3RlcHMocHJlbWlzZXNBLCBwcm9vZlN0ZXBzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIHByZW1pc2VzQSA9IHJldmVyc2UocHJlbWlzZXNBKTsgLy8vXG5cbiAgcHJvb2ZTdGVwc0IgPSByZXZlcnNlKHByb29mU3RlcHNCKTsgLy8vXG5cbiAgY29uc3QgcHJlbWlzZXNVbmlmaWVkID0gY29ycmVsYXRlKHByZW1pc2VzQSwgcHJvb2ZTdGVwc0IsIChwcmVtaXNlQSwgcHJvb2ZTdGVwQikgPT4ge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB1bmlmeVByZW1pc2VBZ2FpbnN0UHJvb2ZTdGVwKHByZW1pc2VBLCBwcm9vZlN0ZXBCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChwcmVtaXNlVW5pZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UHJlbWlzZXNBZ2FpbnN0UHJvb2ZTdGVwcyIsInByZW1pc2VzQSIsInByb29mU3RlcHNCIiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJyZXZlcnNlIiwicHJlbWlzZXNVbmlmaWVkIiwiY29ycmVsYXRlIiwicHJlbWlzZUEiLCJwcm9vZlN0ZXBCIiwibG9jYWxDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInByZW1pc2VVbmlmaWVkIiwidW5pZnlQcmVtaXNlQWdhaW5zdFByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7Ozs0REFMQzs4RUFDZ0I7cUJBRU47Ozs7OztBQUVwQixTQUFTQSwrQkFBK0JDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxhQUFhLEVBQUVDLFlBQVksRUFBRUMsYUFBYTtJQUN2SEosWUFBWUssSUFBQUEsY0FBTyxFQUFDTCxZQUFZLEdBQUc7SUFFbkNDLGNBQWNJLElBQUFBLGNBQU8sRUFBQ0osY0FBYyxHQUFHO0lBRXZDLElBQU1LLGtCQUFrQkMsSUFBQUEsZ0JBQVMsRUFBQ1AsV0FBV0MsYUFBYSxTQUFDTyxVQUFVQztRQUNuRSxJQUFNQyxnQkFBZ0JDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDVCxlQUM3Q1UsaUJBQWlCQyxJQUFBQSxnQ0FBNEIsRUFBQ04sVUFBVUMsWUFBWVAsZUFBZVEsZUFBZU47UUFFeEcsSUFBSVMsZ0JBQWdCO1lBQ2xCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT1A7QUFDVCJ9
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifyStatementAgainstMetaType;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
var _metaTypeNames = require("../metaTypeNames");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
var metavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable"), metaTypeTerminalNodeQuery = (0, _query.nodeQuery)("/metaType/@meta-type!");
|
|
20
|
-
function unifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext) {
|
|
21
|
-
var statementUnifiedAgainstMetaType = false;
|
|
22
|
-
var metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode), metaTypeTerminalNodeContent = metaTypeTerminalNode.getContent(), metaTypeName = metaTypeTerminalNodeContent; ///
|
|
23
|
-
switch(metaTypeName){
|
|
24
|
-
case _metaTypeNames.FRAME_META_TYPE_NAME:
|
|
25
|
-
{
|
|
26
|
-
var metavariableNode = metavariableNodeQuery(statementNode);
|
|
27
|
-
if (metavariableNode !== null) {
|
|
28
|
-
var metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
|
|
29
|
-
if (metavariable !== null) {
|
|
30
|
-
var metavariableMetaTypeName = metavariable.getMetaTypeName();
|
|
31
|
-
if (metavariableMetaTypeName === metaTypeName) {
|
|
32
|
-
statementUnifiedAgainstMetaType = true;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
case _metaTypeNames.STATEMENT_META_TYPE_NAME:
|
|
39
|
-
{
|
|
40
|
-
var verifyStatement = _shim.default.verifyStatement, derived = false, assignments = [], statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
|
|
41
|
-
statementUnifiedAgainstMetaType = statementVerified;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return statementUnifiedAgainstMetaType;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBZ2FpbnN0TWV0YVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IEZSQU1FX01FVEFfVFlQRV9OQU1FLCBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vbWV0YVR5cGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZVwiKSxcbiAgICAgIG1ldGFUeXBlVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVR5cGUvQG1ldGEtdHlwZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50QWdhaW5zdE1ldGFUeXBlKHN0YXRlbWVudE5vZGUsIG1ldGFUeXBlTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkQWdhaW5zdE1ldGFUeXBlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YVR5cGVUZXJtaW5hbE5vZGUgPSBtZXRhVHlwZVRlcm1pbmFsTm9kZVF1ZXJ5KG1ldGFUeXBlTm9kZSksXG4gICAgICAgIG1ldGFUeXBlVGVybWluYWxOb2RlQ29udGVudCA9IG1ldGFUeXBlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbWV0YVR5cGVOYW1lID0gbWV0YVR5cGVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICBzd2l0Y2ggKG1ldGFUeXBlTmFtZSkge1xuICAgIGNhc2UgRlJBTUVfTUVUQV9UWVBFX05BTUU6IHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVNZXRhVHlwZU5hbWUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGVOYW1lKCk7XG5cbiAgICAgICAgICBpZiAobWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lID09PSBtZXRhVHlwZU5hbWUpIHtcbiAgICAgICAgICAgIHN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0TWV0YVR5cGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRToge1xuICAgICAgY29uc3QgeyB2ZXJpZnlTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0TWV0YVR5cGUgPSBzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0TWV0YVR5cGU7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRBZ2FpbnN0TWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhVHlwZVRlcm1pbmFsTm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsIm1ldGFUeXBlTm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWRBZ2FpbnN0TWV0YVR5cGUiLCJtZXRhVHlwZVRlcm1pbmFsTm9kZSIsIm1ldGFUeXBlVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJtZXRhVHlwZU5hbWUiLCJGUkFNRV9NRVRBX1RZUEVfTkFNRSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lIiwiZ2V0TWV0YVR5cGVOYW1lIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwidmVyaWZ5U3RhdGVtZW50Iiwic2hpbSIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInN0YXRlbWVudFZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OzJEQVJQO3FCQUVTOzZCQUNxQzs7Ozs7O0FBRS9ELElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDbENDLDRCQUE0QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUU3QixTQUFTRiw4QkFBOEJJLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxZQUFZO0lBQzdGLElBQUlDLGtDQUFrQztJQUV0QyxJQUFNQyx1QkFBdUJMLDBCQUEwQkUsZUFDakRJLDhCQUE4QkQscUJBQXFCRSxVQUFVLElBQzdEQyxlQUFlRiw2QkFBNkIsR0FBRztJQUVyRCxPQUFRRTtRQUNOLEtBQUtDLG1DQUFvQjtZQUFFO2dCQUN6QixJQUFNQyxtQkFBbUJaLHNCQUFzQkc7Z0JBRS9DLElBQUlTLHFCQUFxQixNQUFNO29CQUM3QixJQUFNQyxlQUFlUixhQUFhUyxrQ0FBa0MsQ0FBQ0Y7b0JBRXJFLElBQUlDLGlCQUFpQixNQUFNO3dCQUN6QixJQUFNRSwyQkFBMkJGLGFBQWFHLGVBQWU7d0JBRTdELElBQUlELDZCQUE2QkwsY0FBYzs0QkFDN0NKLGtDQUFrQzt3QkFDcEM7b0JBQ0Y7Z0JBQ0Y7Z0JBRUE7WUFDRjtRQUVBLEtBQUtXLHVDQUF3QjtZQUFFO2dCQUM3QixJQUFNLEFBQUVDLGtCQUFvQkMsYUFBSSxDQUF4QkQsaUJBQ0ZFLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyxvQkFBb0JKLGdCQUFnQmYsZUFBZWtCLGFBQWFELFNBQVNmO2dCQUUvRUMsa0NBQWtDZ0I7Z0JBRWxDO1lBQ0Y7SUFDRjtJQUVBLE9BQU9oQjtBQUNUIn0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifySuppositionAgainstProofStep;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _unify = require("../utilities/unify");
|
|
12
|
-
function unifySuppositionAgainstProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB) {
|
|
13
|
-
var suppositionUnified = false;
|
|
14
|
-
var suppositionAStatementNode = suppositionA.getStatementNode();
|
|
15
|
-
if (suppositionAStatementNode !== null) {
|
|
16
|
-
var proofStepBSubproofNode = proofStepB.getSubproofNode(), proofStepBStatementNode = proofStepB.getStatementNode(), subproofNodeB = proofStepBSubproofNode, statementNodeB = proofStepBStatementNode, statementNodeA = suppositionAStatementNode, statementStringA = localContextA.nodeAsString(statementNodeA);
|
|
17
|
-
substitutions.snapshot();
|
|
18
|
-
if (subproofNodeB !== null) {
|
|
19
|
-
var subproofStringB = (0, _unify.subproofNodeAsSubproofString)(subproofNodeB, localContextB);
|
|
20
|
-
localContextB.trace("Unifying the '".concat(subproofStringB, "' subproof against the supposition's '").concat(statementStringA, "' statement..."), subproofNodeB);
|
|
21
|
-
var subproofUnified = suppositionA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
|
|
22
|
-
if (subproofUnified) {
|
|
23
|
-
localContextB.debug("...unified the '".concat(subproofStringB, "' subproof against the supposition's '").concat(statementStringA, "' statement."), subproofNodeB);
|
|
24
|
-
suppositionUnified = true;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (statementNodeB !== null) {
|
|
28
|
-
var statementStringB = localContextB.nodeAsString(statementNodeB);
|
|
29
|
-
localContextB.trace("Unifying the '".concat(statementStringB, "' statement against the supposition's '").concat(statementStringA, "' statement..."), statementNodeB);
|
|
30
|
-
var statementUnified = suppositionA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
|
|
31
|
-
if (statementUnified) {
|
|
32
|
-
localContextB.debug("...unified the '".concat(statementStringB, "' statement against the supposition's '").concat(statementStringA, "' statement."), statementNodeB);
|
|
33
|
-
suppositionUnified = true;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
suppositionUnified ? substitutions.continue() : substitutions.rollback(localContextA, localContextB);
|
|
37
|
-
}
|
|
38
|
-
return suppositionUnified;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdXBwb3NpdGlvbkFnYWluc3RQcm9vZlN0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHN1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3VuaWZ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3VwcG9zaXRpb25BZ2FpbnN0UHJvb2ZTdGVwKHN1cHBvc2l0aW9uQSwgcHJvb2ZTdGVwQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgc3VwcG9zaXRpb25VbmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25BU3RhdGVtZW50Tm9kZSA9IHN1cHBvc2l0aW9uQS5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlID0gcHJvb2ZTdGVwQi5nZXRTdWJwcm9vZk5vZGUoKSxcbiAgICAgICAgICBwcm9vZlN0ZXBCU3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcEIuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIHN1YnByb29mTm9kZUIgPSBwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHByb29mU3RlcEJTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQSA9IHN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZ0EgPSBsb2NhbENvbnRleHRBLm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlQSlcblxuICAgIHN1YnN0aXR1dGlvbnMuc25hcHNob3QoKTtcblxuICAgIGlmIChzdWJwcm9vZk5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZlN0cmluZ0IgPSBzdWJwcm9vZk5vZGVBc1N1YnByb29mU3RyaW5nKHN1YnByb29mTm9kZUIsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmdCfScgc3VicHJvb2YgYWdhaW5zdCB0aGUgc3VwcG9zaXRpb24ncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllZCA9IHN1cHBvc2l0aW9uQS51bmlmeVN1YnByb29mKHN1YnByb29mTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBpZiAoc3VicHJvb2ZVbmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mU3RyaW5nQn0nIHN1YnByb29mIGFnYWluc3QgdGhlIHN1cHBvc2l0aW9uJ3MgJyR7c3RhdGVtZW50U3RyaW5nQX0nIHN0YXRlbWVudC5gLCBzdWJwcm9vZk5vZGVCKTtcblxuICAgICAgICBzdXBwb3NpdGlvblVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgc3VwcG9zaXRpb24ncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gc3VwcG9zaXRpb25BLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQn0nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSBzdXBwb3NpdGlvbidzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHN1cHBvc2l0aW9uVW5pZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwcG9zaXRpb25VbmlmaWVkID9cbiAgICAgIHN1YnN0aXR1dGlvbnMuY29udGludWUoKSA6XG4gICAgICAgIHN1YnN0aXR1dGlvbnMucm9sbGJhY2sobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gIH1cblxuICByZXR1cm4gc3VwcG9zaXRpb25VbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3VwcG9zaXRpb25BZ2FpbnN0UHJvb2ZTdGVwIiwic3VwcG9zaXRpb25BIiwicHJvb2ZTdGVwQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInN1cHBvc2l0aW9uVW5pZmllZCIsInN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwicHJvb2ZTdGVwQlN1YnByb29mTm9kZSIsImdldFN1YnByb29mTm9kZSIsInByb29mU3RlcEJTdGF0ZW1lbnROb2RlIiwic3VicHJvb2ZOb2RlQiIsInN0YXRlbWVudE5vZGVCIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnRTdHJpbmdBIiwibm9kZUFzU3RyaW5nIiwic25hcHNob3QiLCJzdWJwcm9vZlN0cmluZ0IiLCJzdWJwcm9vZk5vZGVBc1N1YnByb29mU3RyaW5nIiwidHJhY2UiLCJzdWJwcm9vZlVuaWZpZWQiLCJ1bmlmeVN1YnByb29mIiwiZGVidWciLCJzdGF0ZW1lbnRTdHJpbmdCIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwiY29udGludWUiLCJyb2xsYmFjayJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztxQkFGcUI7QUFFOUIsU0FBU0EsaUNBQWlDQyxZQUFZLEVBQUVDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7SUFDNUgsSUFBSUMscUJBQXFCO0lBRXpCLElBQU1DLDRCQUE0Qk4sYUFBYU8sZ0JBQWdCO0lBRS9ELElBQUlELDhCQUE4QixNQUFNO1FBQ3RDLElBQU1FLHlCQUF5QlAsV0FBV1EsZUFBZSxJQUNuREMsMEJBQTBCVCxXQUFXTSxnQkFBZ0IsSUFDckRJLGdCQUFnQkgsd0JBQ2hCSSxpQkFBaUJGLHlCQUNqQkcsaUJBQWlCUCwyQkFDakJRLG1CQUFtQlgsY0FBY1ksWUFBWSxDQUFDRjtRQUVwRFgsY0FBY2MsUUFBUTtRQUV0QixJQUFJTCxrQkFBa0IsTUFBTTtZQUMxQixJQUFNTSxrQkFBa0JDLElBQUFBLG1DQUE0QixFQUFDUCxlQUFlUDtZQUVwRUEsY0FBY2UsS0FBSyxDQUFDLEFBQUMsaUJBQXdFTCxPQUF4REcsaUJBQWdCLDBDQUF5RCxPQUFqQkgsa0JBQWlCLG1CQUFpQkg7WUFFL0gsSUFBTVMsa0JBQWtCcEIsYUFBYXFCLGFBQWEsQ0FBQ1YsZUFBZVQsZUFBZUMsZUFBZUM7WUFFaEcsSUFBSWdCLGlCQUFpQjtnQkFDbkJoQixjQUFja0IsS0FBSyxDQUFDLEFBQUMsbUJBQTBFUixPQUF4REcsaUJBQWdCLDBDQUF5RCxPQUFqQkgsa0JBQWlCLGlCQUFlSDtnQkFFL0hOLHFCQUFxQjtZQUN2QjtRQUNGO1FBRUEsSUFBSU8sbUJBQW1CLE1BQU07WUFDM0IsSUFBTVcsbUJBQW1CbkIsY0FBY1csWUFBWSxDQUFDSDtZQUVwRFIsY0FBY2UsS0FBSyxDQUFDLEFBQUMsaUJBQTBFTCxPQUExRFMsa0JBQWlCLDJDQUEwRCxPQUFqQlQsa0JBQWlCLG1CQUFpQkY7WUFFakksSUFBTVksbUJBQW1CeEIsYUFBYXlCLGNBQWMsQ0FBQ2IsZ0JBQWdCVixlQUFlQyxlQUFlQztZQUVuRyxJQUFJb0Isa0JBQWtCO2dCQUNwQnBCLGNBQWNrQixLQUFLLENBQUMsQUFBQyxtQkFBNEVSLE9BQTFEUyxrQkFBaUIsMkNBQTBELE9BQWpCVCxrQkFBaUIsaUJBQWVGO2dCQUVqSVAscUJBQXFCO1lBQ3ZCO1FBQ0Y7UUFFQUEscUJBQ0VILGNBQWN3QixRQUFRLEtBQ3BCeEIsY0FBY3lCLFFBQVEsQ0FBQ3hCLGVBQWVDO0lBQzVDO0lBRUEsT0FBT0M7QUFDVCJ9
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifySuppositionsAgainstProofSteps;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
12
|
-
var _suppositionAgainstProofStep = /*#__PURE__*/ _interop_require_default(require("./suppositionAgainstProofStep"));
|
|
13
|
-
var _array = require("../utilities/array");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function unifySuppositionsAgainstProofSteps(suppositionsA, proofStepsB, substitutions, fileContextA, localContextB) {
|
|
20
|
-
suppositionsA = (0, _array.reverse)(suppositionsA); ///
|
|
21
|
-
proofStepsB = (0, _array.reverse)(proofStepsB); ///
|
|
22
|
-
var suppositionsUnified = (0, _array.correlate)(suppositionsA, proofStepsB, function(suppositionA, proofStepB) {
|
|
23
|
-
var localContextA = _local.default.fromFileContext(fileContextA), suppositionUnified = (0, _suppositionAgainstProofStep.default)(suppositionA, proofStepB, substitutions, localContextA, localContextB);
|
|
24
|
-
if (suppositionUnified) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return suppositionsUnified;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdXBwb3NpdGlvbnNBZ2FpbnN0UHJvb2ZTdGVwcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IHVuaWZ5U3VwcG9zaXRpb25BZ2FpbnN0UHJvb2ZTdGVwIGZyb20gXCIuL3N1cHBvc2l0aW9uQWdhaW5zdFByb29mU3RlcFwiO1xuXG5pbXBvcnQgeyByZXZlcnNlLCBjb3JyZWxhdGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3VwcG9zaXRpb25zQWdhaW5zdFByb29mU3RlcHMoc3VwcG9zaXRpb25zQSwgcHJvb2ZTdGVwc0IsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBzdXBwb3NpdGlvbnNBID0gcmV2ZXJzZShzdXBwb3NpdGlvbnNBKTsgLy8vXG5cbiAgcHJvb2ZTdGVwc0IgPSByZXZlcnNlKHByb29mU3RlcHNCKTsgLy8vXG5cbiAgY29uc3Qgc3VwcG9zaXRpb25zVW5pZmllZCA9IGNvcnJlbGF0ZShzdXBwb3NpdGlvbnNBLCBwcm9vZlN0ZXBzQiwgKHN1cHBvc2l0aW9uQSwgcHJvb2ZTdGVwQikgPT4ge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgc3VwcG9zaXRpb25VbmlmaWVkID0gdW5pZnlTdXBwb3NpdGlvbkFnYWluc3RQcm9vZlN0ZXAoc3VwcG9zaXRpb25BLCBwcm9vZlN0ZXBCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChzdXBwb3NpdGlvblVuaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc1VuaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdXBwb3NpdGlvbnNBZ2FpbnN0UHJvb2ZTdGVwcyIsInN1cHBvc2l0aW9uc0EiLCJwcm9vZlN0ZXBzQiIsInN1YnN0aXR1dGlvbnMiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwicmV2ZXJzZSIsInN1cHBvc2l0aW9uc1VuaWZpZWQiLCJjb3JyZWxhdGUiLCJzdXBwb3NpdGlvbkEiLCJwcm9vZlN0ZXBCIiwibG9jYWxDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1cHBvc2l0aW9uVW5pZmllZCIsInVuaWZ5U3VwcG9zaXRpb25BZ2FpbnN0UHJvb2ZTdGVwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXdCQTs7OzREQUxDO2tGQUNvQjtxQkFFVjs7Ozs7O0FBRXBCLFNBQVNBLG1DQUFtQ0MsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhO0lBQy9ISixnQkFBZ0JLLElBQUFBLGNBQU8sRUFBQ0wsZ0JBQWdCLEdBQUc7SUFFM0NDLGNBQWNJLElBQUFBLGNBQU8sRUFBQ0osY0FBYyxHQUFHO0lBRXZDLElBQU1LLHNCQUFzQkMsSUFBQUEsZ0JBQVMsRUFBQ1AsZUFBZUMsYUFBYSxTQUFDTyxjQUFjQztRQUMvRSxJQUFNQyxnQkFBZ0JDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDVCxlQUM3Q1UscUJBQXFCQyxJQUFBQSxvQ0FBZ0MsRUFBQ04sY0FBY0MsWUFBWVAsZUFBZVEsZUFBZU47UUFFcEgsSUFBSVMsb0JBQW9CO1lBQ3RCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT1A7QUFDVCJ9
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifyTermAgainstTerm;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _equivalences = require("../utilities/equivalences");
|
|
12
|
-
function unifyTermAgainstTerm(leftTermNode, rightTermNode, localContext) {
|
|
13
|
-
var termUnifiedAgainstTerm = false;
|
|
14
|
-
var equivalences = localContext.getEquivalences(), termNodesEqual = (0, _equivalences.areTermNodesEqual)(leftTermNode, rightTermNode, equivalences);
|
|
15
|
-
if (termNodesEqual) {
|
|
16
|
-
termUnifiedAgainstTerm = true;
|
|
17
|
-
}
|
|
18
|
-
return termUnifiedAgainstTerm;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtQWdhaW5zdFRlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFyZVRlcm1Ob2Rlc0VxdWFsIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lcXVpdmFsZW5jZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtQWdhaW5zdFRlcm0obGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkQWdhaW5zdFRlcm0gPSBmYWxzZTtcblxuICBjb25zdCBlcXVpdmFsZW5jZXMgPSBsb2NhbENvbnRleHQuZ2V0RXF1aXZhbGVuY2VzKCksXG4gICAgICAgIHRlcm1Ob2Rlc0VxdWFsID0gYXJlVGVybU5vZGVzRXF1YWwobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBlcXVpdmFsZW5jZXMpO1xuXG4gIGlmICh0ZXJtTm9kZXNFcXVhbCkge1xuICAgIHRlcm1VbmlmaWVkQWdhaW5zdFRlcm0gPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkQWdhaW5zdFRlcm07XG59Il0sIm5hbWVzIjpbInVuaWZ5VGVybUFnYWluc3RUZXJtIiwibGVmdFRlcm1Ob2RlIiwicmlnaHRUZXJtTm9kZSIsImxvY2FsQ29udGV4dCIsInRlcm1VbmlmaWVkQWdhaW5zdFRlcm0iLCJlcXVpdmFsZW5jZXMiLCJnZXRFcXVpdmFsZW5jZXMiLCJ0ZXJtTm9kZXNFcXVhbCIsImFyZVRlcm1Ob2Rlc0VxdWFsIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzRCQUZVO0FBRW5CLFNBQVNBLHFCQUFxQkMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDcEYsSUFBSUMseUJBQXlCO0lBRTdCLElBQU1DLGVBQWVGLGFBQWFHLGVBQWUsSUFDM0NDLGlCQUFpQkMsSUFBQUEsK0JBQWlCLEVBQUNQLGNBQWNDLGVBQWVHO0lBRXRFLElBQUlFLGdCQUFnQjtRQUNsQkgseUJBQXlCO0lBQzNCO0lBRUEsT0FBT0E7QUFDVCJ9
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifyTermAgainstType;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
-
var _array = require("../utilities/array");
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function unifyTermAgainstType(termNode, typeNode, localContext) {
|
|
19
|
-
var termUnifiedAgainstType;
|
|
20
|
-
var verifyTerm = _shim.default.verifyTerm, terms = [], termVerified = verifyTerm(termNode, terms, localContext, function() {
|
|
21
|
-
var verifiedAhead = false;
|
|
22
|
-
var firstTerm = (0, _array.first)(terms), term = firstTerm, termType = term.getType(), type = localContext.findTypeByTypeNode(typeNode), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
|
|
23
|
-
if (termTypeEqualToOrSubTypeOfType) {
|
|
24
|
-
verifiedAhead = true;
|
|
25
|
-
}
|
|
26
|
-
return verifiedAhead;
|
|
27
|
-
});
|
|
28
|
-
termUnifiedAgainstType = termVerified; ///
|
|
29
|
-
return termUnifiedAgainstType;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtQWdhaW5zdFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1BZ2FpbnN0VHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdGVybVVuaWZpZWRBZ2FpbnN0VHlwZTtcblxuICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHNoaW0sXG4gICAgICAgIHRlcm1zID0gW10sXG4gICAgICAgIHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZmlyc3RUZXJtID0gZmlyc3QodGVybXMpLFxuICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgdHlwZSA9IGxvY2FsQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSA9IHRlcm1UeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpO1xuXG4gICAgICAgICAgaWYgKHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSkge1xuICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHRlcm1VbmlmaWVkQWdhaW5zdFR5cGUgPSB0ZXJtVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiB0ZXJtVW5pZmllZEFnYWluc3RUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybUFnYWluc3RUeXBlIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsImxvY2FsQ29udGV4dCIsInRlcm1VbmlmaWVkQWdhaW5zdFR5cGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsImZpcnN0VGVybSIsImZpcnN0IiwidGVybSIsInRlcm1UeXBlIiwiZ2V0VHlwZSIsInR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5vZGUiLCJ0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OzsyREFKUDtxQkFFSzs7Ozs7O0FBRVAsU0FBU0EscUJBQXFCQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsWUFBWTtJQUMzRSxJQUFJQztJQUVKLElBQU0sQUFBRUMsYUFBZUMsYUFBSSxDQUFuQkQsWUFDRkUsUUFBUSxFQUFFLEVBQ1ZDLGVBQWVILFdBQVdKLFVBQVVNLE9BQU9KLGNBQWM7UUFDdkQsSUFBSU0sZ0JBQWdCO1FBRXBCLElBQU1DLFlBQVlDLElBQUFBLFlBQUssRUFBQ0osUUFDbEJLLE9BQU9GLFdBQ1BHLFdBQVdELEtBQUtFLE9BQU8sSUFDdkJDLE9BQU9aLGFBQWFhLGtCQUFrQixDQUFDZCxXQUN2Q2UsaUNBQWlDSixTQUFTSyxvQkFBb0IsQ0FBQ0g7UUFFckUsSUFBSUUsZ0NBQWdDO1lBQ2xDUixnQkFBZ0I7UUFDbEI7UUFFQSxPQUFPQTtJQUNUO0lBRU5MLHlCQUF5QkksY0FBYyxHQUFHO0lBRTFDLE9BQU9KO0FBQ1QifQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return unifyVariableAgainstTerm;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable");
|
|
19
|
-
function unifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB) {
|
|
20
|
-
var variableUnifiedAgainstTerm = false;
|
|
21
|
-
var substitution = substitutions.findSubstitution(function(substitution) {
|
|
22
|
-
var substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
|
|
23
|
-
if (substitutionMatchesVariableNodeA) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
}) || null;
|
|
27
|
-
if (substitution !== null) {
|
|
28
|
-
var substitutionMatchesTermNodeB = substitution.matchTermNode(termNodeB);
|
|
29
|
-
if (substitutionMatchesTermNodeB) {
|
|
30
|
-
variableUnifiedAgainstTerm = true;
|
|
31
|
-
}
|
|
32
|
-
} else {
|
|
33
|
-
var variableA = localContextA.findVariableByVariableNode(variableNodeA);
|
|
34
|
-
if (variableA !== null) {
|
|
35
|
-
var variableB = variableFromTermNode(termNodeB, localContextB);
|
|
36
|
-
if (variableA !== variableB) {
|
|
37
|
-
var termNode = termNodeB, variableNode = variableNodeA, termForVariableSubstitution = _termForVariable.default.fromVariableNodeAndTermNode(variableNode, termNode), substitution1 = termForVariableSubstitution; ///
|
|
38
|
-
substitutions.addSubstitution(substitution1, localContextA, localContextB);
|
|
39
|
-
}
|
|
40
|
-
variableUnifiedAgainstTerm = true;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return variableUnifiedAgainstTerm;
|
|
44
|
-
}
|
|
45
|
-
function variableFromTermNode(termNode, localContext) {
|
|
46
|
-
var variable = null;
|
|
47
|
-
var variableNode = variableNodeQuery(termNode);
|
|
48
|
-
if (variableNode !== null) {
|
|
49
|
-
variable = localContext.findVariableByVariableNode(variableNode);
|
|
50
|
-
}
|
|
51
|
-
return variable;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS92YXJpYWJsZUFnYWluc3RUZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlWYXJpYWJsZUFnYWluc3RUZXJtKHZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgdmFyaWFibGVVbmlmaWVkQWdhaW5zdFRlcm0gPSBmYWxzZTtcblxuICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUEpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNUZXJtTm9kZUIgPSBzdWJzdGl0dXRpb24ubWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZUIpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNUZXJtTm9kZUIpIHtcbiAgICAgIHZhcmlhYmxlVW5pZmllZEFnYWluc3RUZXJtID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFyaWFibGVBID0gbG9jYWxDb250ZXh0QS5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBKTtcblxuICAgIGlmICh2YXJpYWJsZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlQiA9IHZhcmlhYmxlRnJvbVRlcm1Ob2RlKHRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmICh2YXJpYWJsZUEgIT09IHZhcmlhYmxlQikge1xuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlQiwgLy8vXG4gICAgICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICAgICAgfVxuXG4gICAgICB2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0VGVybSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlVW5pZmllZEFnYWluc3RUZXJtO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB2YXJpYWJsZSA9IG51bGw7XG5cbiAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICB2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZhcmlhYmxlVW5pZmllZEFnYWluc3RUZXJtIiwic3Vic3RpdHV0aW9uIiwiZmluZFN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb25NYXRjaGVzVGVybU5vZGVCIiwibWF0Y2hUZXJtTm9kZSIsInZhcmlhYmxlQSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVCIiwidmFyaWFibGVGcm9tVGVybU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5vZGVBbmRUZXJtTm9kZSIsImFkZFN1YnN0aXR1dGlvbiIsImxvY2FsQ29udGV4dCIsInZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NFQU5nQjtxQkFFZDs7Ozs7O0FBRTFCLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixTQUFTRix5QkFBeUJHLGFBQWEsRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNwSCxJQUFJQyw2QkFBNkI7SUFFakMsSUFBTUMsZUFBZUosY0FBY0ssZ0JBQWdCLENBQUMsU0FBQ0Q7UUFDbkQsSUFBTUUsbUNBQW1DRixhQUFhRyxpQkFBaUIsQ0FBQ1Q7UUFFeEUsSUFBSVEsa0NBQWtDO1lBQ3BDLE9BQU87UUFDVDtJQUNGLE1BQU07SUFFTixJQUFJRixpQkFBaUIsTUFBTTtRQUN6QixJQUFNSSwrQkFBK0JKLGFBQWFLLGFBQWEsQ0FBQ1Y7UUFFaEUsSUFBSVMsOEJBQThCO1lBQ2hDTCw2QkFBNkI7UUFDL0I7SUFDRixPQUFPO1FBQ0wsSUFBTU8sWUFBWVQsY0FBY1UsMEJBQTBCLENBQUNiO1FBRTNELElBQUlZLGNBQWMsTUFBTTtZQUN0QixJQUFNRSxZQUFZQyxxQkFBcUJkLFdBQVdHO1lBRWxELElBQUlRLGNBQWNFLFdBQVc7Z0JBQzNCLElBQU1FLFdBQVdmLFdBQ1hnQixlQUFlakIsZUFDZmtCLDhCQUE4QkMsd0JBQTJCLENBQUNDLDJCQUEyQixDQUFDSCxjQUFjRCxXQUNwR1YsZ0JBQWVZLDZCQUE4QixHQUFHO2dCQUV0RGhCLGNBQWNtQixlQUFlLENBQUNmLGVBQWNILGVBQWVDO1lBQzdEO1lBRUFDLDZCQUE2QjtRQUMvQjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNVLHFCQUFxQkMsUUFBUSxFQUFFTSxZQUFZO0lBQ2xELElBQUlDLFdBQVc7SUFFZixJQUFNTixlQUFlbkIsa0JBQWtCa0I7SUFFdkMsSUFBSUMsaUJBQWlCLE1BQU07UUFDekJNLFdBQVdELGFBQWFULDBCQUEwQixDQUFDSTtJQUNyRDtJQUVBLE9BQU9NO0FBQ1QifQ==
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Unifier from "../unifier";
|
|
4
|
-
import unifyTermAgainstType from "../unify/termAgainstType";
|
|
5
|
-
import unifyStatementAgainstMetaType from "../unify/statementAgainstMetaType";
|
|
6
|
-
|
|
7
|
-
import { nodeQuery } from "../utilities/query";
|
|
8
|
-
|
|
9
|
-
const termNodeQuery = nodeQuery("/term!"),
|
|
10
|
-
typeNodeQuery = nodeQuery("/type!"),
|
|
11
|
-
metaTypeNodeQuery = nodeQuery("/metaType!"),
|
|
12
|
-
statementNodeQuery = nodeQuery("/statement!");
|
|
13
|
-
|
|
14
|
-
class StatementAgainstCombinatorUnifier extends Unifier {
|
|
15
|
-
unify(statementNode, combinatorStatementNode, localContext) {
|
|
16
|
-
let statementUnifiedAgainstCombinator;
|
|
17
|
-
|
|
18
|
-
const nonTerminalNodeA = statementNode, ///
|
|
19
|
-
nonTerminalNodeB = combinatorStatementNode, ///
|
|
20
|
-
nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext);
|
|
21
|
-
|
|
22
|
-
statementUnifiedAgainstCombinator = nonTerminalNodeUnified; ///
|
|
23
|
-
|
|
24
|
-
return statementUnifiedAgainstCombinator;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
static maps = [
|
|
28
|
-
{
|
|
29
|
-
nodeQueryA: statementNodeQuery,
|
|
30
|
-
nodeQueryB: metaTypeNodeQuery,
|
|
31
|
-
unify: (statementNodeA, metaTypeNodeB, localContext) => {
|
|
32
|
-
const metaTypeNode = metaTypeNodeB, ///
|
|
33
|
-
statementNode = statementNodeA, ///
|
|
34
|
-
statementUnifiedAgainstMetaType = unifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext);
|
|
35
|
-
|
|
36
|
-
return statementUnifiedAgainstMetaType;
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
nodeQueryA: termNodeQuery,
|
|
41
|
-
nodeQueryB: typeNodeQuery,
|
|
42
|
-
unify: (termNodeA, typeNodeB, localContext) => {
|
|
43
|
-
const termNode = termNodeA, ///
|
|
44
|
-
typeNode = typeNodeB, ///
|
|
45
|
-
termUnifiedAgainstType = unifyTermAgainstType(termNode, typeNode, localContext);
|
|
46
|
-
|
|
47
|
-
return termUnifiedAgainstType;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const statementAgainstCombinatorUnifier = new StatementAgainstCombinatorUnifier();
|
|
54
|
-
|
|
55
|
-
export default statementAgainstCombinatorUnifier;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import shim from "../shim";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../utilities/query";
|
|
6
|
-
import { FRAME_META_TYPE_NAME, STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
|
|
7
|
-
|
|
8
|
-
const metavariableNodeQuery = nodeQuery("/statement/metavariable"),
|
|
9
|
-
metaTypeTerminalNodeQuery = nodeQuery("/metaType/@meta-type!");
|
|
10
|
-
|
|
11
|
-
export default function unifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext) {
|
|
12
|
-
let statementUnifiedAgainstMetaType = false;
|
|
13
|
-
|
|
14
|
-
const metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode),
|
|
15
|
-
metaTypeTerminalNodeContent = metaTypeTerminalNode.getContent(),
|
|
16
|
-
metaTypeName = metaTypeTerminalNodeContent; ///
|
|
17
|
-
|
|
18
|
-
switch (metaTypeName) {
|
|
19
|
-
case FRAME_META_TYPE_NAME: {
|
|
20
|
-
const metavariableNode = metavariableNodeQuery(statementNode);
|
|
21
|
-
|
|
22
|
-
if (metavariableNode !== null) {
|
|
23
|
-
const metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
|
|
24
|
-
|
|
25
|
-
if (metavariable !== null) {
|
|
26
|
-
const metavariableMetaTypeName = metavariable.getMetaTypeName();
|
|
27
|
-
|
|
28
|
-
if (metavariableMetaTypeName === metaTypeName) {
|
|
29
|
-
statementUnifiedAgainstMetaType = true;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
case STATEMENT_META_TYPE_NAME: {
|
|
38
|
-
const { verifyStatement } = shim,
|
|
39
|
-
derived = false,
|
|
40
|
-
assignments = [],
|
|
41
|
-
statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
|
|
42
|
-
|
|
43
|
-
statementUnifiedAgainstMetaType = statementVerified;
|
|
44
|
-
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return statementUnifiedAgainstMetaType;
|
|
50
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import shim from "../shim";
|
|
4
|
-
|
|
5
|
-
import { first } from "../utilities/array";
|
|
6
|
-
|
|
7
|
-
export default function unifyTermAgainstType(termNode, typeNode, localContext) {
|
|
8
|
-
let termUnifiedAgainstType;
|
|
9
|
-
|
|
10
|
-
const { verifyTerm } = shim,
|
|
11
|
-
terms = [],
|
|
12
|
-
termVerified = verifyTerm(termNode, terms, localContext, () => {
|
|
13
|
-
let verifiedAhead = false;
|
|
14
|
-
|
|
15
|
-
const firstTerm = first(terms),
|
|
16
|
-
term = firstTerm, ///
|
|
17
|
-
termType = term.getType(),
|
|
18
|
-
type = localContext.findTypeByTypeNode(typeNode),
|
|
19
|
-
termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
|
|
20
|
-
|
|
21
|
-
if (termTypeEqualToOrSubTypeOfType) {
|
|
22
|
-
verifiedAhead = true;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return verifiedAhead;
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
termUnifiedAgainstType = termVerified; ///
|
|
29
|
-
|
|
30
|
-
return termUnifiedAgainstType;
|
|
31
|
-
}
|