occam-verify-cli 0.0.919 → 0.0.921
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/utilities/verify.js +22 -6
- package/lib/verifier/nodes/metaLevel.js +22 -2
- package/lib/verify/metaLemma.js +2 -2
- package/lib/verify/metaSubproof.js +3 -3
- package/lib/verify/metaSupposition.js +2 -2
- package/lib/verify/metaproof.js +4 -4
- package/lib/verify/metastatement.js +5 -1
- package/lib/verify/metastatementAsContainedAssertion.js +109 -0
- package/lib/verify/metastatementAsDefinedAssertion.js +132 -0
- package/lib/verify/metatheorem.js +2 -2
- package/lib/verify/premise.js +2 -2
- package/lib/verify/rule.js +9 -8
- package/lib/verify/statementAsContainedAssertion.js +15 -20
- package/package.json +4 -4
- package/src/utilities/verify.js +20 -4
- package/src/verifier/nodes/metaLevel.js +32 -1
- package/src/verify/metaLemma.js +2 -1
- package/src/verify/metaSubproof.js +3 -3
- package/src/verify/metaSupposition.js +1 -2
- package/src/verify/metaproof.js +5 -6
- package/src/verify/metastatement.js +4 -0
- package/src/verify/metastatementAsContainedAssertion.js +127 -0
- package/src/verify/metastatementAsDefinedAssertion.js +156 -0
- package/src/verify/metatheorem.js +2 -1
- package/src/verify/premise.js +1 -2
- package/src/verify/rule.js +11 -8
- package/src/verify/statementAsContainedAssertion.js +21 -26
- package/lib/verify/ruleDerivation.js +0 -31
- package/lib/verify/ruleProof.js +0 -32
- package/lib/verify/ruleProofStep.js +0 -98
- package/lib/verify/ruleSubDerivation.js +0 -25
- package/lib/verify/ruleSubproof.js +0 -35
- package/src/verify/ruleDerivation.js +0 -23
- package/src/verify/ruleProof.js +0 -31
- package/src/verify/ruleProofStep.js +0 -139
- package/src/verify/ruleSubDerivation.js +0 -22
- package/src/verify/ruleSubproof.js +0 -34
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
13
|
+
return verifyMetastatementAsDefinedAssertion;
|
|
14
|
+
},
|
|
15
|
+
isMetastatementDefinedAssertion: function() {
|
|
16
|
+
return isMetastatementDefinedAssertion;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _term = /*#__PURE__*/ _interop_require_default(require("./term"));
|
|
20
|
+
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
|
|
21
|
+
var _array = require("../utilities/array");
|
|
22
|
+
var _constants = require("../constants");
|
|
23
|
+
var _query = require("../utilities/query");
|
|
24
|
+
var _verify = require("../utilities/verify");
|
|
25
|
+
function _interop_require_default(obj) {
|
|
26
|
+
return obj && obj.__esModule ? obj : {
|
|
27
|
+
default: obj
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
var termNodeQuery = (0, _query.nodeQuery)("/metastatement/term!"), variableNodeQuery = (0, _query.nodeQuery)("/metastatement/term/variable!"), operatorTerminalNodesQuery = (0, _query.nodesQuery)("/metastatement/@operator");
|
|
31
|
+
function verifyMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
|
|
32
|
+
var metastatementVerifiedAsDefinedAssertion = false;
|
|
33
|
+
var metastatementDefinedAssertion = isMetastatementDefinedAssertion(metastatementNode);
|
|
34
|
+
if (metastatementDefinedAssertion) {
|
|
35
|
+
var metastatementString = localContext.nodeAsString(metastatementNode);
|
|
36
|
+
localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
|
|
37
|
+
var definedAssertionFunctions = [
|
|
38
|
+
verifyDerivedMetastatementAsDefinedAssertion,
|
|
39
|
+
verifyStatedMetastatementAsDefinedAssertion
|
|
40
|
+
];
|
|
41
|
+
metastatementVerifiedAsDefinedAssertion = definedAssertionFunctions.some(function(definedAssertionFunction) {
|
|
42
|
+
var metastatementVerifiedAsDefinedAssertion = definedAssertionFunction(metastatementNode, assignments, derived, localContext);
|
|
43
|
+
if (metastatementVerifiedAsDefinedAssertion) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (metastatementVerifiedAsDefinedAssertion) {
|
|
48
|
+
localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return metastatementVerifiedAsDefinedAssertion;
|
|
52
|
+
}
|
|
53
|
+
function verifyDerivedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
|
|
54
|
+
var derivedMetastatementVerifiedAsDefeindAssertion = false;
|
|
55
|
+
if (derived) {
|
|
56
|
+
var metastatementString = localContext.nodeAsString(metastatementNode);
|
|
57
|
+
localContext.trace("Verifying the derived '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
|
|
58
|
+
var metastatementNegated = (0, _verify.isMetastatementNegated)(metastatementNode), variableNode = variableNodeQuery(metastatementNode), termNode = termNodeQuery(metastatementNode);
|
|
59
|
+
if (false) {
|
|
60
|
+
///
|
|
61
|
+
} else if (variableNode !== null) {
|
|
62
|
+
var variable = localContext.findVariableByVariableNode(variableNode);
|
|
63
|
+
if (variable !== null) {
|
|
64
|
+
var variableDefined = localContext.isVariableDefined(variable);
|
|
65
|
+
if (!metastatementNegated) {
|
|
66
|
+
if (variableDefined) {
|
|
67
|
+
derivedMetastatementVerifiedAsDefeindAssertion = true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (metastatementNegated) {
|
|
71
|
+
if (!variableDefined) {
|
|
72
|
+
derivedMetastatementVerifiedAsDefeindAssertion = true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
} else if (termNode !== null) {
|
|
77
|
+
var terms = [], termVerified = (0, _term.default)(termNode, terms, localContext, function() {
|
|
78
|
+
var verifiedAhead = true;
|
|
79
|
+
return verifiedAhead;
|
|
80
|
+
});
|
|
81
|
+
if (termVerified) {
|
|
82
|
+
var firstTerm = (0, _array.first)(terms), term = firstTerm, termGrounded = localContext.isTermGrounded(term);
|
|
83
|
+
if (!metastatementNegated) {
|
|
84
|
+
if (termGrounded) {
|
|
85
|
+
derivedMetastatementVerifiedAsDefeindAssertion = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (metastatementNegated) {
|
|
89
|
+
if (!termGrounded) {
|
|
90
|
+
derivedMetastatementVerifiedAsDefeindAssertion = true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (derivedMetastatementVerifiedAsDefeindAssertion) {
|
|
96
|
+
localContext.debug("...verified the derived '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return derivedMetastatementVerifiedAsDefeindAssertion;
|
|
100
|
+
}
|
|
101
|
+
function verifyStatedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
|
|
102
|
+
var statedMetastatementVerifiedAsDefinedAssertion = false;
|
|
103
|
+
if (!derived) {
|
|
104
|
+
var metastatementString = localContext.nodeAsString(metastatementNode);
|
|
105
|
+
localContext.trace("Verifying the stated '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
|
|
106
|
+
var intrinsicLevel = localContext.isIntrinsicLevel();
|
|
107
|
+
if (intrinsicLevel) {
|
|
108
|
+
localContext.debug("The stated '".concat(metastatementString, "' metastatement as a defined assertion cannot be verified at intrinsic level."), metastatementNode);
|
|
109
|
+
} else {
|
|
110
|
+
var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
|
|
111
|
+
var verifiedAhead = true;
|
|
112
|
+
return verifiedAhead;
|
|
113
|
+
});
|
|
114
|
+
statedMetastatementVerifiedAsDefinedAssertion = nonTerminalNodeVerified; ///
|
|
115
|
+
}
|
|
116
|
+
if (statedMetastatementVerifiedAsDefinedAssertion) {
|
|
117
|
+
localContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return statedMetastatementVerifiedAsDefinedAssertion;
|
|
121
|
+
}
|
|
122
|
+
function isMetastatementDefinedAssertion(metastatementNode) {
|
|
123
|
+
var operatorTerminalNodes = operatorTerminalNodesQuery(metastatementNode), metastatementDefinedAssertion = operatorTerminalNodes.some(function(operatorTerminalNode) {
|
|
124
|
+
var content = operatorTerminalNode.getContent(), contentDefined = content === _constants.DEFINED;
|
|
125
|
+
if (contentDefined) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
return metastatementDefinedAssertion;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVRlcm0gZnJvbSBcIi4vdGVybVwiO1xuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBERUZJTkVEIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNNZXRhc3RhdGVtZW50TmVnYXRlZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC90ZXJtIVwiKSxcbiAgICAgIHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9Ab3BlcmF0b3JcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uID0gaXNNZXRhc3RhdGVtZW50RGVmaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgICB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uXG4gICAgXTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgoZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBkZWZpbmVkIGFzc2VydGlvbi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhc3RhdGVtZW50TmVnYXRlZCA9IGlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5lZCA9IGxvY2FsQ29udGV4dC5pc1ZhcmlhYmxlRGVmaW5lZCh2YXJpYWJsZSk7XG5cbiAgICAgICAgaWYgKCFtZXRhc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICh2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRhc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICghdmFyaWFibGVEZWZpbmVkKSB7XG4gICAgICAgICAgICBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZXJtcyA9IFtdLFxuICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgdGVybSA9IGZpcnN0VGVybSwgLy8vXG4gICAgICAgICAgICAgIHRlcm1Hcm91bmRlZCA9IGxvY2FsQ29udGV4dC5pc1Rlcm1Hcm91bmRlZCh0ZXJtKTtcblxuICAgICAgICBpZiAoIW1ldGFzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKHRlcm1Hcm91bmRlZCkge1xuICAgICAgICAgICAgZGVyaXZlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmZWluZEFzc2VydGlvbiA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBpbnRyaW5zaWNMZXZlbCA9IGxvY2FsQ29udGV4dC5pc0ludHJpbnNpY0xldmVsKCk7XG5cbiAgICBpZiAoaW50cmluc2ljTGV2ZWwpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uIGNhbm5vdCBiZSB2ZXJpZmllZCBhdCBpbnRyaW5zaWMgbGV2ZWwuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNZXRhc3RhdGVtZW50RGVmaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBvcGVyYXRvclRlcm1pbmFsTm9kZXMgPSBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uID0gb3BlcmF0b3JUZXJtaW5hbE5vZGVzLnNvbWUoKG9wZXJhdG9yVGVybWluYWxOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IG9wZXJhdG9yVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgICAgICBjb250ZW50RGVmaW5lZCA9IChjb250ZW50ID09PSBERUZJTkVEKTtcblxuICAgICAgICAgIGlmIChjb250ZW50RGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICByZXR1cm4gbWV0YXN0YXRlbWVudERlZmluZWRBc3NlcnRpb247XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsImlzTWV0YXN0YXRlbWVudERlZmluZWRBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwiZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVkTWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsInNvbWUiLCJkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50TmVnYXRlZCIsImlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQiLCJ2YXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZURlZmluZWQiLCJpc1ZhcmlhYmxlRGVmaW5lZCIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZ5VGVybSIsInZlcmlmaWVkQWhlYWQiLCJmaXJzdFRlcm0iLCJmaXJzdCIsInRlcm0iLCJ0ZXJtR3JvdW5kZWQiLCJpc1Rlcm1Hcm91bmRlZCIsInN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiIsImludHJpbnNpY0xldmVsIiwiaXNJbnRyaW5zaWNMZXZlbCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibWV0YUxldmVsTm9kZVZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwib3BlcmF0b3JUZXJtaW5hbE5vZGVzIiwib3BlcmF0b3JUZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImNvbnRlbnREZWZpbmVkIiwiREVGSU5FRCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBY0EsT0E2QkM7ZUE3QnVCQTs7SUFpSVJDLCtCQUErQjtlQUEvQkE7OzsyREE3SU87Z0VBQ1c7cUJBRVo7eUJBQ0U7cUJBQ2M7c0JBQ0M7Ozs7OztBQUV2QyxJQUFN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
|
|
@@ -32,7 +32,7 @@ function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
|
32
32
|
if (metaSuppositionsVerified) {
|
|
33
33
|
var metaConsequents = [], metaConsequentNode = metaConsequentNodeQuery(metatheoremNode), metaConsequentVerified = (0, _metaConsequent.default)(metaConsequentNode, metaConsequents, substitutions, localContext);
|
|
34
34
|
if (metaConsequentVerified) {
|
|
35
|
-
var metaproofNode = metaproofNodeQuery(metatheoremNode), firstMetaConsequent = (0, _array.first)(metaConsequents), metaConsequent = firstMetaConsequent, metaproofVerified = (0, _metaproof.default)(metaproofNode,
|
|
35
|
+
var metaproofNode = metaproofNodeQuery(metatheoremNode), firstMetaConsequent = (0, _array.first)(metaConsequents), metaConsequent = firstMetaConsequent, metastatementNode = metaConsequent.getMetastatementNode(), metaproofVerified = (0, _metaproof.default)(metaproofNode, metastatementNode, substitutions, localContext);
|
|
36
36
|
if (metaproofVerified) {
|
|
37
37
|
var metatheorem = _metatheorem.default.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext);
|
|
38
38
|
fileContext.addMetatheorem(metatheorem);
|
|
@@ -47,4 +47,4 @@ function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
|
47
47
|
return metatheoremVerified;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXRoZW9yZW0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhdGhlb3JlbSBmcm9tIFwiLi4vbWV0YXRoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlNZXRhQ29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFDb25zZXF1ZW50XCI7XG5pbXBvcnQgTWV0YUxldmVsTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsL21ldGFMZXZlbFwiO1xuaW1wb3J0IHZlcmlmeU1ldGFTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGF0aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgbWV0YXByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtL21ldGFwcm9vZiFcIiksXG4gICAgICBtZXRhQ29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbS9tZXRhQ29uc2VxdWVudCFcIiksXG4gICAgICBtZXRhU3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhdGhlb3JlbS9tZXRhU3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGF0aGVvcmVtKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGF0aGVvcmVtVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVzQXNTdHJpbmcobGFiZWxOb2Rlcyk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbWV0YXRoZW9yZW0uLi5gLCBtZXRhdGhlb3JlbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhTGV2ZWxMb2NhbENvbnRleHQgPSBNZXRhTGV2ZWxMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBtZXRhTGV2ZWxMb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25zID0gW10sXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uTm9kZXMgPSBtZXRhU3VwcG9zaXRpb25zTm9kZVF1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1cHBvc2l0aW9ucyhtZXRhU3VwcG9zaXRpb25Ob2RlcywgbWV0YVN1cHBvc2l0aW9ucywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFDb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgbWV0YUNvbnNlcXVlbnROb2RlID0gbWV0YUNvbnNlcXVlbnROb2RlUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICAgIG1ldGFDb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhQ29uc2VxdWVudChtZXRhQ29uc2VxdWVudE5vZGUsIG1ldGFDb25zZXF1ZW50cywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFDb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YXByb29mTm9kZSA9IG1ldGFwcm9vZk5vZGVRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdE1ldGFDb25zZXF1ZW50ID0gZmlyc3QobWV0YUNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgbWV0YUNvbnNlcXVlbnQgPSBmaXJzdE1ldGFDb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhQ29uc2VxdWVudC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IHZlcmlmeU1ldGFwcm9vZihtZXRhcHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21MYWJlbHNNZXRhU3VwcG9zaXRpb25zTWV0YUNvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBtZXRhU3VwcG9zaXRpb25zLCBtZXRhQ29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTWV0YXRoZW9yZW0obWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgbWV0YXRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbWV0YXRoZW9yZW0uYCwgbWV0YXRoZW9yZW1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGF0aGVvcmVtIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm1ldGFwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFDb25zZXF1ZW50Tm9kZVF1ZXJ5IiwibWV0YVN1cHBvc2l0aW9uc05vZGVRdWVyeSIsIm1ldGF0aGVvcmVtTm9kZSIsImZpbGVDb250ZXh0IiwibWV0YXRoZW9yZW1WZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsIm1ldGFMZXZlbExvY2FsQ29udGV4dCIsIk1ldGFMZXZlbExvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dCIsInN1YnN0aXR1dGlvbnMiLCJtZXRhU3VwcG9zaXRpb25zIiwibWV0YVN1cHBvc2l0aW9uTm9kZXMiLCJtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIiwibWV0YUNvbnNlcXVlbnRzIiwibWV0YUNvbnNlcXVlbnROb2RlIiwibWV0YUNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeU1ldGFDb25zZXF1ZW50IiwibWV0YXByb29mTm9kZSIsImZpcnN0TWV0YUNvbnNlcXVlbnQiLCJmaXJzdCIsIm1ldGFDb25zZXF1ZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YXByb29mIiwibWV0YXRoZW9yZW0iLCJNZXRhdGhlb3JlbSIsImZyb21MYWJlbHNNZXRhU3VwcG9zaXRpb25zTWV0YUNvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJhZGRNZXRhdGhlb3JlbSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUF3QkE7OztrRUFmQTs2REFDQztnRUFDRztxRUFDSztnRUFDQzt1RUFDQztxQkFFYjtxQkFDZ0I7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsdUJBQzdCQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsNEJBQy9CQywwQkFBMEJELElBQUFBLGdCQUFTLEVBQUMsaUNBQ3BDRSw0QkFBNEJKLElBQUFBLGlCQUFVLEVBQUM7QUFFOUIsU0FBU0Ysa0JBQWtCTyxlQUFlLEVBQUVDLFdBQVc7SUFDcEUsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLGFBQWFULGdCQUFnQk0sa0JBQzdCSSxlQUFlSCxZQUFZSSxhQUFhLENBQUNGO0lBRS9DRixZQUFZSyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkYsY0FBYSxxQkFBbUJKO0lBRXBFLElBQU1PLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ04sWUFBWUksUUFBUU47SUFFeEQsSUFBSU8sZ0JBQWdCO1FBQ2xCLElBQU1FLHdCQUF3QkMsa0JBQXFCLENBQUNDLGVBQWUsQ0FBQ1gsY0FDOURZLGVBQWVILHVCQUNmSSxnQkFBZ0IsRUFBRSxFQUNsQkMsbUJBQW1CLEVBQUUsRUFDckJDLHVCQUF1QmpCLDBCQUEwQkMsa0JBQ2pEaUIsMkJBQTJCQyxJQUFBQSx5QkFBc0IsRUFBQ0Ysc0JBQXNCRCxrQkFBa0JELGVBQWVEO1FBRS9HLElBQUlJLDBCQUEwQjtZQUM1QixJQUFNRSxrQkFBa0IsRUFBRSxFQUNwQkMscUJBQXFCdEIsd0JBQXdCRSxrQkFDN0NxQix5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JELGlCQUFpQkwsZUFBZUQ7WUFFeEcsSUFBSVEsd0JBQXdCO2dCQUMxQixJQUFNRSxnQkFBZ0IzQixtQkFBbUJJLGtCQUNuQ3dCLHNCQUFzQkMsSUFBQUEsWUFBSyxFQUFDTixrQkFDNUJPLGlCQUFpQkYscUJBQ2pCRyxvQkFBb0JELGVBQWVFLG9CQUFvQixJQUN2REMsb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDUCxlQUFlSSxtQkFBbUJiLGVBQWVEO2dCQUUzRixJQUFJZ0IsbUJBQW1CO29CQUNyQixJQUFNRSxjQUFjQyxvQkFBVyxDQUFDQyxtRUFBbUUsQ0FBQzFCLFFBQVFRLGtCQUFrQlcsZ0JBQWdCWixlQUFlYjtvQkFFN0pBLFlBQVlpQyxjQUFjLENBQUNIO29CQUUzQjdCLHNCQUFzQjtnQkFDeEI7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxxQkFBcUI7UUFDdkJELFlBQVlrQyxLQUFLLENBQUMsQUFBQyxvQkFBZ0MsT0FBYi9CLGNBQWEsbUJBQWlCSjtJQUN0RTtJQUVBLE9BQU9FO0FBQ1QifQ==
|
package/lib/verify/premise.js
CHANGED
|
@@ -35,7 +35,7 @@ function verifyPremise(premiseNode, premises, localContext) {
|
|
|
35
35
|
if (unqualifiedMetastatementNode !== null) {
|
|
36
36
|
var derived1 = false, assignments1 = [], unqualifiedMetastatementVerified = (0, _unqualified1.default)(unqualifiedMetastatementNode, assignments1, derived1, localContext);
|
|
37
37
|
if (unqualifiedMetastatementVerified) {
|
|
38
|
-
var
|
|
38
|
+
var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext);
|
|
39
39
|
premiseVerified = assignmentAssigned1; ///
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -58,4 +58,4 @@ function verifyPremise(premiseNode, premises, localContext) {
|
|
|
58
58
|
return premiseVerified;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByZW1pc2UgZnJvbSBcIi4uL3ByZW1pc2VcIjtcbmltcG9ydCBNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi9zdGVwL21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5pbXBvcnQgdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hc3NpZ25tZW50c1wiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlQcmVtaXNlKHByZW1pc2VOb2RlLCBwcmVtaXNlcywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBwcmVtaXNlVmVyaWZpZWQ7XG5cbiAgY29uc3QgcHJlbWlzZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocHJlbWlzZU5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS4uLmAsIHByZW1pc2VOb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShwcmVtaXNlTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocHJlbWlzZU5vZGUpO1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBwcmVtaXNlVmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHByZW1pc2VWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHByZW1pc2VWZXJpZmllZCkge1xuICAgIGxldCBwcmVtaXNlLFxuICAgICAgICBtZXRhcHJvb2ZTdGVwO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcHJlbWlzZXMucHVzaChwcmVtaXNlKTtcblxuICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UuYCwgcHJlbWlzZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHByZW1pc2VWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlQcmVtaXNlIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicHJlbWlzZU5vZGUiLCJwcmVtaXNlcyIsImxvY2FsQ29udGV4dCIsInByZW1pc2VWZXJpZmllZCIsInByZW1pc2VTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJkZXJpdmVkIiwiYXNzaWdubWVudHMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJwcmVtaXNlIiwibWV0YXByb29mU3RlcCIsInN0YXRlbWVudE5vZGUiLCJNZXRhcHJvb2ZTdGVwIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwiUHJlbWlzZSIsImZyb21TdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwiYWRkTWV0YXByb29mU3RlcCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFlQTs7O2VBQXdCQTs7OzhEQWJKO2dFQUNNO2tFQUNhO21FQUNJO3FCQUVqQjsyQkFDTzs7Ozs7O0FBRWpDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDL0JDLHlCQUF5QkQsSUFBQUEsZ0JBQVMsRUFBQyw2Q0FDbkNFLGdDQUFnQ0YsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDMUNHLG9DQUFvQ0gsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQyxTQUFTRixjQUFjTSxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsWUFBWTtJQUN2RSxJQUFJQztJQUVKLElBQU1DLGdCQUFnQkYsYUFBYUcsWUFBWSxDQUFDTDtJQUVoREUsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQStCLE9BQWRGLGVBQWMsaUJBQWVKO0lBRWxFLElBQU1PLDJCQUEyQlQsOEJBQThCRSxjQUN6RFEsK0JBQStCVCxrQ0FBa0NDO0lBRXZFLElBQUlPLDZCQUE2QixNQUFNO1FBQ3JDLElBQU1FLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQywrQkFBK0JDLElBQUFBLG9CQUEwQixFQUFDTCwwQkFBMEJHLGFBQWFELFNBQVNQO1FBRWhILElBQUlTLDhCQUE4QjtZQUNoQyxJQUFNRSxxQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSixhQUFhUjtZQUV6REMsa0JBQWtCVSxvQkFBb0IsR0FBRztRQUMzQztJQUNGO0lBRUEsSUFBSUwsaUNBQWlDLE1BQU07UUFDekMsSUFBTUMsV0FBVSxPQUNWQyxlQUFjLEVBQUUsRUFDaEJLLG1DQUFtQ0MsSUFBQUEscUJBQThCLEVBQUNSLDhCQUE4QkUsY0FBYUQsVUFBU1A7UUFFNUgsSUFBSWEsa0NBQWtDO1lBQ3BDLElBQU1GLHNCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNKLGNBQWFSO1lBRXpEQyxrQkFBa0JVLHFCQUFvQixHQUFHO1FBQzNDO0lBQ0Y7SUFFQSxJQUFJVixpQkFBaUI7UUFDbkIsSUFBSWMsU0FDQUM7UUFFSixJQUFJWCw2QkFBNkIsTUFBTTtZQUNyQyxJQUFNWSxnQkFBZ0J4QixtQkFBbUJZO1lBRXpDVyxnQkFBZ0JFLGtCQUFhLENBQUNDLHFCQUFxQixDQUFDRjtZQUVwREYsVUFBVUssZ0JBQU8sQ0FBQ0MsaUJBQWlCLENBQUNKO1FBQ3RDO1FBRUEsSUFBSVgsaUNBQWlDLE1BQU07WUFDekMsSUFBTWdCLG9CQUFvQjNCLHVCQUF1Qlc7WUFFakRVLGdCQUFnQkUsa0JBQWEsQ0FBQ0MscUJBQXFCLENBQUNHO1lBRXBEUCxVQUFVSyxnQkFBTyxDQUFDRCxxQkFBcUIsQ0FBQ0c7UUFDMUM7UUFFQXZCLFNBQVN3QixJQUFJLENBQUNSO1FBRWRmLGFBQWF3QixnQkFBZ0IsQ0FBQ1I7UUFFOUJoQixhQUFheUIsS0FBSyxDQUFDLEFBQUMsb0JBQWlDLE9BQWR2QixlQUFjLGVBQWFKO0lBQ3BFO0lBRUEsT0FBT0c7QUFDVCJ9
|
package/lib/verify/rule.js
CHANGED
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _rule = /*#__PURE__*/ _interop_require_default(require("../rule"));
|
|
12
12
|
var _labels = /*#__PURE__*/ _interop_require_default(require("../verify/labels"));
|
|
13
13
|
var _premises = /*#__PURE__*/ _interop_require_default(require("../verify/premises"));
|
|
14
|
-
var
|
|
14
|
+
var _metaproof = /*#__PURE__*/ _interop_require_default(require("../verify/metaproof"));
|
|
15
15
|
var _conclusion = /*#__PURE__*/ _interop_require_default(require("../verify/conclusion"));
|
|
16
16
|
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../context/local/metaLevel"));
|
|
17
17
|
var _array = require("../utilities/array");
|
|
@@ -21,7 +21,7 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/rule/label"), premisesNodeQuery = (0, _query.nodesQuery)("/rule/premise"),
|
|
24
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/rule/label"), premisesNodeQuery = (0, _query.nodesQuery)("/rule/premise"), metaproofNodeQuery = (0, _query.nodeQuery)("/rule/metaproof!"), conclusionNodeQuery = (0, _query.nodeQuery)("/rule/conclusion!");
|
|
25
25
|
function verifyRule(ruleNode, fileContext) {
|
|
26
26
|
var ruleVerified = false;
|
|
27
27
|
var labelNodes = labelNodesQuery(ruleNode), labelsString = fileContext.nodesAsString(labelNodes);
|
|
@@ -32,12 +32,13 @@ function verifyRule(ruleNode, fileContext) {
|
|
|
32
32
|
if (premisesVerified) {
|
|
33
33
|
var conclusions = [], conclusionNode = conclusionNodeQuery(ruleNode), conclusionVerified = (0, _conclusion.default)(conclusionNode, conclusions, localContext);
|
|
34
34
|
if (conclusionVerified) {
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
if (
|
|
38
|
-
|
|
35
|
+
var metaproofVerified = true; ///
|
|
36
|
+
var firstConclusion = (0, _array.first)(conclusions), metaproofNode = metaproofNodeQuery(ruleNode), conclusion = firstConclusion; ///
|
|
37
|
+
if (metaproofNode !== null) {
|
|
38
|
+
var substitutions = [], metastatementNode = conclusion.getMetastatementNode();
|
|
39
|
+
metaproofVerified = (0, _metaproof.default)(metaproofNode, metastatementNode, substitutions, localContext);
|
|
39
40
|
}
|
|
40
|
-
if (
|
|
41
|
+
if (metaproofVerified) {
|
|
41
42
|
var rule = _rule.default.fromLabelsPremisesConclusionAndFileContext(labels, premises, conclusion, fileContext);
|
|
42
43
|
fileContext.addRule(rule);
|
|
43
44
|
ruleVerified = true;
|
|
@@ -51,4 +52,4 @@ function verifyRule(ruleNode, fileContext) {
|
|
|
51
52
|
return ruleVerified;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlQcmVtaXNlcyBmcm9tIFwiLi4vdmVyaWZ5L3ByZW1pc2VzXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXByb29mIGZyb20gXCIuLi92ZXJpZnkvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5Q29uY2x1c2lvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbmNsdXNpb25cIjtcbmltcG9ydCBNZXRhTGV2ZWxMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWwvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGUvbGFiZWxcIiksXG4gICAgICBwcmVtaXNlc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9wcmVtaXNlXCIpLFxuICAgICAgbWV0YXByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUvbWV0YXByb29mIVwiKSxcbiAgICAgIGNvbmNsdXNpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZS9jb25jbHVzaW9uIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZShydWxlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsc1N0cmluZ30nIHJ1bGUuLi5gLCBydWxlTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IG1ldGFMZXZlbExvY2FsQ29udGV4dCA9IE1ldGFMZXZlbExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByZW1pc2VzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbWV0YUxldmVsTG9jYWxDb250ZXh0LCAvLy9cbiAgICAgICAgICBwcmVtaXNlTm9kZXMgPSBwcmVtaXNlc05vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgcHJlbWlzZXNWZXJpZmllZCA9IHZlcmlmeVByZW1pc2VzKHByZW1pc2VOb2RlcywgcHJlbWlzZXMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocHJlbWlzZXNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uY2x1c2lvbnMgPSBbXSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob2RlID0gY29uY2x1c2lvbk5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgICBjb25jbHVzaW9uVmVyaWZpZWQgPSB2ZXJpZnlDb25jbHVzaW9uKGNvbmNsdXNpb25Ob2RlLCBjb25jbHVzaW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbmNsdXNpb25WZXJpZmllZCkge1xuICAgICAgICBsZXQgbWV0YXByb29mVmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICAgICAgICBjb25zdCBmaXJzdENvbmNsdXNpb24gPSBmaXJzdChjb25jbHVzaW9ucyksXG4gICAgICAgICAgICAgIG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgICBjb25jbHVzaW9uID0gZmlyc3RDb25jbHVzaW9uOyAvLy9cblxuICAgICAgICBpZiAobWV0YXByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb24uZ2V0TWV0YXN0YXRlbWVudE5vZGUoKTtcblxuICAgICAgICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGFwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgcnVsZSA9IFJ1bGUuZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0KGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIGZpbGVDb250ZXh0LmFkZFJ1bGUocnVsZSk7XG5cbiAgICAgICAgICBydWxlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJ1bGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgcnVsZS5gLCBydWxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gcnVsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVJ1bGUiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJlbWlzZXNOb2RlUXVlcnkiLCJtZXRhcHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25jbHVzaW9uTm9kZVF1ZXJ5IiwicnVsZU5vZGUiLCJmaWxlQ29udGV4dCIsInJ1bGVWZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsIm1ldGFMZXZlbExvY2FsQ29udGV4dCIsIk1ldGFMZXZlbExvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInByZW1pc2VzIiwibG9jYWxDb250ZXh0IiwicHJlbWlzZU5vZGVzIiwicHJlbWlzZXNWZXJpZmllZCIsInZlcmlmeVByZW1pc2VzIiwiY29uY2x1c2lvbnMiLCJjb25jbHVzaW9uTm9kZSIsImNvbmNsdXNpb25WZXJpZmllZCIsInZlcmlmeUNvbmNsdXNpb24iLCJtZXRhcHJvb2ZWZXJpZmllZCIsImZpcnN0Q29uY2x1c2lvbiIsImZpcnN0IiwibWV0YXByb29mTm9kZSIsImNvbmNsdXNpb24iLCJzdWJzdGl0dXRpb25zIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFwcm9vZiIsInJ1bGUiLCJSdWxlIiwiZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0IiwiYWRkUnVsZSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUF3QkE7OzsyREFmUDs2REFDUTsrREFDRTtnRUFDQztpRUFDQztnRUFDSztxQkFFWjtxQkFDZ0I7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsZ0JBQzdCQyxvQkFBb0JELElBQUFBLGlCQUFVLEVBQUMsa0JBQy9CRSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMscUJBQy9CQyxzQkFBc0JELElBQUFBLGdCQUFTLEVBQUM7QUFFdkIsU0FBU0wsV0FBV08sUUFBUSxFQUFFQyxXQUFXO0lBQ3RELElBQUlDLGVBQWU7SUFFbkIsSUFBTUMsYUFBYVQsZ0JBQWdCTSxXQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUUvQ0YsWUFBWUssS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJGLGNBQWEsY0FBWUo7SUFFN0QsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDTixZQUFZSSxRQUFRTjtJQUV4RCxJQUFJTyxnQkFBZ0I7UUFDbEIsSUFBTUUsd0JBQXdCQyxrQkFBcUIsQ0FBQ0MsZUFBZSxDQUFDWCxjQUM5RFksV0FBVyxFQUFFLEVBQ2JDLGVBQWVKLHVCQUNmSyxlQUFlbkIsa0JBQWtCSSxXQUNqQ2dCLG1CQUFtQkMsSUFBQUEsaUJBQWMsRUFBQ0YsY0FBY0YsVUFBVUM7UUFFaEUsSUFBSUUsa0JBQWtCO1lBQ3BCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCcEIsb0JBQW9CQyxXQUNyQ29CLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkQsYUFBYUo7WUFFekUsSUFBSU0sb0JBQW9CO2dCQUN0QixJQUFJRSxvQkFBb0IsTUFBTSxHQUFHO2dCQUVqQyxJQUFNQyxrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGdCQUFnQjVCLG1CQUFtQkcsV0FDbkMwQixhQUFhSCxpQkFBaUIsR0FBRztnQkFFdkMsSUFBSUUsa0JBQWtCLE1BQU07b0JBQzFCLElBQU1FLGdCQUFnQixFQUFFLEVBQ2xCQyxvQkFBb0JGLFdBQVdHLG9CQUFvQjtvQkFFekRQLG9CQUFvQlEsSUFBQUEsa0JBQWUsRUFBQ0wsZUFBZUcsbUJBQW1CRCxlQUFlYjtnQkFDdkY7Z0JBRUEsSUFBSVEsbUJBQW1CO29CQUNyQixJQUFNUyxPQUFPQyxhQUFJLENBQUNDLDBDQUEwQyxDQUFDMUIsUUFBUU0sVUFBVWEsWUFBWXpCO29CQUUzRkEsWUFBWWlDLE9BQU8sQ0FBQ0g7b0JBRXBCN0IsZUFBZTtnQkFDakI7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCRCxZQUFZa0MsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWIvQixjQUFhLFlBQVVKO0lBQy9EO0lBRUEsT0FBT0U7QUFDVCJ9
|
|
@@ -25,7 +25,7 @@ function _interop_require_default(obj) {
|
|
|
25
25
|
default: obj
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
var
|
|
28
|
+
var termNodeQuery = (0, _query.nodeQuery)("/statement/term!"), statementTermNodesQuery = (0, _query.nodesQuery)("/statement/metaArgument/statement//term"), operatorTerminalNodesQuery = (0, _query.nodesQuery)("/statement/@operator");
|
|
29
29
|
function verifyStatementAsContainedAssertion(statementNode, assignments, derived, localContext) {
|
|
30
30
|
var statementVerifiedAsContainedAssertion;
|
|
31
31
|
var statementContainedAssertion = isStatementContainedAssertion(statementNode);
|
|
@@ -53,25 +53,20 @@ function verifyStatementAsDerivedContainedAssertion(statementNode, assignments,
|
|
|
53
53
|
if (derived) {
|
|
54
54
|
var statementString = localContext.nodeAsString(statementNode);
|
|
55
55
|
localContext.trace("Verifying the derived '".concat(statementString, "' statement as a contained assertion..."), statementNode);
|
|
56
|
-
var statementNegated = (0, _verify.isStatementNegated)(statementNode),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var statementVariableNodes = statementVariableNodesQuery(statementNode), variableNodeMatchesMetaArgumentVariableNode = statementVariableNodes.some(function(statementVariableNode) {
|
|
61
|
-
var variableNodeMatchesMetaArgumentVariableNode = variableNode.match(statementVariableNode);
|
|
62
|
-
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
if (!negated) {
|
|
67
|
-
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
68
|
-
statementVerifiedAsDefinedContainedAssertion = true;
|
|
69
|
-
}
|
|
56
|
+
var statementNegated = (0, _verify.isStatementNegated)(statementNode), termNode = termNodeQuery(statementNode), negated = statementNegated, statementTermNodes = statementTermNodesQuery(statementNode), termNodeMatchesMetaArgumentVariableNode = statementTermNodes.some(function(statementTermNode) {
|
|
57
|
+
var termNodeMatchesMetaArgumentVariableNode = termNode.match(statementTermNode);
|
|
58
|
+
if (termNodeMatchesMetaArgumentVariableNode) {
|
|
59
|
+
return true;
|
|
70
60
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
61
|
+
});
|
|
62
|
+
if (!negated) {
|
|
63
|
+
if (termNodeMatchesMetaArgumentVariableNode) {
|
|
64
|
+
statementVerifiedAsDefinedContainedAssertion = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (negated) {
|
|
68
|
+
if (!termNodeMatchesMetaArgumentVariableNode) {
|
|
69
|
+
statementVerifiedAsDefinedContainedAssertion = true;
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
72
|
if (statementVerifiedAsDefinedContainedAssertion) {
|
|
@@ -111,4 +106,4 @@ function isStatementContainedAssertion(statementNode) {
|
|
|
111
106
|
return statementContainedAssertion;
|
|
112
107
|
}
|
|
113
108
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IENPTlRBSU5FRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzU3RhdGVtZW50TmVnYXRlZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC90ZXJtL3ZhcmlhYmxlIVwiKSxcbiAgICAgIG9wZXJhdG9yVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdGF0ZW1lbnQvQG9wZXJhdG9yXCIpLFxuICAgICAgc3RhdGVtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdGF0ZW1lbnQvbWV0YUFyZ3VtZW50L3N0YXRlbWVudC8vdmFyaWFibGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb247XG5cbiAgY29uc3Qgc3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uID0gaXNTdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKHN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbikge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5U3RhdGVtZW50QXNEZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uLFxuICAgICAgdmVyaWZ5U3RhdGVtZW50QXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb25cbiAgICBdO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbiA9IHN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKChzdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbiA9IHN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc0Rlcml2ZWRDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgZGVyaXZlZCAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROZWdhdGVkID0gaXNTdGF0ZW1lbnROZWdhdGVkKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG5lZ2F0ZWQgPSBzdGF0ZW1lbnROZWdhdGVkOyAgLy8vXG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRWYXJpYWJsZU5vZGVzID0gc3RhdGVtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSA9IHN0YXRlbWVudFZhcmlhYmxlTm9kZXMuc29tZSgoc3RhdGVtZW50VmFyaWFibGVOb2RlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGUubWF0Y2goc3RhdGVtZW50VmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKCFuZWdhdGVkKSB7XG4gICAgICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICAgIGlmICghdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQ29udGFpbmVkQXNzZXJ0aW9uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgZGVyaXZlZCAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbnRhaW5lZCBhc3NlcnRpb24uLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGludHJpbnNpY0xldmVsID0gbG9jYWxDb250ZXh0LmlzSW50cmluc2ljTGV2ZWwoKTtcblxuICAgIGlmIChpbnRyaW5zaWNMZXZlbCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgc3RhdGVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbnRhaW5lZCBhc3NlcnRpb24gY2Fubm90IGJlIHZlcmlmaWVkIGF0IGludHJpbnNpYyBsZXZlbC5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgc3RhdGVtZW50VmVyaWZpZWRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbiA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgc3RhdGVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbnRhaW5lZCBhc3NlcnRpb24uYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbihzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IG9wZXJhdG9yVGVybWluYWxOb2RlcyA9IG9wZXJhdG9yVGVybWluYWxOb2Rlc1F1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBzdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb24gPSBvcGVyYXRvclRlcm1pbmFsTm9kZXMuc29tZSgob3BlcmF0b3JUZXJtaW5hbE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gb3BlcmF0b3JUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgICAgIGNvbnRlbnRDb250YWluZWQgPSAoY29udGVudCA9PT0gQ09OVEFJTkVEKTtcblxuICAgICAgICAgIGlmIChjb250ZW50Q29udGFpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb247XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJpc1N0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbiIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwib3BlcmF0b3JUZXJtaW5hbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3RhdGVtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEFzRGVyaXZlZENvbnRhaW5lZEFzc2VydGlvbiIsInZlcmlmeVN0YXRlbWVudEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uIiwic29tZSIsInN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbiIsInN0YXRlbWVudE5lZ2F0ZWQiLCJpc1N0YXRlbWVudE5lZ2F0ZWQiLCJ2YXJpYWJsZU5vZGUiLCJuZWdhdGVkIiwic3RhdGVtZW50VmFyaWFibGVOb2RlcyIsInZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnRWYXJpYWJsZU5vZGUiLCJtYXRjaCIsInN0YXRlbWVudFZlcmlmaWVkQXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb24iLCJpbnRyaW5zaWNMZXZlbCIsImlzSW50cmluc2ljTGV2ZWwiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsIm1ldGFMZXZlbE5vZGVWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJvcGVyYXRvclRlcm1pbmFsTm9kZXMiLCJvcGVyYXRvclRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwiY29udGVudENvbnRhaW5lZCIsIkNPTlRBSU5FRCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBWUEsT0E2QkM7ZUE3QnVCQTs7SUEyR1JDLDZCQUE2QjtlQUE3QkE7OztnRUFySGtCO3lCQUVSO3NCQUNTO3FCQUNHOzs7Ozs7QUFFdEMs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
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IENPTlRBSU5FRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzU3RhdGVtZW50TmVnYXRlZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3Rlcm0hXCIpLFxuICAgICAgc3RhdGVtZW50VGVybU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N0YXRlbWVudC9tZXRhQXJndW1lbnQvc3RhdGVtZW50Ly90ZXJtXCIpLFxuICAgICAgb3BlcmF0b3JUZXJtaW5hbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N0YXRlbWVudC9Ab3BlcmF0b3JcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb247XG5cbiAgY29uc3Qgc3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uID0gaXNTdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKHN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbikge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5U3RhdGVtZW50QXNEZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uLFxuICAgICAgdmVyaWZ5U3RhdGVtZW50QXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb25cbiAgICBdO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbiA9IHN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKChzdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbiA9IHN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc0Rlcml2ZWRDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgZGVyaXZlZCAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROZWdhdGVkID0gaXNTdGF0ZW1lbnROZWdhdGVkKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBuZWdhdGVkID0gc3RhdGVtZW50TmVnYXRlZCwgLy8vXG4gICAgICAgICAgc3RhdGVtZW50VGVybU5vZGVzID0gc3RhdGVtZW50VGVybU5vZGVzUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgdGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlID0gc3RhdGVtZW50VGVybU5vZGVzLnNvbWUoKHN0YXRlbWVudFRlcm1Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUgPSB0ZXJtTm9kZS5tYXRjaChzdGF0ZW1lbnRUZXJtTm9kZSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoIW5lZ2F0ZWQpIHtcbiAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUpIHtcbiAgICAgICAgc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICBpZiAoIXRlcm1Ob2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbiA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBkZXJpdmVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbnRhaW5lZCBhc3NlcnRpb24uYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBzdGF0ZWQgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgaW50cmluc2ljTGV2ZWwgPSBsb2NhbENvbnRleHQuaXNJbnRyaW5zaWNMZXZlbCgpO1xuXG4gICAgaWYgKGludHJpbnNpY0xldmVsKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSBzdGF0ZWQgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbiBjYW5ub3QgYmUgdmVyaWZpZWQgYXQgaW50cmluc2ljIGxldmVsLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gbWV0YUxldmVsTm9kZVZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdGF0ZWQgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUpIHtcbiAgY29uc3Qgb3BlcmF0b3JUZXJtaW5hbE5vZGVzID0gb3BlcmF0b3JUZXJtaW5hbE5vZGVzUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbiA9IG9wZXJhdG9yVGVybWluYWxOb2Rlcy5zb21lKChvcGVyYXRvclRlcm1pbmFsTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBvcGVyYXRvclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICAgICAgY29udGVudENvbnRhaW5lZCA9IChjb250ZW50ID09PSBDT05UQUlORUQpO1xuXG4gICAgICAgICAgaWYgKGNvbnRlbnRDb250YWluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnRBc0NvbnRhaW5lZEFzc2VydGlvbiIsImlzU3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudFRlcm1Ob2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm9wZXJhdG9yVGVybWluYWxOb2Rlc1F1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEFzRGVyaXZlZENvbnRhaW5lZEFzc2VydGlvbiIsInZlcmlmeVN0YXRlbWVudEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uIiwic29tZSIsInN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbiIsInN0YXRlbWVudE5lZ2F0ZWQiLCJpc1N0YXRlbWVudE5lZ2F0ZWQiLCJ0ZXJtTm9kZSIsIm5lZ2F0ZWQiLCJzdGF0ZW1lbnRUZXJtTm9kZXMiLCJ0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnRUZXJtTm9kZSIsIm1hdGNoIiwic3RhdGVtZW50VmVyaWZpZWRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbiIsImludHJpbnNpY0xldmVsIiwiaXNJbnRyaW5zaWNMZXZlbCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibWV0YUxldmVsTm9kZVZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCIsIm9wZXJhdG9yVGVybWluYWxOb2RlcyIsIm9wZXJhdG9yVGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjb250ZW50Q29udGFpbmVkIiwiQ09OVEFJTkVEIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFZQSxPQTZCQztlQTdCdUJBOztJQXNHUkMsNkJBQTZCO2VBQTdCQTs7O2dFQWhIa0I7eUJBRVI7c0JBQ1M7cUJBQ0c7Ozs7OztBQUV0QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMscUJBQzFCQywwQkFBMEJDLElBQUFBLGlCQUFVLEVBQUMsNENBQ3JDQyw2QkFBNkJELElBQUFBLGlCQUFVLEVBQUM7QUFFL0IsU0FBU0wsb0NBQW9DTyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQzNHLElBQUlDO0lBRUosSUFBTUMsOEJBQThCWCw4QkFBOEJNO0lBRWxFLElBQUlLLDZCQUE2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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.921",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"necessary": "^14.0.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-entities": "^1.0.
|
|
17
|
-
"occam-file-system": "^6.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.823",
|
|
16
|
+
"occam-entities": "^1.0.148",
|
|
17
|
+
"occam-file-system": "^6.0.189",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.207",
|
|
19
19
|
"occam-query": "^3.1.174"
|
|
20
20
|
},
|
package/src/utilities/verify.js
CHANGED
|
@@ -3,12 +3,28 @@
|
|
|
3
3
|
import { NOT } from "../constants";
|
|
4
4
|
import { nodeQuery } from "../utilities/query";
|
|
5
5
|
|
|
6
|
-
const secondOperatorTerminalNodeQuery = nodeQuery("
|
|
6
|
+
const secondOperatorTerminalNodeQuery = nodeQuery("/*/@operator[1]");
|
|
7
7
|
|
|
8
8
|
export function isStatementNegated(statementNode) {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
statementNegated =
|
|
9
|
+
const node = statementNode, ///
|
|
10
|
+
negated = isNegated(node),
|
|
11
|
+
statementNegated = negated; ///
|
|
12
|
+
|
|
13
|
+
return statementNegated;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function isMetastatementNegated(metastatementNode) {
|
|
17
|
+
const node = metastatementNode, ///
|
|
18
|
+
negated = isNegated(node),
|
|
19
|
+
statementNegated = negated; ///
|
|
12
20
|
|
|
13
21
|
return statementNegated;
|
|
14
22
|
}
|
|
23
|
+
|
|
24
|
+
function isNegated(node) {
|
|
25
|
+
const secondOperatorTerminalNode = secondOperatorTerminalNodeQuery(node),
|
|
26
|
+
content = secondOperatorTerminalNode.getContent(),
|
|
27
|
+
negated = (content === NOT);
|
|
28
|
+
|
|
29
|
+
return negated;
|
|
30
|
+
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import NodesVerifier from "../../verifier/nodes";
|
|
4
|
+
import verifyVariableAgainstTerm from "../../verify/variableAgainstTerm";
|
|
4
5
|
import verifyMetavariableAgainstMetastatement from "../../verify/metavariableAgainstMetastatement";
|
|
5
6
|
|
|
6
7
|
import { nodeQuery } from "../../utilities/query";
|
|
7
8
|
import { verifyNodes } from "../../utilities/verifier";
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const termNodeQuery = nodeQuery("/term!"),
|
|
11
|
+
nonTerminalNodeQuery = nodeQuery("/*"),
|
|
12
|
+
termVariableNodeQuery = nodeQuery("/term/variable!"),
|
|
10
13
|
metastatementNodeQuery = nodeQuery("/metastatement!"),
|
|
11
14
|
metastatementMetavariableNodeQuery = nodeQuery("/metastatement/metavariable!");
|
|
12
15
|
|
|
@@ -32,6 +35,23 @@ class MetaLevelNodesVerifier extends NodesVerifier {
|
|
|
32
35
|
return nonTerminalNodeVerified;
|
|
33
36
|
}
|
|
34
37
|
},
|
|
38
|
+
{
|
|
39
|
+
nodeQueryA: termVariableNodeQuery,
|
|
40
|
+
nodeQueryB: termNodeQuery,
|
|
41
|
+
verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
|
|
42
|
+
let nonTerminalNodeVerified;
|
|
43
|
+
|
|
44
|
+
const termNodeB = nodeB, ///
|
|
45
|
+
termVariableNodeA = nodeA, ///
|
|
46
|
+
termVariableNodeVerifiedAgainstTermNode =
|
|
47
|
+
|
|
48
|
+
this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
49
|
+
|
|
50
|
+
nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
|
|
51
|
+
|
|
52
|
+
return nonTerminalNodeVerified;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
35
55
|
{
|
|
36
56
|
nodeQueryA: nonTerminalNodeQuery,
|
|
37
57
|
nodeQueryB: nonTerminalNodeQuery,
|
|
@@ -68,6 +88,17 @@ class MetaLevelNodesVerifier extends NodesVerifier {
|
|
|
68
88
|
|
|
69
89
|
return metastatementMetavariableNodeVerifiedAgainstMetastatementNode;
|
|
70
90
|
}
|
|
91
|
+
|
|
92
|
+
verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
93
|
+
let termVariableNodeVerifiedAgainstTermNode;
|
|
94
|
+
|
|
95
|
+
const variableNodeA = termVariableNodeA, ///
|
|
96
|
+
termVerifiedAgainstVariable = verifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
97
|
+
|
|
98
|
+
termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
|
|
99
|
+
|
|
100
|
+
return termVariableNodeVerifiedAgainstTermNode;
|
|
101
|
+
}
|
|
71
102
|
}
|
|
72
103
|
|
|
73
104
|
const metaLevelNodesVerifier = new MetaLevelNodesVerifier();
|
package/src/verify/metaLemma.js
CHANGED
|
@@ -46,7 +46,8 @@ export default function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
|
46
46
|
const metaproofNode = metaproofNodeQuery(metaLemmaNode),
|
|
47
47
|
firstMetaConsequent = first(metaConsequents),
|
|
48
48
|
metaConsequent = firstMetaConsequent, ///
|
|
49
|
-
|
|
49
|
+
metastatementNode = metaConsequent.getMetastatementNode(),
|
|
50
|
+
metaproofVerified = verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext);
|
|
50
51
|
|
|
51
52
|
if (metaproofVerified) {
|
|
52
53
|
const metaLemma = MetaLemma.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext);
|
|
@@ -6,7 +6,7 @@ import verifyMetaSubDerivation from "../verify/metaSubDerivation";
|
|
|
6
6
|
|
|
7
7
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const metaSuppositionNodesQuery = nodesQuery("/metaSubproof/metaSupposition"),
|
|
10
10
|
metaSubDerivationNodeQuery = nodeQuery("/metaSubproof/metaSubDerivation");
|
|
11
11
|
|
|
12
12
|
export default function verifyMetaSubproof(metaSubproofNode, substitutions, localContext) {
|
|
@@ -17,8 +17,8 @@ export default function verifyMetaSubproof(metaSubproofNode, substitutions, loca
|
|
|
17
17
|
localContext = metaLevelLocalContext; ///
|
|
18
18
|
|
|
19
19
|
const metaSuppositions = [],
|
|
20
|
-
|
|
21
|
-
metaSuppositionsVerified = verifyMetaSuppositions(
|
|
20
|
+
metaSuppositionNodes = metaSuppositionNodesQuery(metaSubproofNode),
|
|
21
|
+
metaSuppositionsVerified = verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext);
|
|
22
22
|
|
|
23
23
|
if (metaSuppositionsVerified) {
|
|
24
24
|
const metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode),
|
|
@@ -41,8 +41,7 @@ export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositi
|
|
|
41
41
|
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
|
|
42
42
|
|
|
43
43
|
if (unqualifiedMetastatementVerified) {
|
|
44
|
-
const
|
|
45
|
-
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
44
|
+
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
46
45
|
|
|
47
46
|
metaSuppositionVerified = assignmentAssigned; ///
|
|
48
47
|
}
|
package/src/verify/metaproof.js
CHANGED
|
@@ -7,7 +7,7 @@ import { nodeQuery } from "../utilities/query";
|
|
|
7
7
|
|
|
8
8
|
const metaDerivationNodeQuery = nodeQuery("/metaproof/metaDerivation!");
|
|
9
9
|
|
|
10
|
-
export default function verifyMetaproof(metaproofNode,
|
|
10
|
+
export default function verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext) {
|
|
11
11
|
let metaproofVerified = false;
|
|
12
12
|
|
|
13
13
|
const metaLevelLocalContext = MetaLevelLocalContext.fromLocalContext(localContext);
|
|
@@ -19,12 +19,11 @@ export default function verifyMetaproof(metaproofNode, conclusion, substitutions
|
|
|
19
19
|
|
|
20
20
|
if (metaDerivationVerified) {
|
|
21
21
|
const lastMetaproofStep = localContext.getLastMetaproofStep(),
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
metastatementNodeMatchesConclusionMetastatementNode = metastatementNode.match(conclusionMetastatementNode);
|
|
22
|
+
lastMetaproofStepMetastatementNode = lastMetaproofStep.getMetastatementNode(),
|
|
23
|
+
lastMetastatementNode = lastMetaproofStepMetastatementNode, ///
|
|
24
|
+
lastMetastatementNodeMatchesMetastatementNode = lastMetastatementNode.match(metastatementNode);
|
|
26
25
|
|
|
27
|
-
metaproofVerified =
|
|
26
|
+
metaproofVerified = lastMetastatementNodeMatchesMetastatementNode; ///
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
return metaproofVerified;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import verifyJudgement from "../verify/judgement";
|
|
4
4
|
import metaLevelNodeVerifier from "../verifier/node/metaLevel";
|
|
5
|
+
import verifyMetastatementAsDefinedAssertion from "./metastatementAsDefinedAssertion";
|
|
6
|
+
import verifyMetastatementAsContainedAssertion from "./metastatementAsContainedAssertion";
|
|
5
7
|
|
|
6
8
|
import { nodeQuery } from "../utilities/query";
|
|
7
9
|
|
|
@@ -16,6 +18,8 @@ function verifyMetastatement(metastatementNode, assignments, derived, localConte
|
|
|
16
18
|
|
|
17
19
|
const verifyMetaStatementFunctions = [
|
|
18
20
|
verifyMetastatementAsJudgement,
|
|
21
|
+
verifyMetastatementAsDefinedAssertion,
|
|
22
|
+
verifyMetastatementAsContainedAssertion,
|
|
19
23
|
verifyMetastatementAsIs
|
|
20
24
|
];
|
|
21
25
|
|