occam-verify-cli 0.0.920 → 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/verify/metaLemma.js +2 -2
- package/lib/verify/metaSubproof.js +3 -3
- package/lib/verify/metaproof.js +4 -4
- package/lib/verify/metatheorem.js +2 -2
- package/lib/verify/rule.js +9 -8
- package/package.json +1 -1
- package/src/verify/metaLemma.js +2 -1
- package/src/verify/metaSubproof.js +3 -3
- package/src/verify/metaproof.js +5 -6
- package/src/verify/metatheorem.js +2 -1
- package/src/verify/rule.js +11 -8
- 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
package/lib/verify/metaLemma.js
CHANGED
|
@@ -33,7 +33,7 @@ function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
|
33
33
|
if (metaSuppositionsVerified) {
|
|
34
34
|
var metaConsequents = [], metaConsequentNode = metaConsequentNodeQuery(metaLemmaNode), metaConsequentVerified = (0, _metaConsequent.default)(metaConsequentNode, metaConsequents, substitutions, localContext);
|
|
35
35
|
if (metaConsequentVerified) {
|
|
36
|
-
var metaproofNode = metaproofNodeQuery(metaLemmaNode), firstMetaConsequent = (0, _array.first)(metaConsequents), metaConsequent = firstMetaConsequent, metaproofVerified = (0, _metaproof.default)(metaproofNode,
|
|
36
|
+
var metaproofNode = metaproofNodeQuery(metaLemmaNode), firstMetaConsequent = (0, _array.first)(metaConsequents), metaConsequent = firstMetaConsequent, metastatementNode = metaConsequent.getMetastatementNode(), metaproofVerified = (0, _metaproof.default)(metaproofNode, metastatementNode, substitutions, localContext);
|
|
37
37
|
if (metaproofVerified) {
|
|
38
38
|
var metaLemma = _metaLemma.default.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext);
|
|
39
39
|
fileContext.addMetaLemma(metaLemma);
|
|
@@ -48,4 +48,4 @@ function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
|
48
48
|
return metaLemmaVerified;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YUxlbW1hLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUxlbW1hIGZyb20gXCIuLi9tZXRhTGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlNZXRhQ29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFDb25zZXF1ZW50XCI7XG5pbXBvcnQgTWV0YUxldmVsTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsL21ldGFMZXZlbFwiO1xuaW1wb3J0IHZlcmlmeU1ldGFTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFMZW1tYS9sYWJlbFwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhTGVtbWEvbWV0YXByb29mIVwiKSxcbiAgICAgIG1ldGFDb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYS9tZXRhQ29uc2VxdWVudCFcIiksXG4gICAgICBtZXRhU3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhTGVtbWEvbWV0YVN1cHBvc2l0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhTGVtbWEobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGFMZW1tYVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShtZXRhTGVtbWFOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKTtcblxuICAobGFiZWxzU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIGEgbWV0YS1sTGVtbWEuLi5gLCBtZXRhTGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhLWxMZW1tYS4uLmAsIG1ldGFMZW1tYU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhTGV2ZWxMb2NhbENvbnRleHQgPSBNZXRhTGV2ZWxMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBtZXRhTGV2ZWxMb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25zID0gW10sXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uTm9kZXMgPSBtZXRhU3VwcG9zaXRpb25zTm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeU1ldGFTdXBwb3NpdGlvbnMobWV0YVN1cHBvc2l0aW9uTm9kZXMsIG1ldGFTdXBwb3NpdGlvbnMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhQ29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIG1ldGFDb25zZXF1ZW50Tm9kZSA9IG1ldGFDb25zZXF1ZW50Tm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgICAgbWV0YUNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFDb25zZXF1ZW50KG1ldGFDb25zZXF1ZW50Tm9kZSwgbWV0YUNvbnNlcXVlbnRzLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YUNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhcHJvb2ZOb2RlID0gbWV0YXByb29mTm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdE1ldGFDb25zZXF1ZW50ID0gZmlyc3QobWV0YUNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgbWV0YUNvbnNlcXVlbnQgPSBmaXJzdE1ldGFDb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhQ29uc2VxdWVudC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IHZlcmlmeU1ldGFwcm9vZihtZXRhcHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhTGVtbWEgPSBNZXRhTGVtbWEuZnJvbUxhYmVsc01ldGFTdXBwb3NpdGlvbnNNZXRhQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dChsYWJlbHMsIG1ldGFTdXBwb3NpdGlvbnMsIG1ldGFDb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICBmaWxlQ29udGV4dC5hZGRNZXRhTGVtbWEobWV0YUxlbW1hKTtcblxuICAgICAgICAgIG1ldGFMZW1tYVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhTGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBtZXRhLWxlbW1hLmAsIG1ldGFMZW1tYU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhLWxlbW1hLmAsIG1ldGFMZW1tYU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFMZW1tYSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhcHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhQ29uc2VxdWVudE5vZGVRdWVyeSIsIm1ldGFTdXBwb3NpdGlvbnNOb2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJtZXRhTGVtbWFWZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsIm1ldGFMZXZlbExvY2FsQ29udGV4dCIsIk1ldGFMZXZlbExvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dCIsInN1YnN0aXR1dGlvbnMiLCJtZXRhU3VwcG9zaXRpb25zIiwibWV0YVN1cHBvc2l0aW9uTm9kZXMiLCJtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIiwibWV0YUNvbnNlcXVlbnRzIiwibWV0YUNvbnNlcXVlbnROb2RlIiwibWV0YUNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeU1ldGFDb25zZXF1ZW50IiwibWV0YXByb29mTm9kZSIsImZpcnN0TWV0YUNvbnNlcXVlbnQiLCJmaXJzdCIsIm1ldGFDb25zZXF1ZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YXByb29mIiwibWV0YUxlbW1hIiwiTWV0YUxlbW1hIiwiZnJvbUxhYmVsc01ldGFTdXBwb3NpdGlvbnNNZXRhQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dCIsImFkZE1ldGFMZW1tYSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7OztnRUFoQkY7NkRBQ0c7Z0VBQ0c7cUVBQ0s7Z0VBQ0M7dUVBQ0M7cUJBRWI7eUJBQ087cUJBQ1M7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMscUJBQzdCQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsMEJBQy9CQywwQkFBMEJELElBQUFBLGdCQUFTLEVBQUMsK0JBQ3BDRSw0QkFBNEJKLElBQUFBLGlCQUFVLEVBQUM7QUFFOUIsU0FBU0YsZ0JBQWdCTyxhQUFhLEVBQUVDLFdBQVc7SUFDaEUsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLGFBQWFULGdCQUFnQk0sZ0JBQzdCSSxlQUFlSCxZQUFZSSxhQUFhLENBQUNGO0lBRTlDQyxpQkFBaUJFLHVCQUFZLEdBQzVCTCxZQUFZTSxLQUFLLENBQUUsOEJBQTZCUCxpQkFDOUNDLFlBQVlNLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiSCxjQUFhLHFCQUFtQko7SUFFeEUsSUFBTVEsU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDUCxZQUFZSyxRQUFRUDtJQUV4RCxJQUFJUSxnQkFBZ0I7UUFDbEIsSUFBTUUsd0JBQXdCQyxrQkFBcUIsQ0FBQ0MsZUFBZSxDQUFDWixjQUM5RGEsZUFBZUgsdUJBQ2ZJLGdCQUFnQixFQUFFLEVBQ2xCQyxtQkFBbUIsRUFBRSxFQUNyQkMsdUJBQXVCbEIsMEJBQTBCQyxnQkFDakRrQiwyQkFBMkJDLElBQUFBLHlCQUFzQixFQUFDRixzQkFBc0JELGtCQUFrQkQsZUFBZUQ7UUFFL0csSUFBSUksMEJBQTBCO1lBQzVCLElBQU1FLGtCQUFrQixFQUFFLEVBQ3BCQyxxQkFBcUJ2Qix3QkFBd0JFLGdCQUM3Q3NCLHlCQUF5QkMsSUFBQUEsdUJBQW9CLEVBQUNGLG9CQUFvQkQsaUJBQWlCTCxlQUFlRDtZQUV4RyxJQUFJUSx3QkFBd0I7Z0JBQzFCLElBQU1FLGdCQUFnQjVCLG1CQUFtQkksZ0JBQ25DeUIsc0JBQXNCQyxJQUFBQSxZQUFLLEVBQUNOLGtCQUM1Qk8saUJBQWlCRixxQkFDakJHLG9CQUFvQkQsZUFBZUUsb0JBQW9CLElBQ3ZEQyxvQkFBb0JDLElBQUFBLGtCQUFlLEVBQUNQLGVBQWVJLG1CQUFtQmIsZUFBZUQ7Z0JBRTNGLElBQUlnQixtQkFBbUI7b0JBQ3JCLElBQU1FLFlBQVlDLGtCQUFTLENBQUNDLG1FQUFtRSxDQUFDMUIsUUFBUVEsa0JBQWtCVyxnQkFBZ0JaLGVBQWVkO29CQUV6SkEsWUFBWWtDLFlBQVksQ0FBQ0g7b0JBRXpCOUIsb0JBQW9CO2dCQUN0QjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLElBQUlBLG1CQUFtQjtRQUNwQkUsaUJBQWlCRSx1QkFBWSxHQUM1QkwsWUFBWW1DLEtBQUssQ0FBRSwrQkFBOEJwQyxpQkFDL0NDLFlBQVltQyxLQUFLLENBQUMsQUFBQyxvQkFBZ0MsT0FBYmhDLGNBQWEsa0JBQWdCSjtJQUN6RTtJQUVBLE9BQU9FO0FBQ1QifQ==
|
|
@@ -17,12 +17,12 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
var
|
|
20
|
+
var metaSuppositionNodesQuery = (0, _query.nodesQuery)("/metaSubproof/metaSupposition"), metaSubDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaSubDerivation");
|
|
21
21
|
function verifyMetaSubproof(metaSubproofNode, substitutions, localContext) {
|
|
22
22
|
var metaSubproofVerified = false;
|
|
23
23
|
var metaLevelLocalContext = _metaLevel.default.fromLocalContext(localContext);
|
|
24
24
|
localContext = metaLevelLocalContext; ///
|
|
25
|
-
var metaSuppositions = [],
|
|
25
|
+
var metaSuppositions = [], metaSuppositionNodes = metaSuppositionNodesQuery(metaSubproofNode), metaSuppositionsVerified = (0, _metaSuppositions.default)(metaSuppositionNodes, metaSuppositions, substitutions, localContext);
|
|
26
26
|
if (metaSuppositionsVerified) {
|
|
27
27
|
var metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode), metaSubDerivationVerified = (0, _metaSubDerivation.default)(metaSubDerivationNode, substitutions, localContext);
|
|
28
28
|
if (metaSubDerivationVerified) {
|
|
@@ -32,4 +32,4 @@ function verifyMetaSubproof(metaSubproofNode, substitutions, localContext) {
|
|
|
32
32
|
return metaSubproofVerified;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1YnByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUxldmVsTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsL21ldGFMZXZlbFwiO1xuaW1wb3J0IHZlcmlmeU1ldGFTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3VwcG9zaXRpb25zXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3ViRGVyaXZhdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFTdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFTdWJwcm9vZi9tZXRhU3VwcG9zaXRpb25cIiksXG4gICAgICBtZXRhU3ViRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhU3VicHJvb2YvbWV0YVN1YkRlcml2YXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFTdWJwcm9vZihtZXRhU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YUxldmVsTG9jYWxDb250ZXh0ID0gTWV0YUxldmVsTG9jYWxDb250ZXh0LmZyb21Mb2NhbENvbnRleHQobG9jYWxDb250ZXh0KTtcblxuICBsb2NhbENvbnRleHQgPSBtZXRhTGV2ZWxMb2NhbENvbnRleHQ7IC8vL1xuXG4gIGNvbnN0IG1ldGFTdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgbWV0YVN1cHBvc2l0aW9uTm9kZXMgPSBtZXRhU3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICBtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zKG1ldGFTdXBwb3NpdGlvbk5vZGVzLCBtZXRhU3VwcG9zaXRpb25zLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhU3ViRGVyaXZhdGlvbk5vZGUgPSBtZXRhU3ViRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24obWV0YVN1YkRlcml2YXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVN1YnByb29mVmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhU3VicHJvb2YiLCJtZXRhU3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm1ldGFTdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YVN1YnByb29mTm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJtZXRhU3VicHJvb2ZWZXJpZmllZCIsIm1ldGFMZXZlbExvY2FsQ29udGV4dCIsIk1ldGFMZXZlbExvY2FsQ29udGV4dCIsImZyb21Mb2NhbENvbnRleHQiLCJtZXRhU3VwcG9zaXRpb25zIiwibWV0YVN1cHBvc2l0aW9uTm9kZXMiLCJtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIiwibWV0YVN1YkRlcml2YXRpb25Ob2RlIiwibWV0YVN1YkRlcml2YXRpb25WZXJpZmllZCIsInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2dFQVRVO3VFQUNDO3dFQUNDO3FCQUVFOzs7Ozs7QUFFdEMsSUFBTUMsNEJBQTRCQyxJQUFBQSxpQkFBVSxFQUFDLGtDQUN2Q0MsNkJBQTZCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTlCLFNBQVNKLG1CQUFtQkssZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsWUFBWTtJQUN0RixJQUFJQyx1QkFBdUI7SUFFM0IsSUFBTUMsd0JBQXdCQyxrQkFBcUIsQ0FBQ0MsZ0JBQWdCLENBQUNKO0lBRXJFQSxlQUFlRSx1QkFBdUIsR0FBRztJQUV6QyxJQUFNRyxtQkFBbUIsRUFBRSxFQUNyQkMsdUJBQXVCWiwwQkFBMEJJLG1CQUNqRFMsMkJBQTJCQyxJQUFBQSx5QkFBc0IsRUFBQ0Ysc0JBQXNCRCxrQkFBa0JOLGVBQWVDO0lBRS9HLElBQUlPLDBCQUEwQjtRQUM1QixJQUFNRSx3QkFBd0JiLDJCQUEyQkUsbUJBQ25EWSw0QkFBNEJDLElBQUFBLDBCQUF1QixFQUFDRix1QkFBdUJWLGVBQWVDO1FBRWhHLElBQUlVLDJCQUEyQjtZQUM3QlQsdUJBQXVCO1FBQ3pCO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUIn0=
|
package/lib/verify/metaproof.js
CHANGED
|
@@ -17,16 +17,16 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!");
|
|
20
|
-
function verifyMetaproof(metaproofNode,
|
|
20
|
+
function verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext) {
|
|
21
21
|
var metaproofVerified = false;
|
|
22
22
|
var metaLevelLocalContext = _metaLevel.default.fromLocalContext(localContext);
|
|
23
23
|
localContext = metaLevelLocalContext; ///
|
|
24
24
|
var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, substitutions, localContext);
|
|
25
25
|
if (metaDerivationVerified) {
|
|
26
|
-
var lastMetaproofStep = localContext.getLastMetaproofStep(),
|
|
27
|
-
metaproofVerified =
|
|
26
|
+
var lastMetaproofStep = localContext.getLastMetaproofStep(), lastMetaproofStepMetastatementNode = lastMetaproofStep.getMetastatementNode(), lastMetastatementNode = lastMetaproofStepMetastatementNode, lastMetastatementNodeMatchesMetastatementNode = lastMetastatementNode.match(metastatementNode);
|
|
27
|
+
metaproofVerified = lastMetastatementNodeMatchesMetastatementNode; ///
|
|
28
28
|
}
|
|
29
29
|
return metaproofVerified;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuaW1wb3J0IE1ldGFMZXZlbExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbC9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhcHJvb2YvbWV0YURlcml2YXRpb24hXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhTGV2ZWxMb2NhbENvbnRleHQgPSBNZXRhTGV2ZWxMb2NhbENvbnRleHQuZnJvbUxvY2FsQ29udGV4dChsb2NhbENvbnRleHQpO1xuXG4gIGxvY2FsQ29udGV4dCA9IG1ldGFMZXZlbExvY2FsQ29udGV4dDsgLy8vXG5cbiAgY29uc3QgbWV0YURlcml2YXRpb25Ob2RlID0gbWV0YURlcml2YXRpb25Ob2RlUXVlcnkobWV0YXByb29mTm9kZSksXG4gICAgICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsYXN0TWV0YXByb29mU3RlcCA9IGxvY2FsQ29udGV4dC5nZXRMYXN0TWV0YXByb29mU3RlcCgpLFxuICAgICAgICAgIGxhc3RNZXRhcHJvb2ZTdGVwTWV0YXN0YXRlbWVudE5vZGUgPSBsYXN0TWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIGxhc3RNZXRhc3RhdGVtZW50Tm9kZSA9IGxhc3RNZXRhcHJvb2ZTdGVwTWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIGxhc3RNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZSA9IGxhc3RNZXRhc3RhdGVtZW50Tm9kZS5tYXRjaChtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IGxhc3RNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFwcm9vZiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXByb29mTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwibWV0YUxldmVsTG9jYWxDb250ZXh0IiwiTWV0YUxldmVsTG9jYWxDb250ZXh0IiwiZnJvbUxvY2FsQ29udGV4dCIsIm1ldGFEZXJpdmF0aW9uTm9kZSIsIm1ldGFEZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhRGVyaXZhdGlvbiIsImxhc3RNZXRhcHJvb2ZTdGVwIiwiZ2V0TGFzdE1ldGFwcm9vZlN0ZXAiLCJsYXN0TWV0YXByb29mU3RlcE1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJsYXN0TWV0YXN0YXRlbWVudE5vZGUiLCJsYXN0TWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7OztxRUFQUztnRUFDQztxQkFFUjs7Ozs7O0FBRTFCLElBQU1DLDBCQUEwQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUzQixTQUFTRixnQkFBZ0JHLGFBQWEsRUFBRUMsaUJBQWlCLEVBQUVDLGFBQWEsRUFBRUMsWUFBWTtJQUNuRyxJQUFJQyxvQkFBb0I7SUFFeEIsSUFBTUMsd0JBQXdCQyxrQkFBcUIsQ0FBQ0MsZ0JBQWdCLENBQUNKO0lBRXJFQSxlQUFlRSx1QkFBdUIsR0FBRztJQUV6QyxJQUFNRyxxQkFBcUJWLHdCQUF3QkUsZ0JBQzdDUyx5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JOLGVBQWVDO0lBRXZGLElBQUlNLHdCQUF3QjtRQUMxQixJQUFNRSxvQkFBb0JSLGFBQWFTLG9CQUFvQixJQUNyREMscUNBQXFDRixrQkFBa0JHLG9CQUFvQixJQUMzRUMsd0JBQXdCRixvQ0FDeEJHLGdEQUFnREQsc0JBQXNCRSxLQUFLLENBQUNoQjtRQUVsRkcsb0JBQW9CWSwrQ0FBZ0QsR0FBRztJQUN6RTtJQUVBLE9BQU9aO0FBQ1QifQ==
|
|
@@ -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/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
|
package/package.json
CHANGED
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),
|
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;
|
|
@@ -43,7 +43,8 @@ export default function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
|
43
43
|
const metaproofNode = metaproofNodeQuery(metatheoremNode),
|
|
44
44
|
firstMetaConsequent = first(metaConsequents),
|
|
45
45
|
metaConsequent = firstMetaConsequent, ///
|
|
46
|
-
|
|
46
|
+
metastatementNode = metaConsequent.getMetastatementNode(),
|
|
47
|
+
metaproofVerified = verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext);
|
|
47
48
|
|
|
48
49
|
if (metaproofVerified) {
|
|
49
50
|
const metatheorem = Metatheorem.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext);
|
package/src/verify/rule.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import Rule from "../rule";
|
|
4
4
|
import verifyLabels from "../verify/labels";
|
|
5
5
|
import verifyPremises from "../verify/premises";
|
|
6
|
-
import
|
|
6
|
+
import verifyMetaproof from "../verify/metaproof";
|
|
7
7
|
import verifyConclusion from "../verify/conclusion";
|
|
8
8
|
import MetaLevelLocalContext from "../context/local/metaLevel";
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
|
12
12
|
|
|
13
13
|
const labelNodesQuery = nodesQuery("/rule/label"),
|
|
14
14
|
premisesNodeQuery = nodesQuery("/rule/premise"),
|
|
15
|
-
|
|
15
|
+
metaproofNodeQuery = nodeQuery("/rule/metaproof!"),
|
|
16
16
|
conclusionNodeQuery = nodeQuery("/rule/conclusion!");
|
|
17
17
|
|
|
18
18
|
export default function verifyRule(ruleNode, fileContext) {
|
|
@@ -39,17 +39,20 @@ export default function verifyRule(ruleNode, fileContext) {
|
|
|
39
39
|
conclusionVerified = verifyConclusion(conclusionNode, conclusions, localContext);
|
|
40
40
|
|
|
41
41
|
if (conclusionVerified) {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
let metaproofVerified = true; ///
|
|
43
|
+
|
|
44
|
+
const firstConclusion = first(conclusions),
|
|
45
|
+
metaproofNode = metaproofNodeQuery(ruleNode),
|
|
44
46
|
conclusion = firstConclusion; ///
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
if (metaproofNode !== null) {
|
|
49
|
+
const substitutions = [],
|
|
50
|
+
metastatementNode = conclusion.getMetastatementNode();
|
|
47
51
|
|
|
48
|
-
|
|
49
|
-
ruleProofVerified = verifyRuleProof(ruleProofNode, conclusion, localContext);
|
|
52
|
+
metaproofVerified = verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext);
|
|
50
53
|
}
|
|
51
54
|
|
|
52
|
-
if (
|
|
55
|
+
if (metaproofVerified) {
|
|
53
56
|
const rule = Rule.fromLabelsPremisesConclusionAndFileContext(labels, premises, conclusion, fileContext);
|
|
54
57
|
|
|
55
58
|
fileContext.addRule(rule);
|
|
@@ -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 verifyRuleDerivation;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _ruleProofStep = /*#__PURE__*/ _interop_require_default(require("../verify/ruleProofStep"));
|
|
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 ruleProofStepNodesQuery = (0, _query.nodesQuery)("/ruleDerivation/ruleProofStep|lastRuleProofStep");
|
|
19
|
-
function verifyRuleDerivation(ruleDerivationNode, localContext) {
|
|
20
|
-
var ruleDerivationVerified;
|
|
21
|
-
var ruleProofStepNodes = ruleProofStepNodesQuery(ruleDerivationNode);
|
|
22
|
-
ruleDerivationVerified = ruleProofStepNodes.every(function(ruleProofStepNode) {
|
|
23
|
-
var ruleProofStepVerified = (0, _ruleProofStep.default)(ruleProofStepNode, localContext);
|
|
24
|
-
if (ruleProofStepVerified) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return ruleDerivationVerified;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlSdWxlUHJvb2ZTdGVwIGZyb20gXCIuLi92ZXJpZnkvcnVsZVByb29mU3RlcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBydWxlUHJvb2ZTdGVwTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZURlcml2YXRpb24vcnVsZVByb29mU3RlcHxsYXN0UnVsZVByb29mU3RlcFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZURlcml2YXRpb24ocnVsZURlcml2YXRpb25Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHJ1bGVEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgcnVsZVByb29mU3RlcE5vZGVzID0gcnVsZVByb29mU3RlcE5vZGVzUXVlcnkocnVsZURlcml2YXRpb25Ob2RlKTtcblxuICBydWxlRGVyaXZhdGlvblZlcmlmaWVkID0gcnVsZVByb29mU3RlcE5vZGVzLmV2ZXJ5KChydWxlUHJvb2ZTdGVwTm9kZSkgPT4ge1xuICAgIGNvbnN0IHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IHZlcmlmeVJ1bGVQcm9vZlN0ZXAocnVsZVByb29mU3RlcE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocnVsZVByb29mU3RlcFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBydWxlRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVJ1bGVEZXJpdmF0aW9uIiwicnVsZVByb29mU3RlcE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicnVsZURlcml2YXRpb25Ob2RlIiwibG9jYWxDb250ZXh0IiwicnVsZURlcml2YXRpb25WZXJpZmllZCIsInJ1bGVQcm9vZlN0ZXBOb2RlcyIsImV2ZXJ5IiwicnVsZVByb29mU3RlcE5vZGUiLCJydWxlUHJvb2ZTdGVwVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlUHJvb2ZTdGVwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O29FQU5RO3FCQUVMOzs7Ozs7QUFFM0IsSUFBTUMsMEJBQTBCQyxJQUFBQSxpQkFBVSxFQUFDO0FBRTVCLFNBQVNGLHFCQUFxQkcsa0JBQWtCLEVBQUVDLFlBQVk7SUFDM0UsSUFBSUM7SUFFSixJQUFNQyxxQkFBcUJMLHdCQUF3QkU7SUFFbkRFLHlCQUF5QkMsbUJBQW1CQyxLQUFLLENBQUMsU0FBQ0M7UUFDakQsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ0YsbUJBQW1CSjtRQUVyRSxJQUFJSyx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPSjtBQUNUIn0=
|
package/lib/verify/ruleProof.js
DELETED
|
@@ -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 verifyRuleProof;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _ruleDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/ruleDerivation"));
|
|
12
|
-
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../context/local/metaLevel"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
var ruleDerivationNodeQuery = (0, _query.nodeQuery)("/ruleProof/ruleDerivation!");
|
|
20
|
-
function verifyRuleProof(ruleProofNode, conclusion, localContext) {
|
|
21
|
-
var ruleProofVerified = false;
|
|
22
|
-
var metaLevelLocalContext = _metaLevel.default.fromLocalContext(localContext);
|
|
23
|
-
localContext = metaLevelLocalContext; ///
|
|
24
|
-
var ruleDerivationNode = ruleDerivationNodeQuery(ruleProofNode), ruleDerivationVerified = (0, _ruleDerivation.default)(ruleDerivationNode, localContext);
|
|
25
|
-
if (ruleDerivationVerified) {
|
|
26
|
-
var lastMetaproofStep = localContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), metastatementNodeMatchConclusionMetastatementNode = metastatementNode.match(conclusionMetastatementNode);
|
|
27
|
-
ruleProofVerified = metastatementNodeMatchConclusionMetastatementNode; ///
|
|
28
|
-
}
|
|
29
|
-
return ruleProofVerified;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5UnVsZURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlRGVyaXZhdGlvblwiO1xuaW1wb3J0IE1ldGFMZXZlbExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbC9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBydWxlRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2YvcnVsZURlcml2YXRpb24hXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlUHJvb2YocnVsZVByb29mTm9kZSwgY29uY2x1c2lvbiwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBydWxlUHJvb2ZWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFMZXZlbExvY2FsQ29udGV4dCA9IE1ldGFMZXZlbExvY2FsQ29udGV4dC5mcm9tTG9jYWxDb250ZXh0KGxvY2FsQ29udGV4dCk7XG5cbiAgbG9jYWxDb250ZXh0ID0gbWV0YUxldmVsTG9jYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBydWxlRGVyaXZhdGlvbk5vZGUgPSBydWxlRGVyaXZhdGlvbk5vZGVRdWVyeShydWxlUHJvb2ZOb2RlKSxcbiAgICAgICAgcnVsZURlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeVJ1bGVEZXJpdmF0aW9uKHJ1bGVEZXJpdmF0aW9uTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAocnVsZURlcml2YXRpb25WZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RNZXRhcHJvb2ZTdGVwID0gbG9jYWxDb250ZXh0LmdldExhc3RNZXRhcHJvb2ZTdGVwKCksXG4gICAgICAgICAgbWV0YXByb29mU3RlcCA9IGxhc3RNZXRhcHJvb2ZTdGVwLCAvLy9cbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uLmdldE1ldGFzdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaENvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLm1hdGNoKGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBydWxlUHJvb2ZWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hDb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBydWxlUHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlUHJvb2YiLCJydWxlRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVQcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwibG9jYWxDb250ZXh0IiwicnVsZVByb29mVmVyaWZpZWQiLCJtZXRhTGV2ZWxMb2NhbENvbnRleHQiLCJNZXRhTGV2ZWxMb2NhbENvbnRleHQiLCJmcm9tTG9jYWxDb250ZXh0IiwicnVsZURlcml2YXRpb25Ob2RlIiwicnVsZURlcml2YXRpb25WZXJpZmllZCIsInZlcmlmeVJ1bGVEZXJpdmF0aW9uIiwibGFzdE1ldGFwcm9vZlN0ZXAiLCJnZXRMYXN0TWV0YXByb29mU3RlcCIsIm1ldGFwcm9vZlN0ZXAiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwiY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaENvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O3FFQVBTO2dFQUNDO3FCQUVSOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTNCLFNBQVNGLGdCQUFnQkcsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFlBQVk7SUFDN0UsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLHdCQUF3QkMsa0JBQXFCLENBQUNDLGdCQUFnQixDQUFDSjtJQUVyRUEsZUFBZUUsdUJBQXVCLEdBQUc7SUFFekMsSUFBTUcscUJBQXFCVCx3QkFBd0JFLGdCQUM3Q1EseUJBQXlCQyxJQUFBQSx1QkFBb0IsRUFBQ0Ysb0JBQW9CTDtJQUV4RSxJQUFJTSx3QkFBd0I7UUFDMUIsSUFBTUUsb0JBQW9CUixhQUFhUyxvQkFBb0IsSUFDckRDLGdCQUFnQkYsbUJBQ2hCRyxvQkFBb0JELGNBQWNFLG9CQUFvQixJQUN0REMsOEJBQThCZCxXQUFXYSxvQkFBb0IsSUFDN0RFLG9EQUFvREgsa0JBQWtCSSxLQUFLLENBQUNGO1FBRWxGWixvQkFBb0JhLG1EQUFvRCxHQUFHO0lBQzdFO0lBRUEsT0FBT2I7QUFDVCJ9
|
|
@@ -1,98 +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 verifyRuleProofStep;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _metaproof = /*#__PURE__*/ _interop_require_default(require("../step/metaproof"));
|
|
12
|
-
var _ruleSubproof = /*#__PURE__*/ _interop_require_default(require("../verify/ruleSubproof"));
|
|
13
|
-
var _ruleSubDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/ruleSubDerivation"));
|
|
14
|
-
var _qualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/qualified"));
|
|
15
|
-
var _unqualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/unqualified"));
|
|
16
|
-
var _qualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/qualified"));
|
|
17
|
-
var _unqualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/unqualified"));
|
|
18
|
-
var _query = require("../utilities/query");
|
|
19
|
-
var _assignments = require("../utilities/assignments");
|
|
20
|
-
function _interop_require_default(obj) {
|
|
21
|
-
return obj && obj.__esModule ? obj : {
|
|
22
|
-
default: obj
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement|unqualifiedStatement/statement!"), ruleSubproofNodeQuery = (0, _query.nodeQuery)("/ruleProofStep|lastRuleProofStep/ruleSubproof!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/ruleProofStep|lastRuleProofStep/qualifiedStatement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/ruleProofStep|lastRuleProofStep/unqualifiedStatement!"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/ruleProofStep|lastRuleProofStep/qualifiedMetastatement!"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/ruleProofStep|lastRuleProofStep/unqualifiedMetastatement!");
|
|
26
|
-
function verifyRuleProofStep(ruleProofStepNode, localContext) {
|
|
27
|
-
var ruleProofStepVerified = false;
|
|
28
|
-
var ruleSubproofNode = ruleSubproofNodeQuery(ruleProofStepNode), qualifiedStatementNode = qualifiedStatementNodeQuery(ruleProofStepNode), unqualifiedStatementNode = unqualifiedStatementNodeQuery(ruleProofStepNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(ruleProofStepNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(ruleProofStepNode);
|
|
29
|
-
if (false) {
|
|
30
|
-
///
|
|
31
|
-
} else if (ruleSubproofNode !== null) {
|
|
32
|
-
var ruleSubproofVerified;
|
|
33
|
-
ruleSubproofVerified = (0, _ruleSubproof.default)(ruleSubproofNode, localContext);
|
|
34
|
-
if (ruleSubproofVerified) {
|
|
35
|
-
var metaproofStep = _metaproof.default.fromRuleSubproofNode(ruleSubproofNode);
|
|
36
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
37
|
-
ruleProofStepVerified = true;
|
|
38
|
-
}
|
|
39
|
-
} else if (qualifiedStatementNode !== null) {
|
|
40
|
-
var qualifiedStatementVerified;
|
|
41
|
-
var assignments = [];
|
|
42
|
-
qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, assignments, localContext);
|
|
43
|
-
if (qualifiedStatementVerified) {
|
|
44
|
-
var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
|
|
45
|
-
qualifiedStatementVerified = assignmentAssigned; ///
|
|
46
|
-
}
|
|
47
|
-
if (qualifiedStatementVerified) {
|
|
48
|
-
var statementNode = statementNodeQuery(qualifiedStatementNode), metaproofStep1 = _metaproof.default.fromStatementNode(statementNode);
|
|
49
|
-
localContext.addMetaproofStep(metaproofStep1);
|
|
50
|
-
ruleProofStepVerified = true;
|
|
51
|
-
}
|
|
52
|
-
} else if (unqualifiedStatementNode !== null) {
|
|
53
|
-
var unqualifiedStatementVerified;
|
|
54
|
-
var derived = true, assignments1 = [];
|
|
55
|
-
unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments1, derived, localContext);
|
|
56
|
-
if (unqualifiedStatementVerified) {
|
|
57
|
-
var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext);
|
|
58
|
-
unqualifiedStatementVerified = assignmentAssigned1; ///
|
|
59
|
-
}
|
|
60
|
-
if (unqualifiedStatementVerified) {
|
|
61
|
-
var statementNode1 = statementNodeQuery(unqualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
|
|
62
|
-
localContext.addMetaproofStep(metaproofStep2);
|
|
63
|
-
ruleProofStepVerified = unqualifiedStatementVerified; ///
|
|
64
|
-
}
|
|
65
|
-
} else if (qualifiedMetastatementNode !== null) {
|
|
66
|
-
var qualifiedMetastatementVerified;
|
|
67
|
-
var assignments2 = [], substitutions = null;
|
|
68
|
-
qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions, assignments2, localContext);
|
|
69
|
-
if (qualifiedMetastatementVerified) {
|
|
70
|
-
var assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext);
|
|
71
|
-
qualifiedMetastatementVerified = assignmentAssigned2; ///
|
|
72
|
-
}
|
|
73
|
-
if (qualifiedMetastatementVerified) {
|
|
74
|
-
var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode);
|
|
75
|
-
localContext.addMetaproofStep(metaproofStep3);
|
|
76
|
-
ruleProofStepVerified = qualifiedMetastatementVerified; ///
|
|
77
|
-
}
|
|
78
|
-
} else if (unqualifiedMetastatementNode !== null) {
|
|
79
|
-
var unqualifiedMetastatementVerified;
|
|
80
|
-
var derived1 = true, assignments3 = [];
|
|
81
|
-
unqualifiedMetastatementVerified = (0, _unqualified1.default)(unqualifiedMetastatementNode, assignments3, derived1, localContext);
|
|
82
|
-
if (unqualifiedMetastatementVerified) {
|
|
83
|
-
var assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext);
|
|
84
|
-
unqualifiedMetastatementVerified = assignmentAssigned3; ///
|
|
85
|
-
}
|
|
86
|
-
if (unqualifiedMetastatementVerified) {
|
|
87
|
-
var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep4 = _metaproof.default.fromMetastatementNode(metastatementNode1);
|
|
88
|
-
localContext.addMetaproofStep(metaproofStep4);
|
|
89
|
-
ruleProofStepVerified = true;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return ruleProofStepVerified;
|
|
93
|
-
}
|
|
94
|
-
Object.assign(_ruleSubDerivation.default, {
|
|
95
|
-
verifyRuleProofStep: verifyRuleProofStep
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvcnVsZVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudHx1bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgcnVsZVN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvcnVsZVN1YnByb29mIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVByb29mU3RlcHxsYXN0UnVsZVByb29mU3RlcC9xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVByb29mU3RlcHxsYXN0UnVsZVByb29mU3RlcC91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvcXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVByb29mU3RlcHxsYXN0UnVsZVByb29mU3RlcC91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlUHJvb2ZTdGVwKHJ1bGVQcm9vZlN0ZXBOb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVTdWJwcm9vZk5vZGUgPSBydWxlU3VicHJvb2ZOb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHJ1bGVQcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHJ1bGVQcm9vZlN0ZXBOb2RlKTtcblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmIChydWxlU3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHJ1bGVTdWJwcm9vZlZlcmlmaWVkO1xuXG4gICAgcnVsZVN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlSdWxlU3VicHJvb2YocnVsZVN1YnByb29mTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChydWxlU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVJ1bGVTdWJwcm9vZk5vZGUocnVsZVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgIGFzc2lnbm1lbnRzID0gW107XG5cbiAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICB9XG4gIH0gZWxzZSBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gbnVsbDtcblxuICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBydWxlUHJvb2ZTdGVwVmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24odmVyaWZ5UnVsZVN1YkRlcml2YXRpb24sIHtcbiAgdmVyaWZ5UnVsZVByb29mU3RlcFxufSk7XG4iXSwibmFtZXMiOlsidmVyaWZ5UnVsZVByb29mU3RlcCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVTdWJwcm9vZk5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJydWxlUHJvb2ZTdGVwTm9kZSIsImxvY2FsQ29udGV4dCIsInJ1bGVQcm9vZlN0ZXBWZXJpZmllZCIsInJ1bGVTdWJwcm9vZk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwicnVsZVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlU3VicHJvb2YiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21SdWxlU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHMiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInZlcmlmeVJ1bGVTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxQkE7OztlQUF3QkE7OztnRUFuQkU7bUVBQ0s7d0VBQ0s7Z0VBQ0M7a0VBQ0U7aUVBQ0U7bUVBQ0U7cUJBRWpCOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHdEQUMvQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDLG1EQUNsQ0UseUJBQXlCRixJQUFBQSxnQkFBUyxFQUFDLG9FQUNuQ0csOEJBQThCSCxJQUFBQSxnQkFBUyxFQUFDLHlEQUN4Q0ksZ0NBQWdDSixJQUFBQSxnQkFBUyxFQUFDLDJEQUMxQ0ssa0NBQWtDTCxJQUFBQSxnQkFBUyxFQUFDLDZEQUM1Q00sb0NBQW9DTixJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNGLG9CQUFvQlMsaUJBQWlCLEVBQUVDLFlBQVk7SUFDekUsSUFBSUMsd0JBQXdCO0lBRTVCLElBQU1DLG1CQUFtQlQsc0JBQXNCTSxvQkFDekNJLHlCQUF5QlIsNEJBQTRCSSxvQkFDckRLLDJCQUEyQlIsOEJBQThCRyxvQkFDekRNLDZCQUE2QlIsZ0NBQWdDRSxvQkFDN0RPLCtCQUErQlIsa0NBQWtDQztJQUV2RSxJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJRyxxQkFBcUIsTUFBTTtRQUNwQyxJQUFJSztRQUVKQSx1QkFBdUJDLElBQUFBLHFCQUFrQixFQUFDTixrQkFBa0JGO1FBRTVELElBQUlPLHNCQUFzQjtZQUN4QixJQUFNRSxnQkFBZ0JDLGtCQUFhLENBQUNDLG9CQUFvQixDQUFDVDtZQUV6REYsYUFBYVksZ0JBQWdCLENBQUNIO1lBRTlCUix3QkFBd0I7UUFDMUI7SUFDRixPQUFPLElBQUlFLDJCQUEyQixNQUFNO1FBQzFDLElBQUlVO1FBRUosSUFBTUMsY0FBYyxFQUFFO1FBRXRCRCw2QkFBNkJFLElBQUFBLGtCQUF3QixFQUFDWix3QkFBd0JXLGFBQWFkO1FBRTNGLElBQUlhLDRCQUE0QjtZQUM5QixJQUFNRyxxQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSCxhQUFhZDtZQUV6RGEsNkJBQTZCRyxvQkFBb0IsR0FBRztRQUN0RDtRQUVBLElBQUlILDRCQUE0QjtZQUM5QixJQUFNSyxnQkFBZ0IzQixtQkFBbUJZLHlCQUNuQ00saUJBQWdCQyxrQkFBYSxDQUFDUyxpQkFBaUIsQ0FBQ0Q7WUFFdERsQixhQUFhWSxnQkFBZ0IsQ0FBQ0g7WUFFOUJSLHdCQUF3QjtRQUMxQjtJQUNGLE9BQU8sSUFBSUcsNkJBQTZCLE1BQU07UUFDNUMsSUFBSWdCO1FBRUosSUFBTUMsVUFBVSxNQUNWUCxlQUFjLEVBQUU7UUFFdEJNLCtCQUErQkUsSUFBQUEsb0JBQTBCLEVBQUNsQiwwQkFBMEJVLGNBQWFPLFNBQVNyQjtRQUUxRyxJQUFJb0IsOEJBQThCO1lBQ2hDLElBQU1KLHNCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNILGNBQWFkO1lBRXpEb0IsK0JBQStCSixxQkFBb0IsR0FBRztRQUN4RDtRQUVBLElBQUlJLDhCQUE4QjtZQUNoQyxJQUFNRixpQkFBZ0IzQixtQkFBbUJhLDJCQUNuQ0ssaUJBQWdCQyxrQkFBYSxDQUFDUyxpQkFBaUIsQ0FBQ0Q7WUFFdERsQixhQUFhWSxnQkFBZ0IsQ0FBQ0g7WUFFOUJSLHdCQUF3Qm1CLDhCQUE4QixHQUFHO1FBQzNEO0lBQ0YsT0FBTyxJQUFJZiwrQkFBK0IsTUFBTTtRQUM5QyxJQUFJa0I7UUFFSixJQUFNVCxlQUFjLEVBQUUsRUFDaEJVLGdCQUFnQjtRQUV0QkQsaUNBQWlDRSxJQUFBQSxtQkFBNEIsRUFBQ3BCLDRCQUE0Qm1CLGVBQWVWLGNBQWFkO1FBRXRILElBQUl1QixnQ0FBZ0M7WUFDbEMsSUFBTVAsc0JBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0gsY0FBYWQ7WUFFekR1QixpQ0FBaUNQLHFCQUFvQixHQUFHO1FBQzFEO1FBRUEsSUFBSU8sZ0NBQWdDO1lBQ2xDLElBQU1HLG9CQUFvQmhDLHVCQUF1QlcsNkJBQzNDSSxpQkFBZ0JDLGtCQUFhLENBQUNpQixxQkFBcUIsQ0FBQ0Q7WUFFMUQxQixhQUFhWSxnQkFBZ0IsQ0FBQ0g7WUFFOUJSLHdCQUF3QnNCLGdDQUFnQyxHQUFHO1FBQzdEO0lBQ0YsT0FBTyxJQUFJakIsaUNBQWlDLE1BQU07UUFDaEQsSUFBSXNCO1FBRUosSUFBTVAsV0FBVSxNQUNWUCxlQUFjLEVBQUU7UUFFdEJjLG1DQUFtQ0MsSUFBQUEscUJBQThCLEVBQUN2Qiw4QkFBOEJRLGNBQWFPLFVBQVNyQjtRQUV0SCxJQUFJNEIsa0NBQWtDO1lBQ3BDLElBQU1aLHNCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNILGNBQWFkO1lBRXpENEIsbUNBQW1DWixxQkFBb0IsR0FBRztRQUM1RDtRQUVBLElBQUlZLGtDQUFrQztZQUNwQyxJQUFNRixxQkFBb0JoQyx1QkFBdUJZLCtCQUMzQ0csaUJBQWdCQyxrQkFBYSxDQUFDaUIscUJBQXFCLENBQUNEO1lBRTFEMUIsYUFBYVksZ0JBQWdCLENBQUNIO1lBRTlCUix3QkFBd0I7UUFDMUI7SUFDRjtJQUVBLE9BQU9BO0FBQ1Q7QUFFQTZCLE9BQU9DLE1BQU0sQ0FBQ0MsMEJBQXVCLEVBQUU7SUFDckMxQyxxQkFBQUE7QUFDRiJ9
|
|
@@ -1,25 +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 verifyRuleSubDerivation;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _query = require("../utilities/query");
|
|
12
|
-
var ruleProofStepNodesQuery = (0, _query.nodesQuery)("/ruleSubDerivation/ruleProofStep|lastRuleProofStep");
|
|
13
|
-
function verifyRuleSubDerivation(ruleSubDerivationNode, localContext) {
|
|
14
|
-
var ruleSubDerivationVerified;
|
|
15
|
-
var ruleProofStepNodes = ruleProofStepNodesQuery(ruleSubDerivationNode);
|
|
16
|
-
ruleSubDerivationVerified = ruleProofStepNodes.every(function(ruleProofStepNode) {
|
|
17
|
-
var verifyRuleProofStep = verifyRuleSubDerivation.verifyRuleProofStep, ruleProofStepVerified = verifyRuleProofStep(ruleProofStepNode, localContext);
|
|
18
|
-
if (ruleProofStepVerified) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
return ruleSubDerivationVerified;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVN1YkRlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHJ1bGVQcm9vZlN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlU3ViRGVyaXZhdGlvbi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbihydWxlU3ViRGVyaXZhdGlvbk5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcnVsZVN1YkRlcml2YXRpb25WZXJpZmllZDtcblxuICBjb25zdCBydWxlUHJvb2ZTdGVwTm9kZXMgPSBydWxlUHJvb2ZTdGVwTm9kZXNRdWVyeShydWxlU3ViRGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSBydWxlUHJvb2ZTdGVwTm9kZXMuZXZlcnkoKHJ1bGVQcm9vZlN0ZXBOb2RlKSA9PiB7XG4gICAgY29uc3QgeyB2ZXJpZnlSdWxlUHJvb2ZTdGVwIH0gPSB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbixcbiAgICAgICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB2ZXJpZnlSdWxlUHJvb2ZTdGVwKHJ1bGVQcm9vZlN0ZXBOb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcnVsZVN1YkRlcml2YXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiIsInJ1bGVQcm9vZlN0ZXBOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInJ1bGVTdWJEZXJpdmF0aW9uTm9kZSIsImxvY2FsQ29udGV4dCIsInJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQiLCJydWxlUHJvb2ZTdGVwTm9kZXMiLCJldmVyeSIsInJ1bGVQcm9vZlN0ZXBOb2RlIiwidmVyaWZ5UnVsZVByb29mU3RlcCIsInJ1bGVQcm9vZlN0ZXBWZXJpZmllZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OztxQkFKRztBQUUzQixJQUFNQywwQkFBMEJDLElBQUFBLGlCQUFVLEVBQUM7QUFFNUIsU0FBU0Ysd0JBQXdCRyxxQkFBcUIsRUFBRUMsWUFBWTtJQUNqRixJQUFJQztJQUVKLElBQU1DLHFCQUFxQkwsd0JBQXdCRTtJQUVuREUsNEJBQTRCQyxtQkFBbUJDLEtBQUssQ0FBQyxTQUFDQztRQUNwRCxJQUFNLEFBQUVDLHNCQUF3QlQsd0JBQXhCUyxxQkFDRkMsd0JBQXdCRCxvQkFBb0JELG1CQUFtQko7UUFFckUsSUFBSU0sdUJBQXVCO1lBQ3pCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVCJ9
|
|
@@ -1,35 +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 verifyRuleSubproof;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _premises = /*#__PURE__*/ _interop_require_default(require("../verify/premises"));
|
|
12
|
-
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../context/local/metaLevel"));
|
|
13
|
-
var _ruleSubDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/ruleSubDerivation"));
|
|
14
|
-
var _query = require("../utilities/query");
|
|
15
|
-
function _interop_require_default(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
var premiseNodesQuery = (0, _query.nodesQuery)("/ruleSubproof/premise"), ruleSubDerivationNodeQuery = (0, _query.nodeQuery)("/ruleSubproof/ruleSubDerivation");
|
|
21
|
-
function verifyRuleSubproof(ruleSubproofNode, localContext) {
|
|
22
|
-
var ruleSubproofVerified = false;
|
|
23
|
-
var metaLevelLocalContext = _metaLevel.default.fromLocalContext(localContext);
|
|
24
|
-
localContext = metaLevelLocalContext; ///
|
|
25
|
-
var premises = [], premiseNodes = premiseNodesQuery(ruleSubproofNode), premisesVerified = (0, _premises.default)(premiseNodes, premises, localContext);
|
|
26
|
-
if (premisesVerified) {
|
|
27
|
-
var ruleSubDerivationNode = ruleSubDerivationNodeQuery(ruleSubproofNode), ruleSubDerivationVerified = (0, _ruleSubDerivation.default)(ruleSubDerivationNode, localContext);
|
|
28
|
-
if (ruleSubDerivationVerified) {
|
|
29
|
-
ruleSubproofVerified = true;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return ruleSubproofVerified;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVN1YnByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5UHJlbWlzZXMgZnJvbSBcIi4uL3ZlcmlmeS9wcmVtaXNlc1wiO1xuaW1wb3J0IE1ldGFMZXZlbExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbC9tZXRhTGV2ZWxcIjtcbmltcG9ydCB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3J1bGVTdWJEZXJpdmF0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcHJlbWlzZU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVTdWJwcm9vZi9wcmVtaXNlXCIpLFxuICAgICAgcnVsZVN1YkRlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVN1YnByb29mL3J1bGVTdWJEZXJpdmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlU3VicHJvb2YocnVsZVN1YnByb29mTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBydWxlU3VicHJvb2ZWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFMZXZlbExvY2FsQ29udGV4dCA9IE1ldGFMZXZlbExvY2FsQ29udGV4dC5mcm9tTG9jYWxDb250ZXh0KGxvY2FsQ29udGV4dCk7XG5cbiAgbG9jYWxDb250ZXh0ID0gbWV0YUxldmVsTG9jYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBwcmVtaXNlcyA9IFtdLFxuICAgICAgICBwcmVtaXNlTm9kZXMgPSBwcmVtaXNlTm9kZXNRdWVyeShydWxlU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgcHJlbWlzZXNWZXJpZmllZCA9IHZlcmlmeVByZW1pc2VzKHByZW1pc2VOb2RlcywgcHJlbWlzZXMsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKHByZW1pc2VzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBydWxlU3ViRGVyaXZhdGlvbk5vZGUgPSBydWxlU3ViRGVyaXZhdGlvbk5vZGVRdWVyeShydWxlU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICBydWxlU3ViRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5UnVsZVN1YkRlcml2YXRpb24ocnVsZVN1YkRlcml2YXRpb25Ob2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJ1bGVTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcnVsZVN1YnByb29mVmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlU3VicHJvb2YiLCJwcmVtaXNlTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJydWxlU3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVTdWJwcm9vZk5vZGUiLCJsb2NhbENvbnRleHQiLCJydWxlU3VicHJvb2ZWZXJpZmllZCIsIm1ldGFMZXZlbExvY2FsQ29udGV4dCIsIk1ldGFMZXZlbExvY2FsQ29udGV4dCIsImZyb21Mb2NhbENvbnRleHQiLCJwcmVtaXNlcyIsInByZW1pc2VOb2RlcyIsInByZW1pc2VzVmVyaWZpZWQiLCJ2ZXJpZnlQcmVtaXNlcyIsInJ1bGVTdWJEZXJpdmF0aW9uTm9kZSIsInJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsrREFURztnRUFDTzt3RUFDRTtxQkFFRTs7Ozs7O0FBRXRDLElBQU1DLG9CQUFvQkMsSUFBQUEsaUJBQVUsRUFBQywwQkFDL0JDLDZCQUE2QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUU5QixTQUFTSixtQkFBbUJLLGdCQUFnQixFQUFFQyxZQUFZO0lBQ3ZFLElBQUlDLHVCQUF1QjtJQUUzQixJQUFNQyx3QkFBd0JDLGtCQUFxQixDQUFDQyxnQkFBZ0IsQ0FBQ0o7SUFFckVBLGVBQWVFLHVCQUF1QixHQUFHO0lBRXpDLElBQU1HLFdBQVcsRUFBRSxFQUNiQyxlQUFlWCxrQkFBa0JJLG1CQUNqQ1EsbUJBQW1CQyxJQUFBQSxpQkFBYyxFQUFDRixjQUFjRCxVQUFVTDtJQUVoRSxJQUFJTyxrQkFBa0I7UUFDcEIsSUFBTUUsd0JBQXdCWiwyQkFBMkJFLG1CQUNuRFcsNEJBQTRCQyxJQUFBQSwwQkFBdUIsRUFBQ0YsdUJBQXVCVDtRQUVqRixJQUFJVSwyQkFBMkI7WUFDN0JULHVCQUF1QjtRQUN6QjtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyRuleProofStep from "../verify/ruleProofStep";
|
|
4
|
-
|
|
5
|
-
import { nodesQuery } from "../utilities/query";
|
|
6
|
-
|
|
7
|
-
const ruleProofStepNodesQuery = nodesQuery("/ruleDerivation/ruleProofStep|lastRuleProofStep");
|
|
8
|
-
|
|
9
|
-
export default function verifyRuleDerivation(ruleDerivationNode, localContext) {
|
|
10
|
-
let ruleDerivationVerified;
|
|
11
|
-
|
|
12
|
-
const ruleProofStepNodes = ruleProofStepNodesQuery(ruleDerivationNode);
|
|
13
|
-
|
|
14
|
-
ruleDerivationVerified = ruleProofStepNodes.every((ruleProofStepNode) => {
|
|
15
|
-
const ruleProofStepVerified = verifyRuleProofStep(ruleProofStepNode, localContext);
|
|
16
|
-
|
|
17
|
-
if (ruleProofStepVerified) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return ruleDerivationVerified;
|
|
23
|
-
}
|
package/src/verify/ruleProof.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyRuleDerivation from "../verify/ruleDerivation";
|
|
4
|
-
import MetaLevelLocalContext from "../context/local/metaLevel";
|
|
5
|
-
|
|
6
|
-
import { nodeQuery } from "../utilities/query";
|
|
7
|
-
|
|
8
|
-
const ruleDerivationNodeQuery = nodeQuery("/ruleProof/ruleDerivation!");
|
|
9
|
-
|
|
10
|
-
export default function verifyRuleProof(ruleProofNode, conclusion, localContext) {
|
|
11
|
-
let ruleProofVerified = false;
|
|
12
|
-
|
|
13
|
-
const metaLevelLocalContext = MetaLevelLocalContext.fromLocalContext(localContext);
|
|
14
|
-
|
|
15
|
-
localContext = metaLevelLocalContext; ///
|
|
16
|
-
|
|
17
|
-
const ruleDerivationNode = ruleDerivationNodeQuery(ruleProofNode),
|
|
18
|
-
ruleDerivationVerified = verifyRuleDerivation(ruleDerivationNode, localContext);
|
|
19
|
-
|
|
20
|
-
if (ruleDerivationVerified) {
|
|
21
|
-
const lastMetaproofStep = localContext.getLastMetaproofStep(),
|
|
22
|
-
metaproofStep = lastMetaproofStep, ///
|
|
23
|
-
metastatementNode = metaproofStep.getMetastatementNode(),
|
|
24
|
-
conclusionMetastatementNode = conclusion.getMetastatementNode(),
|
|
25
|
-
metastatementNodeMatchConclusionMetastatementNode = metastatementNode.match(conclusionMetastatementNode);
|
|
26
|
-
|
|
27
|
-
ruleProofVerified = metastatementNodeMatchConclusionMetastatementNode; ///
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return ruleProofVerified;
|
|
31
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import MetaproofStep from "../step/metaproof";
|
|
4
|
-
import verifyRuleSubproof from "../verify/ruleSubproof";
|
|
5
|
-
import verifyRuleSubDerivation from "../verify/ruleSubDerivation";
|
|
6
|
-
import verifyQualifiedStatement from "../verify/statement/qualified";
|
|
7
|
-
import verifyUnqualifiedStatement from "../verify/statement/unqualified";
|
|
8
|
-
import verifyQualifiedMetastatement from "../verify/metastatement/qualified";
|
|
9
|
-
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
10
|
-
|
|
11
|
-
import { nodeQuery } from "../utilities/query";
|
|
12
|
-
import { assignAssignment } from "../utilities/assignments";
|
|
13
|
-
|
|
14
|
-
const statementNodeQuery = nodeQuery("/qualifiedStatement|unqualifiedStatement/statement!"),
|
|
15
|
-
ruleSubproofNodeQuery = nodeQuery("/ruleProofStep|lastRuleProofStep/ruleSubproof!"),
|
|
16
|
-
metastatementNodeQuery = nodeQuery("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!"),
|
|
17
|
-
qualifiedStatementNodeQuery = nodeQuery("/ruleProofStep|lastRuleProofStep/qualifiedStatement!"),
|
|
18
|
-
unqualifiedStatementNodeQuery = nodeQuery("/ruleProofStep|lastRuleProofStep/unqualifiedStatement!"),
|
|
19
|
-
qualifiedMetastatementNodeQuery = nodeQuery("/ruleProofStep|lastRuleProofStep/qualifiedMetastatement!"),
|
|
20
|
-
unqualifiedMetastatementNodeQuery = nodeQuery("/ruleProofStep|lastRuleProofStep/unqualifiedMetastatement!");
|
|
21
|
-
|
|
22
|
-
export default function verifyRuleProofStep(ruleProofStepNode, localContext) {
|
|
23
|
-
let ruleProofStepVerified = false;
|
|
24
|
-
|
|
25
|
-
const ruleSubproofNode = ruleSubproofNodeQuery(ruleProofStepNode),
|
|
26
|
-
qualifiedStatementNode = qualifiedStatementNodeQuery(ruleProofStepNode),
|
|
27
|
-
unqualifiedStatementNode = unqualifiedStatementNodeQuery(ruleProofStepNode),
|
|
28
|
-
qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(ruleProofStepNode),
|
|
29
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(ruleProofStepNode);
|
|
30
|
-
|
|
31
|
-
if (false) {
|
|
32
|
-
///
|
|
33
|
-
} else if (ruleSubproofNode !== null) {
|
|
34
|
-
let ruleSubproofVerified;
|
|
35
|
-
|
|
36
|
-
ruleSubproofVerified = verifyRuleSubproof(ruleSubproofNode, localContext);
|
|
37
|
-
|
|
38
|
-
if (ruleSubproofVerified) {
|
|
39
|
-
const metaproofStep = MetaproofStep.fromRuleSubproofNode(ruleSubproofNode);
|
|
40
|
-
|
|
41
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
42
|
-
|
|
43
|
-
ruleProofStepVerified = true;
|
|
44
|
-
}
|
|
45
|
-
} else if (qualifiedStatementNode !== null) {
|
|
46
|
-
let qualifiedStatementVerified;
|
|
47
|
-
|
|
48
|
-
const assignments = [];
|
|
49
|
-
|
|
50
|
-
qualifiedStatementVerified = verifyQualifiedStatement(qualifiedStatementNode, assignments, localContext);
|
|
51
|
-
|
|
52
|
-
if (qualifiedStatementVerified) {
|
|
53
|
-
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
54
|
-
|
|
55
|
-
qualifiedStatementVerified = assignmentAssigned; ///
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (qualifiedStatementVerified) {
|
|
59
|
-
const statementNode = statementNodeQuery(qualifiedStatementNode),
|
|
60
|
-
metaproofStep = MetaproofStep.fromStatementNode(statementNode);
|
|
61
|
-
|
|
62
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
63
|
-
|
|
64
|
-
ruleProofStepVerified = true;
|
|
65
|
-
}
|
|
66
|
-
} else if (unqualifiedStatementNode !== null) {
|
|
67
|
-
let unqualifiedStatementVerified;
|
|
68
|
-
|
|
69
|
-
const derived = true,
|
|
70
|
-
assignments = [];
|
|
71
|
-
|
|
72
|
-
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
73
|
-
|
|
74
|
-
if (unqualifiedStatementVerified) {
|
|
75
|
-
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
76
|
-
|
|
77
|
-
unqualifiedStatementVerified = assignmentAssigned; ///
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (unqualifiedStatementVerified) {
|
|
81
|
-
const statementNode = statementNodeQuery(unqualifiedStatementNode),
|
|
82
|
-
metaproofStep = MetaproofStep.fromStatementNode(statementNode);
|
|
83
|
-
|
|
84
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
85
|
-
|
|
86
|
-
ruleProofStepVerified = unqualifiedStatementVerified; ///
|
|
87
|
-
}
|
|
88
|
-
} else if (qualifiedMetastatementNode !== null) {
|
|
89
|
-
let qualifiedMetastatementVerified;
|
|
90
|
-
|
|
91
|
-
const assignments = [],
|
|
92
|
-
substitutions = null;
|
|
93
|
-
|
|
94
|
-
qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localContext);
|
|
95
|
-
|
|
96
|
-
if (qualifiedMetastatementVerified) {
|
|
97
|
-
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
98
|
-
|
|
99
|
-
qualifiedMetastatementVerified = assignmentAssigned; ///
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
if (qualifiedMetastatementVerified) {
|
|
103
|
-
const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
|
|
104
|
-
metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
|
|
105
|
-
|
|
106
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
107
|
-
|
|
108
|
-
ruleProofStepVerified = qualifiedMetastatementVerified; ///
|
|
109
|
-
}
|
|
110
|
-
} else if (unqualifiedMetastatementNode !== null) {
|
|
111
|
-
let unqualifiedMetastatementVerified;
|
|
112
|
-
|
|
113
|
-
const derived = true,
|
|
114
|
-
assignments = [];
|
|
115
|
-
|
|
116
|
-
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
|
|
117
|
-
|
|
118
|
-
if (unqualifiedMetastatementVerified) {
|
|
119
|
-
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
120
|
-
|
|
121
|
-
unqualifiedMetastatementVerified = assignmentAssigned; ///
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
if (unqualifiedMetastatementVerified) {
|
|
125
|
-
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
|
|
126
|
-
metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
|
|
127
|
-
|
|
128
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
129
|
-
|
|
130
|
-
ruleProofStepVerified = true;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return ruleProofStepVerified;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
Object.assign(verifyRuleSubDerivation, {
|
|
138
|
-
verifyRuleProofStep
|
|
139
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { nodesQuery } from "../utilities/query";
|
|
4
|
-
|
|
5
|
-
const ruleProofStepNodesQuery = nodesQuery("/ruleSubDerivation/ruleProofStep|lastRuleProofStep");
|
|
6
|
-
|
|
7
|
-
export default function verifyRuleSubDerivation(ruleSubDerivationNode, localContext) {
|
|
8
|
-
let ruleSubDerivationVerified;
|
|
9
|
-
|
|
10
|
-
const ruleProofStepNodes = ruleProofStepNodesQuery(ruleSubDerivationNode);
|
|
11
|
-
|
|
12
|
-
ruleSubDerivationVerified = ruleProofStepNodes.every((ruleProofStepNode) => {
|
|
13
|
-
const { verifyRuleProofStep } = verifyRuleSubDerivation,
|
|
14
|
-
ruleProofStepVerified = verifyRuleProofStep(ruleProofStepNode, localContext);
|
|
15
|
-
|
|
16
|
-
if (ruleProofStepVerified) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
return ruleSubDerivationVerified;
|
|
22
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyPremises from "../verify/premises";
|
|
4
|
-
import MetaLevelLocalContext from "../context/local/metaLevel";
|
|
5
|
-
import verifyRuleSubDerivation from "../verify/ruleSubDerivation";
|
|
6
|
-
|
|
7
|
-
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
8
|
-
|
|
9
|
-
const premiseNodesQuery = nodesQuery("/ruleSubproof/premise"),
|
|
10
|
-
ruleSubDerivationNodeQuery = nodeQuery("/ruleSubproof/ruleSubDerivation");
|
|
11
|
-
|
|
12
|
-
export default function verifyRuleSubproof(ruleSubproofNode, localContext) {
|
|
13
|
-
let ruleSubproofVerified = false;
|
|
14
|
-
|
|
15
|
-
const metaLevelLocalContext = MetaLevelLocalContext.fromLocalContext(localContext);
|
|
16
|
-
|
|
17
|
-
localContext = metaLevelLocalContext; ///
|
|
18
|
-
|
|
19
|
-
const premises = [],
|
|
20
|
-
premiseNodes = premiseNodesQuery(ruleSubproofNode),
|
|
21
|
-
premisesVerified = verifyPremises(premiseNodes, premises, localContext);
|
|
22
|
-
|
|
23
|
-
if (premisesVerified) {
|
|
24
|
-
const ruleSubDerivationNode = ruleSubDerivationNodeQuery(ruleSubproofNode),
|
|
25
|
-
ruleSubDerivationVerified = verifyRuleSubDerivation(ruleSubDerivationNode, localContext);
|
|
26
|
-
|
|
27
|
-
if (ruleSubDerivationVerified) {
|
|
28
|
-
ruleSubproofVerified = true;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return ruleSubproofVerified;
|
|
33
|
-
}
|
|
34
|
-
|