occam-verify-cli 0.0.882 → 0.0.884
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/axiomLemmaTheoremConjecture.js +7 -7
- package/lib/context/file.js +17 -17
- package/lib/label.js +13 -13
- package/lib/metaLemmaMetatheorem.js +7 -7
- package/lib/premise.js +8 -8
- package/lib/rule.js +7 -7
- package/lib/step/metaproof.js +2 -2
- package/lib/verify/axiom.js +4 -4
- package/lib/verify/conjecture.js +4 -4
- package/lib/verify/label.js +9 -7
- package/lib/verify/labels.js +8 -15
- package/lib/verify/lemma.js +4 -4
- package/lib/verify/metaLemma.js +4 -4
- package/lib/verify/metatheorem.js +4 -4
- package/lib/verify/rule.js +4 -4
- package/lib/verify/theorem.js +4 -4
- package/package.json +5 -5
- package/src/axiomLemmaTheoremConjecture.js +5 -6
- package/src/context/file.js +16 -17
- package/src/label.js +10 -12
- package/src/metaLemmaMetatheorem.js +5 -6
- package/src/premise.js +9 -9
- package/src/rule.js +5 -6
- package/src/step/metaproof.js +2 -2
- package/src/verify/axiom.js +4 -4
- package/src/verify/conjecture.js +4 -4
- package/src/verify/label.js +11 -6
- package/src/verify/labels.js +7 -18
- package/src/verify/lemma.js +4 -4
- package/src/verify/metaLemma.js +4 -4
- package/src/verify/metatheorem.js +4 -4
- package/src/verify/rule.js +4 -4
- package/src/verify/theorem.js +4 -4
package/lib/verify/lemma.js
CHANGED
|
@@ -22,12 +22,12 @@ function _interop_require_default(obj) {
|
|
|
22
22
|
default: obj
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/lemma/proof!"),
|
|
25
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/lemma/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/lemma/label"), consequentNodeQuery = (0, _query.nodeQuery)("/lemma/consequent!"), suppositionsNodeQuery = (0, _query.nodesQuery)("/lemma/supposition");
|
|
26
26
|
function verifyLemma(lemmaNode, fileContext) {
|
|
27
27
|
var lemmaVerified = false;
|
|
28
|
-
var
|
|
28
|
+
var labelNodes = labelNodesQuery(lemmaNode), labelsString = fileContext.nodesAsString(labelNodes), localContext = _local.default.fromFileContext(fileContext);
|
|
29
29
|
labelsString === _constants.EMPTY_STRING ? fileContext.trace("Verifying a lemma...", lemmaNode) : fileContext.trace("Verifying the '".concat(labelsString, "' lemma..."), lemmaNode);
|
|
30
|
-
var labels = [], labelsVerified = (0, _labels.default)(
|
|
30
|
+
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
31
31
|
if (labelsVerified) {
|
|
32
32
|
var suppositions = [], suppositionNodes = suppositionsNodeQuery(lemmaNode), suppositionsVerified = (0, _suppositions.default)(suppositionNodes, suppositions, localContext);
|
|
33
33
|
if (suppositionsVerified) {
|
|
@@ -48,4 +48,4 @@ function verifyLemma(lemmaNode, fileContext) {
|
|
|
48
48
|
return lemmaVerified;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMZW1tYSBmcm9tIFwiLi4vbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvbnNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgc3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9sZW1tYS9zdXBwb3NpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TGVtbWEobGVtbWFOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbGVtbWFWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyBhIGxlbW1hLi4uYCwgbGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBsZW1tYS4uLmAsIGxlbW1hTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9ucyA9IFtdLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbnNOb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeUNvbnNlcXVlbnQoY29uc2VxdWVudE5vZGUsIGNvbnNlcXVlbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoY29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIGNvbnNlcXVlbnQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBsZW1tYSA9IExlbW1hLmZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50QW5kTG9jYWxDb250ZXh0KGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTGVtbWEobGVtbWEpO1xuXG4gICAgICAgICAgbGVtbWFWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBsZW1tYS5gLCBsZW1tYU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBsZW1tYS5gLCBsZW1tYU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGxlbW1hVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TGVtbWEiLCJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwibGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJsZW1tYVZlcmlmaWVkIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJFTVBUWV9TVFJJTkciLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwiY29uc2VxdWVudHMiLCJjb25zZXF1ZW50Tm9kZSIsImNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeUNvbnNlcXVlbnQiLCJwcm9vZk5vZGUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UHJvb2YiLCJsZW1tYSIsIkxlbW1hIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRBbmRMb2NhbENvbnRleHQiLCJhZGRMZW1tYSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7Ozs0REFoQk47NERBQ007NERBQ0M7NkRBQ0E7aUVBQ0k7bUVBQ0U7cUJBRVQ7eUJBQ087cUJBQ1M7Ozs7OztBQUV0QyxJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsa0JBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsaUJBQzdCQyxzQkFBc0JILElBQUFBLGdCQUFTLEVBQUMsdUJBQ2hDSSx3QkFBd0JGLElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0osWUFBWU8sU0FBUyxFQUFFQyxXQUFXO0lBQ3hELElBQUlDLGdCQUFnQjtJQUVwQixJQUFNQyxhQUFhUCxnQkFBZ0JJLFlBQzdCSSxlQUFlSCxZQUFZSSxhQUFhLENBQUNGLGFBQ3pDRyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1A7SUFFakRHLGlCQUFpQkssdUJBQVksR0FDNUJSLFlBQVlTLEtBQUssQ0FBRSx3QkFBdUJWLGFBQ3hDQyxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYk4sY0FBYSxlQUFhSjtJQUVsRSxJQUFNVyxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNWLFlBQVlRLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmhCLHNCQUFzQkMsWUFDekNnQix1QkFBdUJDLElBQUFBLHFCQUFrQixFQUFDRixrQkFBa0JELGNBQWNSO1FBRWhGLElBQUlVLHNCQUFzQjtZQUN4QixJQUFNRSxjQUFjLEVBQUUsRUFDaEJDLGlCQUFpQnJCLG9CQUFvQkUsWUFDckNvQixxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JELGFBQWFaO1lBRXpFLElBQUljLG9CQUFvQjtnQkFDdEIsSUFBTUUsWUFBWTVCLGVBQWVNLFlBQzNCdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFDYkcsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNMLFdBQVdHLFlBQVluQjtnQkFFekQsSUFBSW9CLGVBQWU7b0JBQ2pCLElBQU1FLFFBQVFDLGNBQUssQ0FBQ0MsK0NBQStDLENBQUNuQixRQUFRRyxjQUFjVyxZQUFZbkI7b0JBRXRHTCxZQUFZOEIsUUFBUSxDQUFDSDtvQkFFckIxQixnQkFBZ0I7Z0JBQ2xCO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSUEsZUFBZTtRQUNoQkUsaUJBQWlCSyx1QkFBWSxHQUM1QlIsWUFBWStCLEtBQUssQ0FBRSwwQkFBeUJoQyxhQUMxQ0MsWUFBWStCLEtBQUssQ0FBQyxBQUFDLG9CQUFnQyxPQUFiNUIsY0FBYSxhQUFXSjtJQUNwRTtJQUVBLE9BQU9FO0FBQ1QifQ==
|
package/lib/verify/metaLemma.js
CHANGED
|
@@ -22,12 +22,12 @@ function _interop_require_default(obj) {
|
|
|
22
22
|
default: obj
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
var
|
|
25
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/metaLemma/label"), metaproofNodeQuery = (0, _query.nodeQuery)("/metaLemma/metaproof!"), metaConsequentNodeQuery = (0, _query.nodeQuery)("/metaLemma/metaConsequent!"), metaSuppositionsNodeQuery = (0, _query.nodesQuery)("/metaLemma/metaSupposition");
|
|
26
26
|
function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
27
27
|
var metaLemmaVerified = false;
|
|
28
|
-
var
|
|
28
|
+
var labelNodes = labelNodesQuery(metaLemmaNode), labelsString = fileContext.nodesAsString(labelNodes), localMetaContext = _localMeta.default.fromFileContext(fileContext);
|
|
29
29
|
labelsString === _constants.EMPTY_STRING ? fileContext.trace("Verifying a meta-lLemma...", metaLemmaNode) : fileContext.trace("Verifying the '".concat(labelsString, "' meta-lLemma..."), metaLemmaNode);
|
|
30
|
-
var labels = [], labelsVerified = (0, _labels.default)(
|
|
30
|
+
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
31
31
|
if (labelsVerified) {
|
|
32
32
|
var substitutions = [], metaSuppositions = [], metaSuppositionNodes = metaSuppositionsNodeQuery(metaLemmaNode), metaSuppositionsVerified = (0, _metaSuppositions.default)(metaSuppositionNodes, metaSuppositions, substitutions, localMetaContext);
|
|
33
33
|
if (metaSuppositionsVerified) {
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YUxlbW1hLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUxlbW1hIGZyb20gXCIuLi9tZXRhTGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCBMb2NhbE1ldGFDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsTWV0YVwiO1xuaW1wb3J0IHZlcmlmeU1ldGFDb25zZXF1ZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YUNvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1cHBvc2l0aW9uc1wiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhTGVtbWEvbGFiZWxcIiksXG4gICAgICBtZXRhcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YUxlbW1hL21ldGFwcm9vZiFcIiksXG4gICAgICBtZXRhQ29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhTGVtbWEvbWV0YUNvbnNlcXVlbnQhXCIpLFxuICAgICAgbWV0YVN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YUxlbW1hL21ldGFTdXBwb3NpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YUxlbW1hKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBtZXRhTGVtbWFWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobWV0YUxlbW1hTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVzQXNTdHJpbmcobGFiZWxOb2RlcyksXG4gICAgICAgIGxvY2FsTWV0YUNvbnRleHQgPSBMb2NhbE1ldGFDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyBhIG1ldGEtbExlbW1hLi4uYCwgbWV0YUxlbW1hTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbWV0YS1sTGVtbWEuLi5gLCBtZXRhTGVtbWFOb2RlKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25Ob2RlcyA9IG1ldGFTdXBwb3NpdGlvbnNOb2RlUXVlcnkobWV0YUxlbW1hTm9kZSksXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1cHBvc2l0aW9ucyhtZXRhU3VwcG9zaXRpb25Ob2RlcywgbWV0YVN1cHBvc2l0aW9ucywgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhQ29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIG1ldGFDb25zZXF1ZW50Tm9kZSA9IG1ldGFDb25zZXF1ZW50Tm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgICAgbWV0YUNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFDb25zZXF1ZW50KG1ldGFDb25zZXF1ZW50Tm9kZSwgbWV0YUNvbnNlcXVlbnRzLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFDb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YXByb29mTm9kZSA9IG1ldGFwcm9vZk5vZGVRdWVyeShtZXRhTGVtbWFOb2RlKSxcbiAgICAgICAgICAgICAgZmlyc3RNZXRhQ29uc2VxdWVudCA9IGZpcnN0KG1ldGFDb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIG1ldGFDb25zZXF1ZW50ID0gZmlyc3RNZXRhQ29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIG1ldGFDb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhTGVtbWEgPSBNZXRhTGVtbWEuZnJvbUxhYmVsc01ldGFTdXBwb3NpdGlvbnNNZXRhQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dChsYWJlbHMsIG1ldGFTdXBwb3NpdGlvbnMsIG1ldGFDb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICBmaWxlQ29udGV4dC5hZGRNZXRhTGVtbWEobWV0YUxlbW1hKTtcblxuICAgICAgICAgIG1ldGFMZW1tYVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhTGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBtZXRhLWxlbW1hLmAsIG1ldGFMZW1tYU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhLWxlbW1hLmAsIG1ldGFMZW1tYU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFMZW1tYSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhcHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhQ29uc2VxdWVudE5vZGVRdWVyeSIsIm1ldGFTdXBwb3NpdGlvbnNOb2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJtZXRhTGVtbWFWZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibG9jYWxNZXRhQ29udGV4dCIsIkxvY2FsTWV0YUNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJFTVBUWV9TVFJJTkciLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwic3Vic3RpdHV0aW9ucyIsIm1ldGFTdXBwb3NpdGlvbnMiLCJtZXRhU3VwcG9zaXRpb25Ob2RlcyIsIm1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeU1ldGFTdXBwb3NpdGlvbnMiLCJtZXRhQ29uc2VxdWVudHMiLCJtZXRhQ29uc2VxdWVudE5vZGUiLCJtZXRhQ29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YUNvbnNlcXVlbnQiLCJtZXRhcHJvb2ZOb2RlIiwiZmlyc3RNZXRhQ29uc2VxdWVudCIsImZpcnN0IiwibWV0YUNvbnNlcXVlbnQiLCJtZXRhcHJvb2ZWZXJpZmllZCIsInZlcmlmeU1ldGFwcm9vZiIsIm1ldGFMZW1tYSIsIk1ldGFMZW1tYSIsImZyb21MYWJlbHNNZXRhU3VwcG9zaXRpb25zTWV0YUNvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJhZGRNZXRhTGVtbWEiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBa0JBOzs7ZUFBd0JBOzs7Z0VBaEJGOzZEQUNHO2dFQUNHO2dFQUNDO3FFQUNJO3VFQUNFO3FCQUViO3lCQUNPO3FCQUNTOzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLHFCQUM3QkMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLDBCQUMvQkMsMEJBQTBCRCxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0UsNEJBQTRCSixJQUFBQSxpQkFBVSxFQUFDO0FBRTlCLFNBQVNGLGdCQUFnQk8sYUFBYSxFQUFFQyxXQUFXO0lBQ2hFLElBQUlDLG9CQUFvQjtJQUV4QixJQUFNQyxhQUFhVCxnQkFBZ0JNLGdCQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRixhQUN6Q0csbUJBQW1CQyxrQkFBZ0IsQ0FBQ0MsZUFBZSxDQUFDUDtJQUV6REcsaUJBQWlCSyx1QkFBWSxHQUM1QlIsWUFBWVMsS0FBSyxDQUFFLDhCQUE2QlYsaUJBQzlDQyxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYk4sY0FBYSxxQkFBbUJKO0lBRXhFLElBQU1XLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1YsWUFBWVEsUUFBUVY7SUFFeEQsSUFBSVcsZ0JBQWdCO1FBQ2xCLElBQU1FLGdCQUFnQixFQUFFLEVBQ2xCQyxtQkFBbUIsRUFBRSxFQUNyQkMsdUJBQXVCakIsMEJBQTBCQyxnQkFDakRpQiwyQkFBMkJDLElBQUFBLHlCQUFzQixFQUFDRixzQkFBc0JELGtCQUFrQkQsZUFBZVI7UUFFL0csSUFBSVcsMEJBQTBCO1lBQzVCLElBQU1FLGtCQUFrQixFQUFFLEVBQ3BCQyxxQkFBcUJ0Qix3QkFBd0JFLGdCQUM3Q3FCLHlCQUF5QkMsSUFBQUEsdUJBQW9CLEVBQUNGLG9CQUFvQkQsaUJBQWlCTCxlQUFlUjtZQUV4RyxJQUFJZSx3QkFBd0I7Z0JBQzFCLElBQU1FLGdCQUFnQjNCLG1CQUFtQkksZ0JBQ25Dd0Isc0JBQXNCQyxJQUFBQSxZQUFLLEVBQUNOLGtCQUM1Qk8saUJBQWlCRixxQkFDakJHLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ0wsZUFBZUcsZ0JBQWdCWixlQUFlUjtnQkFFeEYsSUFBSXFCLG1CQUFtQjtvQkFDckIsSUFBTUUsWUFBWUMsa0JBQVMsQ0FBQ0MsbUVBQW1FLENBQUNwQixRQUFRSSxrQkFBa0JXLGdCQUFnQlosZUFBZWI7b0JBRXpKQSxZQUFZK0IsWUFBWSxDQUFDSDtvQkFFekIzQixvQkFBb0I7Z0JBQ3RCO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSUEsbUJBQW1CO1FBQ3BCRSxpQkFBaUJLLHVCQUFZLEdBQzVCUixZQUFZZ0MsS0FBSyxDQUFFLCtCQUE4QmpDLGlCQUMvQ0MsWUFBWWdDLEtBQUssQ0FBQyxBQUFDLG9CQUFnQyxPQUFiN0IsY0FBYSxrQkFBZ0JKO0lBQ3pFO0lBRUEsT0FBT0U7QUFDVCJ9
|
|
@@ -21,12 +21,12 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var
|
|
24
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/metatheorem/label"), metaproofNodeQuery = (0, _query.nodeQuery)("/metatheorem/metaproof!"), metaConsequentNodeQuery = (0, _query.nodeQuery)("/metatheorem/metaConsequent!"), metaSuppositionsNodeQuery = (0, _query.nodesQuery)("/metatheorem/metaSupposition");
|
|
25
25
|
function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
26
26
|
var metatheoremVerified = false;
|
|
27
|
-
var
|
|
27
|
+
var labelNodes = labelNodesQuery(metatheoremNode), labelsString = fileContext.nodesAsString(labelNodes), localMetaContext = _localMeta.default.fromFileContext(fileContext);
|
|
28
28
|
fileContext.trace("Verifying the '".concat(labelsString, "' metatheorem..."), metatheoremNode);
|
|
29
|
-
var labels = [], labelsVerified = (0, _labels.default)(
|
|
29
|
+
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
30
30
|
if (labelsVerified) {
|
|
31
31
|
var substitutions = [], metaSuppositions = [], metaSuppositionNodes = metaSuppositionsNodeQuery(metatheoremNode), metaSuppositionsVerified = (0, _metaSuppositions.default)(metaSuppositionNodes, metaSuppositions, substitutions, localMetaContext);
|
|
32
32
|
if (metaSuppositionsVerified) {
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXRoZW9yZW0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhdGhlb3JlbSBmcm9tIFwiLi4vbWV0YXRoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCBMb2NhbE1ldGFDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsTWV0YVwiO1xuaW1wb3J0IHZlcmlmeU1ldGFDb25zZXF1ZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YUNvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1cHBvc2l0aW9uc1wiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhdGhlb3JlbS9sYWJlbFwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbS9tZXRhcHJvb2YhXCIpLFxuICAgICAgbWV0YUNvbnNlcXVlbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXRoZW9yZW0vbWV0YUNvbnNlcXVlbnQhXCIpLFxuICAgICAgbWV0YVN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YXRoZW9yZW0vbWV0YVN1cHBvc2l0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdGhlb3JlbShtZXRhdGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBtZXRhdGhlb3JlbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBsb2NhbE1ldGFDb250ZXh0ID0gTG9jYWxNZXRhQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsc1N0cmluZ30nIG1ldGF0aGVvcmVtLi4uYCwgbWV0YXRoZW9yZW1Ob2RlKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25Ob2RlcyA9IG1ldGFTdXBwb3NpdGlvbnNOb2RlUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zKG1ldGFTdXBwb3NpdGlvbk5vZGVzLCBtZXRhU3VwcG9zaXRpb25zLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFDb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgbWV0YUNvbnNlcXVlbnROb2RlID0gbWV0YUNvbnNlcXVlbnROb2RlUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICAgIG1ldGFDb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhQ29uc2VxdWVudChtZXRhQ29uc2VxdWVudE5vZGUsIG1ldGFDb25zZXF1ZW50cywgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhQ29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICAgICAgZmlyc3RNZXRhQ29uc2VxdWVudCA9IGZpcnN0KG1ldGFDb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIG1ldGFDb25zZXF1ZW50ID0gZmlyc3RNZXRhQ29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIG1ldGFDb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21MYWJlbHNNZXRhU3VwcG9zaXRpb25zTWV0YUNvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBtZXRhU3VwcG9zaXRpb25zLCBtZXRhQ29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTWV0YXRoZW9yZW0obWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgbWV0YXRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbWV0YXRoZW9yZW0uYCwgbWV0YXRoZW9yZW1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGF0aGVvcmVtIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm1ldGFwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFDb25zZXF1ZW50Tm9kZVF1ZXJ5IiwibWV0YVN1cHBvc2l0aW9uc05vZGVRdWVyeSIsIm1ldGF0aGVvcmVtTm9kZSIsImZpbGVDb250ZXh0IiwibWV0YXRoZW9yZW1WZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibG9jYWxNZXRhQ29udGV4dCIsIkxvY2FsTWV0YUNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwic3Vic3RpdHV0aW9ucyIsIm1ldGFTdXBwb3NpdGlvbnMiLCJtZXRhU3VwcG9zaXRpb25Ob2RlcyIsIm1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeU1ldGFTdXBwb3NpdGlvbnMiLCJtZXRhQ29uc2VxdWVudHMiLCJtZXRhQ29uc2VxdWVudE5vZGUiLCJtZXRhQ29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YUNvbnNlcXVlbnQiLCJtZXRhcHJvb2ZOb2RlIiwiZmlyc3RNZXRhQ29uc2VxdWVudCIsImZpcnN0IiwibWV0YUNvbnNlcXVlbnQiLCJtZXRhcHJvb2ZWZXJpZmllZCIsInZlcmlmeU1ldGFwcm9vZiIsIm1ldGF0aGVvcmVtIiwiTWV0YXRoZW9yZW0iLCJmcm9tTGFiZWxzTWV0YVN1cHBvc2l0aW9uc01ldGFDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0IiwiYWRkTWV0YXRoZW9yZW0iLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7a0VBZkE7NkRBQ0M7Z0VBQ0c7Z0VBQ0M7cUVBQ0k7dUVBQ0U7cUJBRWI7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLHVCQUM3QkMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLDRCQUMvQkMsMEJBQTBCRCxJQUFBQSxnQkFBUyxFQUFDLGlDQUNwQ0UsNEJBQTRCSixJQUFBQSxpQkFBVSxFQUFDO0FBRTlCLFNBQVNGLGtCQUFrQk8sZUFBZSxFQUFFQyxXQUFXO0lBQ3BFLElBQUlDLHNCQUFzQjtJQUUxQixJQUFNQyxhQUFhVCxnQkFBZ0JNLGtCQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRixhQUN6Q0csbUJBQW1CQyxrQkFBZ0IsQ0FBQ0MsZUFBZSxDQUFDUDtJQUUxREEsWUFBWVEsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWEscUJBQW1CSjtJQUVwRSxJQUFNVSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFUO0lBRXhELElBQUlVLGdCQUFnQjtRQUNsQixJQUFNRSxnQkFBZ0IsRUFBRSxFQUNsQkMsbUJBQW1CLEVBQUUsRUFDckJDLHVCQUF1QmhCLDBCQUEwQkMsa0JBQ2pEZ0IsMkJBQTJCQyxJQUFBQSx5QkFBc0IsRUFBQ0Ysc0JBQXNCRCxrQkFBa0JELGVBQWVQO1FBRS9HLElBQUlVLDBCQUEwQjtZQUM1QixJQUFNRSxrQkFBa0IsRUFBRSxFQUNwQkMscUJBQXFCckIsd0JBQXdCRSxrQkFDN0NvQix5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JELGlCQUFpQkwsZUFBZVA7WUFFeEcsSUFBSWMsd0JBQXdCO2dCQUMxQixJQUFNRSxnQkFBZ0IxQixtQkFBbUJJLGtCQUNuQ3VCLHNCQUFzQkMsSUFBQUEsWUFBSyxFQUFDTixrQkFDNUJPLGlCQUFpQkYscUJBQ2pCRyxvQkFBb0JDLElBQUFBLGtCQUFlLEVBQUNMLGVBQWVHLGdCQUFnQlosZUFBZVA7Z0JBRXhGLElBQUlvQixtQkFBbUI7b0JBQ3JCLElBQU1FLGNBQWNDLG9CQUFXLENBQUNDLG1FQUFtRSxDQUFDcEIsUUFBUUksa0JBQWtCVyxnQkFBZ0JaLGVBQWVaO29CQUU3SkEsWUFBWThCLGNBQWMsQ0FBQ0g7b0JBRTNCMUIsc0JBQXNCO2dCQUN4QjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLElBQUlBLHFCQUFxQjtRQUN2QkQsWUFBWStCLEtBQUssQ0FBQyxBQUFDLG9CQUFnQyxPQUFiNUIsY0FBYSxtQkFBaUJKO0lBQ3RFO0lBRUEsT0FBT0U7QUFDVCJ9
|
package/lib/verify/rule.js
CHANGED
|
@@ -21,12 +21,12 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var
|
|
24
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/rule/label"), premisesNodeQuery = (0, _query.nodesQuery)("/rule/premise"), ruleProofNodeQuery = (0, _query.nodeQuery)("/rule/ruleProof!"), conclusionNodeQuery = (0, _query.nodeQuery)("/rule/conclusion!");
|
|
25
25
|
function verifyRule(ruleNode, fileContext) {
|
|
26
26
|
var ruleVerified = false;
|
|
27
|
-
var
|
|
27
|
+
var labelNodes = labelNodesQuery(ruleNode), labelsString = fileContext.nodesAsString(labelNodes), localMetaContext = _localMeta.default.fromFileContext(fileContext);
|
|
28
28
|
fileContext.trace("Verifying the '".concat(labelsString, "' rule..."), ruleNode);
|
|
29
|
-
var labels = [], labelsVerified = (0, _labels.default)(
|
|
29
|
+
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
30
30
|
if (labelsVerified) {
|
|
31
31
|
var premises = [], premiseNodes = premisesNodeQuery(ruleNode), premisesVerified = (0, _premises.default)(premiseNodes, premises, localMetaContext);
|
|
32
32
|
if (premisesVerified) {
|
|
@@ -51,4 +51,4 @@ function verifyRule(ruleNode, fileContext) {
|
|
|
51
51
|
return ruleVerified;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlQcmVtaXNlcyBmcm9tIFwiLi4vdmVyaWZ5L3ByZW1pc2VzXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVByb29mIGZyb20gXCIuLi92ZXJpZnkvcnVsZVByb29mXCI7XG5pbXBvcnQgTG9jYWxNZXRhQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbE1ldGFcIjtcbmltcG9ydCB2ZXJpZnlDb25jbHVzaW9uIGZyb20gXCIuLi92ZXJpZnkvY29uY2x1c2lvblwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlL2xhYmVsXCIpLFxuICAgICAgcHJlbWlzZXNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGUvcHJlbWlzZVwiKSxcbiAgICAgIHJ1bGVQcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL3J1bGVQcm9vZiFcIiksXG4gICAgICBjb25jbHVzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUvY29uY2x1c2lvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVJ1bGUocnVsZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBydWxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dCA9IExvY2FsTWV0YUNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLi4uYCwgcnVsZU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBwcmVtaXNlcyA9IFtdLFxuICAgICAgICAgIHByZW1pc2VOb2RlcyA9IHByZW1pc2VzTm9kZVF1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgICBwcmVtaXNlc1ZlcmlmaWVkID0gdmVyaWZ5UHJlbWlzZXMocHJlbWlzZU5vZGVzLCBwcmVtaXNlcywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAocHJlbWlzZXNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uY2x1c2lvbnMgPSBbXSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob2RlID0gY29uY2x1c2lvbk5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgICBjb25jbHVzaW9uVmVyaWZpZWQgPSB2ZXJpZnlDb25jbHVzaW9uKGNvbmNsdXNpb25Ob2RlLCBjb25jbHVzaW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmIChjb25jbHVzaW9uVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcnVsZVByb29mTm9kZSA9IHJ1bGVQcm9vZk5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgICAgIGZpcnN0Q29uY2x1c2lvbiA9IGZpcnN0KGNvbmNsdXNpb25zKSxcbiAgICAgICAgICAgICAgY29uY2x1c2lvbiA9IGZpcnN0Q29uY2x1c2lvbjsgLy8vXG5cbiAgICAgICAgbGV0IHJ1bGVQcm9vZlZlcmlmaWVkID0gdHJ1ZTsgLy8vXG5cbiAgICAgICAgaWYgKHJ1bGVQcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBydWxlUHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVQcm9vZihydWxlUHJvb2ZOb2RlLCBjb25jbHVzaW9uLCBsb2NhbE1ldGFDb250ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChydWxlUHJvb2ZWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHJ1bGUgPSBSdWxlLmZyb21MYWJlbHNQcmVtaXNlc0NvbmNsdXNpb25BbmRGaWxlQ29udGV4dChsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICBmaWxlQ29udGV4dC5hZGRSdWxlKHJ1bGUpO1xuXG4gICAgICAgICAgcnVsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChydWxlVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIHJ1bGUuYCwgcnVsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHJ1bGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByZW1pc2VzTm9kZVF1ZXJ5IiwicnVsZVByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uY2x1c2lvbk5vZGVRdWVyeSIsInJ1bGVOb2RlIiwiZmlsZUNvbnRleHQiLCJydWxlVmVyaWZpZWQiLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsImxvY2FsTWV0YUNvbnRleHQiLCJMb2NhbE1ldGFDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsInByZW1pc2VzIiwicHJlbWlzZU5vZGVzIiwicHJlbWlzZXNWZXJpZmllZCIsInZlcmlmeVByZW1pc2VzIiwiY29uY2x1c2lvbnMiLCJjb25jbHVzaW9uTm9kZSIsImNvbmNsdXNpb25WZXJpZmllZCIsInZlcmlmeUNvbmNsdXNpb24iLCJydWxlUHJvb2ZOb2RlIiwiZmlyc3RDb25jbHVzaW9uIiwiZmlyc3QiLCJjb25jbHVzaW9uIiwicnVsZVByb29mVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlUHJvb2YiLCJydWxlIiwiUnVsZSIsImZyb21MYWJlbHNQcmVtaXNlc0NvbmNsdXNpb25BbmRGaWxlQ29udGV4dCIsImFkZFJ1bGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7MkRBZlA7NkRBQ1E7K0RBQ0U7Z0VBQ0M7Z0VBQ0M7aUVBQ0E7cUJBRVA7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGdCQUM3QkMsb0JBQW9CRCxJQUFBQSxpQkFBVSxFQUFDLGtCQUMvQkUscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFCQUMvQkMsc0JBQXNCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXZCLFNBQVNMLFdBQVdPLFFBQVEsRUFBRUMsV0FBVztJQUN0RCxJQUFJQyxlQUFlO0lBRW5CLElBQU1DLGFBQWFULGdCQUFnQk0sV0FDN0JJLGVBQWVILFlBQVlJLGFBQWEsQ0FBQ0YsYUFDekNHLG1CQUFtQkMsa0JBQWdCLENBQUNDLGVBQWUsQ0FBQ1A7SUFFMURBLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTCxjQUFhLGNBQVlKO0lBRTdELElBQU1VLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1QsWUFBWU8sUUFBUVQ7SUFFeEQsSUFBSVUsZ0JBQWdCO1FBQ2xCLElBQU1FLFdBQVcsRUFBRSxFQUNiQyxlQUFlbEIsa0JBQWtCSSxXQUNqQ2UsbUJBQW1CQyxJQUFBQSxpQkFBYyxFQUFDRixjQUFjRCxVQUFVUDtRQUVoRSxJQUFJUyxrQkFBa0I7WUFDcEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJuQixvQkFBb0JDLFdBQ3JDbUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhWDtZQUV6RSxJQUFJYSxvQkFBb0I7Z0JBQ3RCLElBQU1FLGdCQUFnQnhCLG1CQUFtQkcsV0FDbkNzQixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGFBQWFGLGlCQUFpQixHQUFHO2dCQUV2QyxJQUFJRyxvQkFBb0IsTUFBTSxHQUFHO2dCQUVqQyxJQUFJSixrQkFBa0IsTUFBTTtvQkFDMUJJLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ0wsZUFBZUcsWUFBWWxCO2dCQUNqRTtnQkFFQSxJQUFJbUIsbUJBQW1CO29CQUNyQixJQUFNRSxPQUFPQyxhQUFJLENBQUNDLDBDQUEwQyxDQUFDbkIsUUFBUUcsVUFBVVcsWUFBWXZCO29CQUUzRkEsWUFBWTZCLE9BQU8sQ0FBQ0g7b0JBRXBCekIsZUFBZTtnQkFDakI7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCRCxZQUFZOEIsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWIzQixjQUFhLFlBQVVKO0lBQy9EO0lBRUEsT0FBT0U7QUFDVCJ9
|
package/lib/verify/theorem.js
CHANGED
|
@@ -21,12 +21,12 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/theorem/proof!"),
|
|
24
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/theorem/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/theorem/label"), consequentNodeQuery = (0, _query.nodeQuery)("/theorem/consequent!"), suppositionsNodeQuery = (0, _query.nodesQuery)("/theorem/supposition");
|
|
25
25
|
function verifyTheorem(theoremNode, fileContext) {
|
|
26
26
|
var theoremVerified = false;
|
|
27
|
-
var
|
|
27
|
+
var labelNodes = labelNodesQuery(theoremNode), labelsString = fileContext.nodesAsString(labelNodes), localContext = _local.default.fromFileContext(fileContext);
|
|
28
28
|
fileContext.trace("Verifying the '".concat(labelsString, "' theorem..."), theoremNode);
|
|
29
|
-
var labels = [], labelsVerified = (0, _labels.default)(
|
|
29
|
+
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
30
30
|
if (labelsVerified) {
|
|
31
31
|
var suppositions = [], suppositionNodes = suppositionsNodeQuery(theoremNode), suppositionsVerified = (0, _suppositions.default)(suppositionNodes, suppositions, localContext);
|
|
32
32
|
if (suppositionsVerified) {
|
|
@@ -47,4 +47,4 @@ function verifyTheorem(theoremNode, fileContext) {
|
|
|
47
47
|
return theoremVerified;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvbnNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RoZW9yZW0vcHJvb2YhXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi90aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgc3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi90aGVvcmVtL3N1cHBvc2l0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdGhlb3JlbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVzQXNTdHJpbmcobGFiZWxOb2RlcyksXG4gICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsc1N0cmluZ30nIHRoZW9yZW0uLi5gLCB0aGVvcmVtTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9ucyA9IFtdLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbnNOb2RlUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9uTm9kZXMsIHN1cHBvc2l0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIGNvbnNlcXVlbnQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCB0aGVvcmVtID0gVGhlb3JlbS5mcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudEFuZExvY2FsQ29udGV4dChsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgIGZpbGVDb250ZXh0LmFkZFRoZW9yZW0odGhlb3JlbSk7XG5cbiAgICAgICAgICB0aGVvcmVtVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgdGhlb3JlbS5gLCB0aGVvcmVtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGhlb3JlbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVRoZW9yZW0iLCJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGUiLCJmaWxlQ29udGV4dCIsInRoZW9yZW1WZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnRzIiwiY29uc2VxdWVudE5vZGUiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJ2ZXJpZnlDb25zZXF1ZW50IiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50IiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwidGhlb3JlbSIsIlRoZW9yZW0iLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudEFuZExvY2FsQ29udGV4dCIsImFkZFRoZW9yZW0iLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7OERBZko7NERBQ0k7NERBQ0M7NkRBQ0E7aUVBQ0k7bUVBQ0U7cUJBRVQ7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLG9CQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLG1CQUM3QkMsc0JBQXNCSCxJQUFBQSxnQkFBUyxFQUFDLHlCQUNoQ0ksd0JBQXdCRixJQUFBQSxpQkFBVSxFQUFDO0FBRTFCLFNBQVNKLGNBQWNPLFdBQVcsRUFBRUMsV0FBVztJQUM1RCxJQUFJQyxrQkFBa0I7SUFFdEIsSUFBTUMsYUFBYVAsZ0JBQWdCSSxjQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRixhQUN6Q0csZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNQO0lBRWxEQSxZQUFZUSxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYSxpQkFBZUo7SUFFaEUsSUFBTVUsU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVDtJQUV4RCxJQUFJVSxnQkFBZ0I7UUFDbEIsSUFBTUUsZUFBZSxFQUFFLEVBQ2pCQyxtQkFBbUJmLHNCQUFzQkMsY0FDekNlLHVCQUF1QkMsSUFBQUEscUJBQWtCLEVBQUNGLGtCQUFrQkQsY0FBY1A7UUFFaEYsSUFBSVMsc0JBQXNCO1lBQ3hCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCcEIsb0JBQW9CRSxjQUNyQ21CLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkQsYUFBYVg7WUFFekUsSUFBSWEsb0JBQW9CO2dCQUN0QixJQUFNRSxZQUFZM0IsZUFBZU0sY0FDM0JzQixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGFBQWFGLGlCQUNiRyxnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ0wsV0FBV0csWUFBWWxCO2dCQUV6RCxJQUFJbUIsZUFBZTtvQkFDakIsSUFBTUUsVUFBVUMsZ0JBQU8sQ0FBQ0MsK0NBQStDLENBQUNuQixRQUFRRyxjQUFjVyxZQUFZbEI7b0JBRTFHTCxZQUFZNkIsVUFBVSxDQUFDSDtvQkFFdkJ6QixrQkFBa0I7Z0JBQ3BCO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSUEsaUJBQWlCO1FBQ25CRCxZQUFZOEIsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWIzQixjQUFhLGVBQWFKO0lBQ2xFO0lBRUEsT0FBT0U7QUFDVCJ9
|
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.884",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"necessary": "^14.0.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-entities": "^1.0.
|
|
17
|
-
"occam-file-system": "^6.0.
|
|
18
|
-
"occam-grammar-utilities": "^8.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.790",
|
|
16
|
+
"occam-entities": "^1.0.137",
|
|
17
|
+
"occam-file-system": "^6.0.179",
|
|
18
|
+
"occam-grammar-utilities": "^8.0.207",
|
|
19
19
|
"occam-query": "^3.1.174"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
@@ -66,17 +66,16 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
66
66
|
return statementNatches;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
labelMatchesNode = label.matchNode(node);
|
|
69
|
+
matchMetavariableNode(metavariableNode) {
|
|
70
|
+
const metavariableNodeMatches = this.labels.some((label) => {
|
|
71
|
+
const labelMatchesMetavariableNode = label.matchMetavariableNode(metavariableNode);
|
|
73
72
|
|
|
74
|
-
if (
|
|
73
|
+
if (labelMatchesMetavariableNode) {
|
|
75
74
|
return true;
|
|
76
75
|
}
|
|
77
76
|
});
|
|
78
77
|
|
|
79
|
-
return
|
|
78
|
+
return metavariableNodeMatches;
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
toJSON(tokens) {
|
package/src/context/file.js
CHANGED
|
@@ -361,10 +361,9 @@ export default class FileContext {
|
|
|
361
361
|
}
|
|
362
362
|
|
|
363
363
|
findLabelByMetavariableNode(metavariableNode) {
|
|
364
|
-
const
|
|
365
|
-
labels = this.getLabels(),
|
|
364
|
+
const labels = this.getLabels(),
|
|
366
365
|
label = labels.find((label) => {
|
|
367
|
-
const matches = label.
|
|
366
|
+
const matches = label.matchMetavariableNode(metavariableNode);
|
|
368
367
|
|
|
369
368
|
if (matches) {
|
|
370
369
|
return true;
|
|
@@ -377,9 +376,9 @@ export default class FileContext {
|
|
|
377
376
|
findRuleByMetavariableNode(metavariableNode) {
|
|
378
377
|
const rules = this.getRules(),
|
|
379
378
|
rule = rules.find((rule) => {
|
|
380
|
-
const
|
|
379
|
+
const ruleMatchesMetavariableNode = rule.matchMetavariableNode(metavariableNode);
|
|
381
380
|
|
|
382
|
-
if (
|
|
381
|
+
if (ruleMatchesMetavariableNode) {
|
|
383
382
|
return true;
|
|
384
383
|
}
|
|
385
384
|
}) || null;
|
|
@@ -390,9 +389,9 @@ export default class FileContext {
|
|
|
390
389
|
findAxiomByMetavariableNode(metavariableNode) {
|
|
391
390
|
const axioms = this.getAxioms(),
|
|
392
391
|
axiom = axioms.find((axiom) => {
|
|
393
|
-
const
|
|
392
|
+
const axiomMatchesMetavariableNode = axiom.matchMetavariableNode(metavariableNode);
|
|
394
393
|
|
|
395
|
-
if (
|
|
394
|
+
if (axiomMatchesMetavariableNode) {
|
|
396
395
|
return true;
|
|
397
396
|
}
|
|
398
397
|
}) || null;
|
|
@@ -403,9 +402,9 @@ export default class FileContext {
|
|
|
403
402
|
findLemmaByMetavariableNode(metavariableNode) {
|
|
404
403
|
const lemmas = this.getLemmas(),
|
|
405
404
|
lemma = lemmas.find((lemma) => {
|
|
406
|
-
const
|
|
405
|
+
const lemmaMatchesMetavariableNode = lemma.matchMetavariableNode(metavariableNode);
|
|
407
406
|
|
|
408
|
-
if (
|
|
407
|
+
if (lemmaMatchesMetavariableNode) {
|
|
409
408
|
return true;
|
|
410
409
|
}
|
|
411
410
|
}) || null;
|
|
@@ -416,9 +415,9 @@ export default class FileContext {
|
|
|
416
415
|
findTheoremByMetavariableNode(metavariableNode) {
|
|
417
416
|
const theorems = this.getTheorems(),
|
|
418
417
|
theorem = theorems.find((theorem) => {
|
|
419
|
-
const
|
|
418
|
+
const theoremMatchesMetavariableNode = theorem.matchMetavariableNode(metavariableNode);
|
|
420
419
|
|
|
421
|
-
if (
|
|
420
|
+
if (theoremMatchesMetavariableNode) {
|
|
422
421
|
return true;
|
|
423
422
|
}
|
|
424
423
|
}) || null;
|
|
@@ -429,9 +428,9 @@ export default class FileContext {
|
|
|
429
428
|
findMetaLemmaByMetavariableNode(metavariableNode) {
|
|
430
429
|
const metaLemmas = this.getMetaLemmas(),
|
|
431
430
|
metaLemma = metaLemmas.find((metaLemma) => {
|
|
432
|
-
const
|
|
431
|
+
const metaLemmaMatchesMetavariableNode = metaLemma.matchMetavariableNode(metavariableNode);
|
|
433
432
|
|
|
434
|
-
if (
|
|
433
|
+
if (metaLemmaMatchesMetavariableNode) {
|
|
435
434
|
return true;
|
|
436
435
|
}
|
|
437
436
|
}) || null;
|
|
@@ -442,9 +441,9 @@ export default class FileContext {
|
|
|
442
441
|
findConjectureByMetavariableNode(metavariableNode) {
|
|
443
442
|
const conjectures = this.getConjectures(),
|
|
444
443
|
conjecture = conjectures.find((conjecture) => {
|
|
445
|
-
const
|
|
444
|
+
const conjectureMatchesMetavariableNode = conjecture.matchMetavariableNode(metavariableNode);
|
|
446
445
|
|
|
447
|
-
if (
|
|
446
|
+
if (conjectureMatchesMetavariableNode) {
|
|
448
447
|
return true;
|
|
449
448
|
}
|
|
450
449
|
}) || null;
|
|
@@ -455,9 +454,9 @@ export default class FileContext {
|
|
|
455
454
|
findMetatheoremByMetavariableNode(metavariableNode) {
|
|
456
455
|
const metatheorems = this.getMetatheorems(),
|
|
457
456
|
metatheorem = metatheorems.find((metatheorem) => {
|
|
458
|
-
const
|
|
457
|
+
const metatheoremMatchesMetavariableNode = metatheorem.matchMetavariableNode(metavariableNode);
|
|
459
458
|
|
|
460
|
-
if (
|
|
459
|
+
if (metatheoremMatchesMetavariableNode) {
|
|
461
460
|
return true;
|
|
462
461
|
}
|
|
463
462
|
}) || null;
|
package/src/label.js
CHANGED
|
@@ -4,36 +4,35 @@ import { nodeAsString } from "./utilities/string";
|
|
|
4
4
|
import { metavariableNodeFromMetavariableString } from "./utilities/node";
|
|
5
5
|
|
|
6
6
|
export default class Label {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
7
|
+
constructor(metavariableNode) {
|
|
8
|
+
this.metavariableNode = metavariableNode;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
return this.
|
|
11
|
+
getMetavariableNode() {
|
|
12
|
+
return this.metavariableNode;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
const matches = this.
|
|
15
|
+
matchMetavariableNode(metavariableNode) {
|
|
16
|
+
const matches = this.metavariableNode.match(metavariableNode);
|
|
17
17
|
|
|
18
18
|
return matches;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
asString(tokens) {
|
|
22
|
-
const string = nodeAsString(this.
|
|
22
|
+
const string = nodeAsString(this.metavariableNode, tokens);
|
|
23
23
|
|
|
24
24
|
return string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
toJSON(tokens) {
|
|
28
|
-
const string = nodeAsString(this.
|
|
28
|
+
const string = nodeAsString(this.metavariableNode, tokens),
|
|
29
29
|
json = string; ///
|
|
30
30
|
|
|
31
31
|
return json;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
static fromMetavariableNode(metavariableNode) {
|
|
35
|
-
const
|
|
36
|
-
label = new Label(node);
|
|
35
|
+
const label = new Label(metavariableNode);
|
|
37
36
|
|
|
38
37
|
return label;
|
|
39
38
|
}
|
|
@@ -43,8 +42,7 @@ export default class Label {
|
|
|
43
42
|
lexer = fileContext.getLexer(),
|
|
44
43
|
parser = fileContext.getParser(),
|
|
45
44
|
metavariableNode = metavariableNodeFromMetavariableString(metavariableString, lexer, parser),
|
|
46
|
-
|
|
47
|
-
label = new Label(node);
|
|
45
|
+
label = new Label(metavariableNode);
|
|
48
46
|
|
|
49
47
|
return label;
|
|
50
48
|
}
|
|
@@ -71,17 +71,16 @@ export default class MetaLemmaMetatheorem {
|
|
|
71
71
|
return metastatementNatches;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
labelMatchesNode = label.matchNode(node);
|
|
74
|
+
matchMetavariableNode(metavariableNode) {
|
|
75
|
+
const metavariableNodeMatches = this.labels.some((label) => {
|
|
76
|
+
const labelMatchesMetavariableNode = label.matchMetavariableNode(metavariableNode);
|
|
78
77
|
|
|
79
|
-
if (
|
|
78
|
+
if (labelMatchesMetavariableNode) {
|
|
80
79
|
return true;
|
|
81
80
|
}
|
|
82
81
|
});
|
|
83
82
|
|
|
84
|
-
return
|
|
83
|
+
return metavariableNodeMatches;
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
toJSON(tokens) {
|
package/src/premise.js
CHANGED
|
@@ -9,9 +9,9 @@ import { nodeAsString } from "./utilities/string";
|
|
|
9
9
|
import { nodeQuery, nodesQuery } from "./utilities/query";
|
|
10
10
|
import { metastatementNodeFromMetastatementString } from "./utilities/node";
|
|
11
11
|
|
|
12
|
-
const
|
|
12
|
+
const subproofAssertionNodeQuery = nodeQuery("/metastatement/subproofAssertion!"),
|
|
13
13
|
ruleSubproofPremiseMetastatementQuery = nodesQuery("/ruleSubproof/premise/unqualifiedMetastatement!/metastatement!"),
|
|
14
|
-
|
|
14
|
+
subproofAssertionMetastatementNodesQuery = nodesQuery("/subproofAssertion/metastatement"),
|
|
15
15
|
ruleSubproofSubDerivationLastMetastatementQuery = nodeQuery("/ruleSubproof/ruleSubDerivation/qualifiedMetastatement|unqualifiedMetastatement[-1]/metastatement!");
|
|
16
16
|
|
|
17
17
|
export default class Premise {
|
|
@@ -42,9 +42,9 @@ export default class Premise {
|
|
|
42
42
|
matchRuleSubproofNode(ruleSubproofNode, substitutions, fileContext, metastatementLocalMetaContext) {
|
|
43
43
|
let ruleSubproofNodeMatches = false;
|
|
44
44
|
|
|
45
|
-
const
|
|
45
|
+
const subproofAssertionNode = subproofAssertionNodeQuery(this.metastatementNode);
|
|
46
46
|
|
|
47
|
-
if (
|
|
47
|
+
if (subproofAssertionNode !== null) {
|
|
48
48
|
const ruleSubproofPremiseMetastatement = ruleSubproofPremiseMetastatementQuery(ruleSubproofNode),
|
|
49
49
|
ruleSubproofSubDerivationLastMetastatement = ruleSubproofSubDerivationLastMetastatementQuery(ruleSubproofNode),
|
|
50
50
|
ruleSubproofMetastatementNodes = [
|
|
@@ -52,12 +52,12 @@ export default class Premise {
|
|
|
52
52
|
ruleSubproofSubDerivationLastMetastatement
|
|
53
53
|
],
|
|
54
54
|
ruleSubproofMetastatementNodesLength = ruleSubproofMetastatementNodes.length,
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
subproofAssertionMetastatementNodes = subproofAssertionMetastatementNodesQuery(subproofAssertionNode),
|
|
56
|
+
subproofAssertionMetastatementNodesLength = subproofAssertionMetastatementNodes.length;
|
|
57
57
|
|
|
58
|
-
if (ruleSubproofMetastatementNodesLength ===
|
|
59
|
-
ruleSubproofNodeMatches = match(
|
|
60
|
-
const nonTerminalNodeA =
|
|
58
|
+
if (ruleSubproofMetastatementNodesLength === subproofAssertionMetastatementNodesLength) {
|
|
59
|
+
ruleSubproofNodeMatches = match(subproofAssertionMetastatementNodes, ruleSubproofMetastatementNodes, (subproofAssertionMetastatementNode, ruleSubproofMetastatementNode) => {
|
|
60
|
+
const nonTerminalNodeA = subproofAssertionMetastatementNode, ///
|
|
61
61
|
nonTerminalNodeB = ruleSubproofMetastatementNode, ///
|
|
62
62
|
fileContextA = fileContext, ///
|
|
63
63
|
localContextA = LocalContext.fromFileContext(fileContextA),
|
package/src/rule.js
CHANGED
|
@@ -99,17 +99,16 @@ export default class Rule {
|
|
|
99
99
|
return metastatementNatches;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
labelMatchesNode = label.matchNode(node);
|
|
102
|
+
matchMetavariableNode(metavariableNode) {
|
|
103
|
+
const metavariableNodeMatches = this.labels.some((label) => {
|
|
104
|
+
const labelMatchesMetavariableNode = label.matchMetavariableNode(metavariableNode);
|
|
106
105
|
|
|
107
|
-
if (
|
|
106
|
+
if (labelMatchesMetavariableNode) {
|
|
108
107
|
return true;
|
|
109
108
|
}
|
|
110
109
|
});
|
|
111
110
|
|
|
112
|
-
return
|
|
111
|
+
return metavariableNodeMatches;
|
|
113
112
|
}
|
|
114
113
|
|
|
115
114
|
toJSON(tokens) {
|
package/src/step/metaproof.js
CHANGED
|
@@ -4,8 +4,8 @@ import { first, second } from "../utilities/array";
|
|
|
4
4
|
import { matchMetastatement } from "../utilities/metaproof";
|
|
5
5
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
6
6
|
|
|
7
|
-
const metastatementNodesQuery = nodesQuery("/
|
|
8
|
-
ruleSubproofAssertionNodeQuery = nodeQuery("/metastatement/
|
|
7
|
+
const metastatementNodesQuery = nodesQuery("/subproofAssertion/metastatement"),
|
|
8
|
+
ruleSubproofAssertionNodeQuery = nodeQuery("/metastatement/subproofAssertion"),
|
|
9
9
|
qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery = nodesQuery("/ruleSubproof/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
|
|
10
10
|
|
|
11
11
|
export default class MetaproofStep {
|
package/src/verify/axiom.js
CHANGED
|
@@ -9,21 +9,21 @@ import verifySuppositions from "../verify/suppositions";
|
|
|
9
9
|
import { first } from "../utilities/array";
|
|
10
10
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
11
11
|
|
|
12
|
-
const
|
|
12
|
+
const labelNodesQuery = nodesQuery("/axiom/label"),
|
|
13
13
|
consequentNodeQuery = nodeQuery("/axiom/consequent!"),
|
|
14
14
|
suppositionsNodeQuery = nodesQuery("/axiom/supposition");
|
|
15
15
|
|
|
16
16
|
export default function verifyAxiom(axiomNode, fileContext) {
|
|
17
17
|
let axiomVerified = false;
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
labelsString = fileContext.
|
|
19
|
+
const labelNodes = labelNodesQuery(axiomNode),
|
|
20
|
+
labelsString = fileContext.nodesAsString(labelNodes),
|
|
21
21
|
localContext = LocalContext.fromFileContext(fileContext);
|
|
22
22
|
|
|
23
23
|
fileContext.trace(`Verifying the '${labelsString}' axiom...`, axiomNode);
|
|
24
24
|
|
|
25
25
|
const labels = [],
|
|
26
|
-
labelsVerified = verifyLabels(
|
|
26
|
+
labelsVerified = verifyLabels(labelNodes, labels, fileContext);
|
|
27
27
|
|
|
28
28
|
if (labelsVerified) {
|
|
29
29
|
const suppositions = [],
|
package/src/verify/conjecture.js
CHANGED
|
@@ -11,21 +11,21 @@ import { first } from "../utilities/array";
|
|
|
11
11
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
12
12
|
|
|
13
13
|
const proofNodeQuery = nodeQuery("/conjecture/proof!"),
|
|
14
|
-
|
|
14
|
+
labelNodesQuery = nodesQuery("/conjecture/label!"),
|
|
15
15
|
consequentNodeQuery = nodeQuery("/conjecture/consequent!"),
|
|
16
16
|
suppositionsNodeQuery = nodesQuery("/conjecture/supposition");
|
|
17
17
|
|
|
18
18
|
export default function verifyConjecture(conjectureNode, fileContext) {
|
|
19
19
|
let conjectureVerified = false;
|
|
20
20
|
|
|
21
|
-
const
|
|
22
|
-
labelsString = fileContext.
|
|
21
|
+
const labelNodes = labelNodesQuery(conjectureNode),
|
|
22
|
+
labelsString = fileContext.nodesAsString(labelNodes),
|
|
23
23
|
localContext = LocalContext.fromFileContext(fileContext);
|
|
24
24
|
|
|
25
25
|
fileContext.trace(`Verifying the '${labelsString}' conjecture...`, conjectureNode);
|
|
26
26
|
|
|
27
27
|
const labels = [],
|
|
28
|
-
labelsVerified = verifyLabels(
|
|
28
|
+
labelsVerified = verifyLabels(labelNodes, labels, fileContext);
|
|
29
29
|
|
|
30
30
|
if (labelsVerified) {
|
|
31
31
|
const suppositions = [],
|