occam-verify-cli 0.0.495 → 0.0.497
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/axiom.js +17 -16
- package/lib/verify/lemma.js +19 -18
- package/lib/verify/rule.js +22 -21
- package/lib/verify/theorem.js +19 -18
- package/package.json +3 -3
- package/src/verify/axiom.js +22 -22
- package/src/verify/lemma.js +25 -25
- package/src/verify/rule.js +28 -28
- package/src/verify/theorem.js +25 -25
- package/lib/verify/conditinalInference.js +0 -37
- package/lib/verify/conditionalIndicative.js +0 -37
- package/lib/verify/unconditionalIndicative.js +0 -28
- package/lib/verify/unconditionalInference.js +0 -28
- package/src/verify/conditinalInference.js +0 -37
- package/src/verify/conditionalIndicative.js +0 -37
- package/src/verify/unconditionalIndicative.js +0 -24
- package/src/verify/unconditionalInference.js +0 -24
package/lib/verify/axiom.js
CHANGED
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _axiom = /*#__PURE__*/ _interopRequireDefault(require("../axiom"));
|
|
12
12
|
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
13
13
|
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var _antecedent = /*#__PURE__*/ _interopRequireDefault(require("../verify/antecedent"));
|
|
15
|
+
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("../verify/consequent"));
|
|
16
16
|
var _array = require("../utilities/array");
|
|
17
17
|
var _string = require("../utilities/string");
|
|
18
18
|
var _query = require("../utilities/query");
|
|
@@ -21,7 +21,7 @@ function _interopRequireDefault(obj) {
|
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"),
|
|
24
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"), consequentNodeQuery = (0, _query.nodeQuery)("/axiom/consequent!"), antecedentsNodeQuery = (0, _query.nodesQuery)("/axiom/antecedent");
|
|
25
25
|
function verifyAxiom(axiomNode, fileContext) {
|
|
26
26
|
var axiomVerified = false;
|
|
27
27
|
fileContext.begin(axiomNode);
|
|
@@ -29,18 +29,19 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
29
29
|
fileContext.debug("Verifying the '".concat(labelsString, "' axiom..."));
|
|
30
30
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
31
31
|
if (labelsVerified) {
|
|
32
|
-
var antecedents = [],
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
var antecedents = [], antecedentNodes = antecedentsNodeQuery(axiomNode), antecedentsVerified = antecedentNodes.every(function(antecedentNode) {
|
|
33
|
+
var antecedentVerified = (0, _antecedent.default)(antecedentNode, antecedents, proofContext);
|
|
34
|
+
if (antecedentVerified) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
if (antecedentsVerified) {
|
|
39
|
+
var consequents = [], consequentNode = consequentNodeQuery(axiomNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, proofContext);
|
|
40
|
+
if (consequentVerified) {
|
|
41
|
+
var firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, axiom = _axiom.default.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
42
|
+
fileContext.addAxiom(axiom);
|
|
43
|
+
axiomVerified = true;
|
|
44
|
+
}
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
if (axiomVerified) {
|
|
@@ -50,4 +51,4 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
50
51
|
return axiomVerified;
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlBbnRlY2VkZW50IGZyb20gXCIuLi92ZXJpZnkvYW50ZWNlZGVudFwiO1xuaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgYW50ZWNlZGVudHNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2F4aW9tL2FudGVjZWRlbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUF4aW9tKGF4aW9tTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGF4aW9tVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihheGlvbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgYXhpb20uLi5gKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgYW50ZWNlZGVudHMgPSBbXSxcbiAgICAgICAgICBhbnRlY2VkZW50Tm9kZXMgPSBhbnRlY2VkZW50c05vZGVRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICAgIGFudGVjZWRlbnRzVmVyaWZpZWQgPSBhbnRlY2VkZW50Tm9kZXMuZXZlcnkoKGFudGVjZWRlbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbnRlY2VkZW50VmVyaWZpZWQgPSB2ZXJpZnlBbnRlY2VkZW50KGFudGVjZWRlbnROb2RlLCBhbnRlY2VkZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGFudGVjZWRlbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmIChhbnRlY2VkZW50c1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBjb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KGF4aW9tTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQobGFiZWxzLCBhbnRlY2VkZW50cywgY29uc2VxdWVudCk7XG5cbiAgICAgICAgZmlsZUNvbnRleHQuYWRkQXhpb20oYXhpb20pO1xuXG4gICAgICAgIGF4aW9tVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChheGlvbVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIGF4aW9tLmApO1xuICB9XG5cbiAgYXhpb21WZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUoYXhpb21Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShheGlvbU5vZGUpO1xuXG4gIHJldHVybiBheGlvbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUF4aW9tIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJhbnRlY2VkZW50c05vZGVRdWVyeSIsImF4aW9tTm9kZSIsImZpbGVDb250ZXh0IiwiYXhpb21WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwiYW50ZWNlZGVudHMiLCJhbnRlY2VkZW50Tm9kZXMiLCJhbnRlY2VkZW50c1ZlcmlmaWVkIiwiZXZlcnkiLCJhbnRlY2VkZW50Tm9kZSIsImFudGVjZWRlbnRWZXJpZmllZCIsInZlcmlmeUFudGVjZWRlbnQiLCJjb25zZXF1ZW50cyIsImNvbnNlcXVlbnROb2RlIiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsImZpcnN0Q29uc2VxdWVudCIsImZpcnN0IiwiY29uc2VxdWVudCIsImF4aW9tIiwiQXhpb20iLCJmcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50IiwiYWRkQXhpb20iLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQXdCQTs7OzBEQWROOzBEQUNPOzJEQUNBOytEQUNJOytEQUNBO3FCQUVQO3NCQUNRO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0MsdUJBQXVCSCxJQUFBQSxpQkFBVSxFQUFDO0FBRXpCLFNBQVNGLFlBQVlNLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQzFELElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFULGdCQUFnQkssWUFDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1I7SUFFbERBLFlBQVlTLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTCxjQUFhO0lBRWpELElBQU1NLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1QsWUFBWU8sUUFBUVY7SUFFeEQsSUFBSVcsZ0JBQWdCO1FBQ2xCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsa0JBQWtCaEIscUJBQXFCQyxZQUN2Q2dCLHNCQUFzQkQsZ0JBQWdCRSxLQUFLLENBQUMsU0FBQ0MsZ0JBQW1CO1lBQzlELElBQU1DLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkosYUFBYVA7WUFFekUsSUFBSVksb0JBQW9CO2dCQUN0QixPQUFPLElBQUk7WUFDYixDQUFDO1FBQ0g7UUFFTixJQUFJSCxxQkFBcUI7WUFDdkIsSUFBTUssY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJ6QixvQkFBb0JHLFlBQ3JDdUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhZDtZQUV6RSxJQUFJZ0Isb0JBQW9CO2dCQUN0QixJQUFNRSxrQkFBa0JDLElBQUFBLFlBQUssRUFBQ0wsY0FDeEJNLGFBQWFGLGlCQUNiRyxRQUFRQyxjQUFLLENBQUNDLGtDQUFrQyxDQUFDbkIsUUFBUUcsYUFBYWE7Z0JBRTVFMUIsWUFBWThCLFFBQVEsQ0FBQ0g7Z0JBRXJCMUIsZ0JBQWdCLElBQUk7WUFDdEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsZUFBZTtRQUNqQkQsWUFBWStCLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFiM0IsY0FBYTtJQUNqRCxDQUFDO0lBRURILGdCQUNFRCxZQUFZZ0MsUUFBUSxDQUFDakMsYUFDbkJDLFlBQVlnQyxRQUFRLENBQUNqQyxVQUFVO0lBRW5DLE9BQU9FO0FBQ1QifQ==
|
package/lib/verify/lemma.js
CHANGED
|
@@ -12,8 +12,8 @@ var _lemma = /*#__PURE__*/ _interopRequireDefault(require("../lemma"));
|
|
|
12
12
|
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../verify/proof"));
|
|
13
13
|
var _proof1 = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
14
14
|
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
15
|
-
var
|
|
16
|
-
var
|
|
15
|
+
var _antecedent = /*#__PURE__*/ _interopRequireDefault(require("./antecedent"));
|
|
16
|
+
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("./consequent"));
|
|
17
17
|
var _array = require("../utilities/array");
|
|
18
18
|
var _constants = require("../constants");
|
|
19
19
|
var _string = require("../utilities/string");
|
|
@@ -23,7 +23,7 @@ function _interopRequireDefault(obj) {
|
|
|
23
23
|
default: obj
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/lemma/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/lemma/label"),
|
|
26
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/lemma/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/lemma/label"), consequentNodeQuery = (0, _query.nodeQuery)("/lemma/consequent!"), antecedentsNodeQuery = (0, _query.nodesQuery)("/lemma/antecedent");
|
|
27
27
|
function verifyLemma(lemmaNode, fileContext) {
|
|
28
28
|
var lemmaVerified = false;
|
|
29
29
|
fileContext.begin(lemmaNode);
|
|
@@ -31,20 +31,21 @@ function verifyLemma(lemmaNode, fileContext) {
|
|
|
31
31
|
labelsString === _constants.EMPTY_STRING ? fileContext.debug("Verifying a lemma...") : fileContext.debug("Verifying the '".concat(labelsString, "' lemma..."));
|
|
32
32
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
33
33
|
if (labelsVerified) {
|
|
34
|
-
var antecedents = [],
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
34
|
+
var antecedents = [], antecedentNodes = antecedentsNodeQuery(lemmaNode), antecedentsVerified = antecedentNodes.every(function(antecedentNode) {
|
|
35
|
+
var antecedentVerified = (0, _antecedent.default)(antecedentNode, antecedents, proofContext);
|
|
36
|
+
if (antecedentVerified) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (antecedentsVerified) {
|
|
41
|
+
var consequents = [], consequentNode = consequentNodeQuery(lemmaNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, proofContext);
|
|
42
|
+
if (consequentVerified) {
|
|
43
|
+
var proofNode = proofNodeQuery(lemmaNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, proofVerified = (0, _proof.default)(proofNode, consequent, proofContext);
|
|
44
|
+
if (proofVerified) {
|
|
45
|
+
var lemma = _lemma.default.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
46
|
+
fileContext.addLemma(lemma);
|
|
47
|
+
lemmaVerified = true;
|
|
48
|
+
}
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}
|
|
@@ -55,4 +56,4 @@ function verifyLemma(lemmaNode, fileContext) {
|
|
|
55
56
|
return lemmaVerified;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMZW1tYSBmcm9tIFwiLi4vbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5QW50ZWNlZGVudCBmcm9tIFwiLi9hbnRlY2VkZW50XCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi9jb25zZXF1ZW50XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgYW50ZWNlZGVudHNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2xlbW1hL2FudGVjZWRlbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUxlbW1hKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGxlbW1hVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihsZW1tYU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyBhIGxlbW1hLi4uYCkgOlxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbGVtbWEuLi5gKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgYW50ZWNlZGVudHMgPSBbXSxcbiAgICAgICAgICBhbnRlY2VkZW50Tm9kZXMgPSBhbnRlY2VkZW50c05vZGVRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICAgIGFudGVjZWRlbnRzVmVyaWZpZWQgPSBhbnRlY2VkZW50Tm9kZXMuZXZlcnkoKGFudGVjZWRlbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbnRlY2VkZW50VmVyaWZpZWQgPSB2ZXJpZnlBbnRlY2VkZW50KGFudGVjZWRlbnROb2RlLCBhbnRlY2VkZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGFudGVjZWRlbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmIChhbnRlY2VkZW50c1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBjb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25zZXF1ZW50LCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgbGVtbWEgPSBMZW1tYS5mcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50KGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTGVtbWEobGVtbWEpO1xuXG4gICAgICAgICAgbGVtbWFWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlIGxlbW1hLmApIDpcbiAgICAgICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIGxlbW1hLmApO1xuICB9XG5cbiAgbGVtbWFWZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUobGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShsZW1tYU5vZGUpO1xuXG4gIHJldHVybiBsZW1tYVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUxlbW1hIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uc2VxdWVudE5vZGVRdWVyeSIsImFudGVjZWRlbnRzTm9kZVF1ZXJ5IiwibGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJsZW1tYVZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsInByb29mQ29udGV4dCIsIlByb29mQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsIkVNUFRZX1NUUklORyIsImRlYnVnIiwibGFiZWxzIiwibGFiZWxzVmVyaWZpZWQiLCJ2ZXJpZnlMYWJlbHMiLCJhbnRlY2VkZW50cyIsImFudGVjZWRlbnROb2RlcyIsImFudGVjZWRlbnRzVmVyaWZpZWQiLCJldmVyeSIsImFudGVjZWRlbnROb2RlIiwiYW50ZWNlZGVudFZlcmlmaWVkIiwidmVyaWZ5QW50ZWNlZGVudCIsImNvbnNlcXVlbnRzIiwiY29uc2VxdWVudE5vZGUiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJ2ZXJpZnlDb25zZXF1ZW50IiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50IiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwibGVtbWEiLCJMZW1tYSIsImZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQiLCJhZGRMZW1tYSIsImluZm8iLCJjb21wbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUJBOzs7ZUFBd0JBOzs7MERBakJOOzBEQUNNOzJEQUNDOzJEQUNBOytEQUNJOytEQUNBO3FCQUVQO3lCQUNPO3NCQUNDO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLGtCQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsc0JBQXNCSCxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0ksdUJBQXVCRixJQUFBQSxpQkFBVSxFQUFDO0FBRXpCLFNBQVNKLFlBQVlPLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQzFELElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFSLGdCQUFnQkksWUFDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxlQUFZLENBQUNDLGVBQWUsQ0FBQ1I7SUFFakRJLGlCQUFpQkssdUJBQVksR0FDNUJULFlBQVlVLEtBQUssQ0FBRSwwQkFDakJWLFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTixjQUFhLGNBQVk7SUFFakUsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVixZQUFZUSxRQUFRWDtJQUV4RCxJQUFJWSxnQkFBZ0I7UUFDbEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxrQkFBa0JqQixxQkFBcUJDLFlBQ3ZDaUIsc0JBQXNCRCxnQkFBZ0JFLEtBQUssQ0FBQyxTQUFDQyxnQkFBbUI7WUFDOUQsSUFBTUMscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCSixhQUFhUjtZQUV6RSxJQUFJYSxvQkFBb0I7Z0JBQ3RCLE9BQU8sSUFBSTtZQUNiLENBQUM7UUFDSDtRQUVOLElBQUlILHFCQUFxQjtZQUN2QixJQUFNSyxjQUFjLEVBQUUsRUFDaEJDLGlCQUFpQnpCLG9CQUFvQkUsWUFDckN3QixxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JELGFBQWFmO1lBRXpFLElBQUlpQixvQkFBb0I7Z0JBQ3RCLElBQU1FLFlBQVloQyxlQUFlTSxZQUMzQjJCLGtCQUFrQkMsSUFBQUEsWUFBSyxFQUFDTixjQUN4Qk8sYUFBYUYsaUJBQ2JHLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDTCxXQUFXRyxZQUFZdEI7Z0JBRXpELElBQUl1QixlQUFlO29CQUNqQixJQUFNRSxRQUFRQyxjQUFLLENBQUNDLGtDQUFrQyxDQUFDdEIsUUFBUUcsYUFBYWM7b0JBRTVFNUIsWUFBWWtDLFFBQVEsQ0FBQ0g7b0JBRXJCOUIsZ0JBQWdCLElBQUk7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxlQUFlO1FBQ2hCRyxpQkFBaUJLLHVCQUFZLEdBQzVCVCxZQUFZbUMsSUFBSSxDQUFFLHlCQUNoQm5DLFlBQVltQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYi9CLGNBQWEsWUFBVTtJQUMvRCxDQUFDO0lBRURILGdCQUNFRCxZQUFZb0MsUUFBUSxDQUFDckMsYUFDbkJDLFlBQVlvQyxRQUFRLENBQUNyQyxVQUFVO0lBRW5DLE9BQU9FO0FBQ1QifQ==
|
package/lib/verify/rule.js
CHANGED
|
@@ -10,10 +10,10 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _rule = /*#__PURE__*/ _interopRequireDefault(require("../rule"));
|
|
12
12
|
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
13
|
+
var _premise = /*#__PURE__*/ _interopRequireDefault(require("../verify/premise"));
|
|
13
14
|
var _metaproof = /*#__PURE__*/ _interopRequireDefault(require("../verify/metaproof"));
|
|
14
15
|
var _metaproof1 = /*#__PURE__*/ _interopRequireDefault(require("../context/metaproof"));
|
|
15
|
-
var
|
|
16
|
-
var _unconditionalInference = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalInference"));
|
|
16
|
+
var _conclusion = /*#__PURE__*/ _interopRequireDefault(require("../verify/conclusion"));
|
|
17
17
|
var _array = require("../utilities/array");
|
|
18
18
|
var _string = require("../utilities/string");
|
|
19
19
|
var _query = require("../utilities/query");
|
|
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) {
|
|
|
22
22
|
default: obj
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/rule/label"),
|
|
25
|
+
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!");
|
|
26
26
|
function verifyRule(ruleNode, fileContext) {
|
|
27
27
|
var ruleVerified = false;
|
|
28
28
|
fileContext.begin(ruleNode);
|
|
@@ -30,24 +30,25 @@ function verifyRule(ruleNode, fileContext) {
|
|
|
30
30
|
fileContext.debug("Verifying the '".concat(labelsString, "' rule..."));
|
|
31
31
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
32
32
|
if (labelsVerified) {
|
|
33
|
-
var premises = [],
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
if (unconditionalInferenceNode !== null) {
|
|
39
|
-
unconditionalInferenceVerified = (0, _unconditionalInference.default)(unconditionalInferenceNode, conclusions, metaproofContext);
|
|
40
|
-
}
|
|
41
|
-
if (conditionalInferenceVerified || unconditionalInferenceVerified) {
|
|
42
|
-
var metaproofNode = metaproofNodeQuery(ruleNode), firstConclusion = (0, _array.first)(conclusions), conclusion = firstConclusion; ///
|
|
43
|
-
var metaproofVerified = true;
|
|
44
|
-
if (metaproofNode !== null) {
|
|
45
|
-
metaproofVerified = (0, _metaproof.default)(metaproofNode, conclusion, metaproofContext);
|
|
33
|
+
var premises = [], premiseNodes = premisesNodeQuery(ruleNode), premisesVerified = premiseNodes.every(function(premiseNode) {
|
|
34
|
+
var premiseVerified = (0, _premise.default)(premiseNode, premises, metaproofContext);
|
|
35
|
+
if (premiseVerified) {
|
|
36
|
+
return true;
|
|
46
37
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
});
|
|
39
|
+
if (premisesVerified) {
|
|
40
|
+
var conclusions = [], conclusionNode = conclusionNodeQuery(ruleNode), conclusionVerified = (0, _conclusion.default)(conclusionNode, conclusions, metaproofContext);
|
|
41
|
+
if (conclusionVerified) {
|
|
42
|
+
var metaproofNode = metaproofNodeQuery(ruleNode), firstConclusion = (0, _array.first)(conclusions), conclusion = firstConclusion; ///
|
|
43
|
+
var metaproofVerified = true; ///
|
|
44
|
+
if (metaproofNode !== null) {
|
|
45
|
+
metaproofVerified = (0, _metaproof.default)(metaproofNode, conclusion, metaproofContext);
|
|
46
|
+
}
|
|
47
|
+
if (metaproofVerified) {
|
|
48
|
+
var rule = _rule.default.fromLabelsPremisesAndConclusion(labels, premises, conclusion);
|
|
49
|
+
fileContext.addRule(rule);
|
|
50
|
+
ruleVerified = true;
|
|
51
|
+
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
}
|
|
@@ -58,4 +59,4 @@ function verifyRule(ruleNode, fileContext) {
|
|
|
58
59
|
return ruleVerified;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlQcmVtaXNlIGZyb20gXCIuLi92ZXJpZnkvcHJlbWlzZVwiO1xuaW1wb3J0IHZlcmlmeU1ldGFwcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L21ldGFwcm9vZlwiO1xuaW1wb3J0IE1ldGFwcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5Q29uY2x1c2lvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2Rlc0FzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlL2xhYmVsXCIpLFxuICAgICAgcHJlbWlzZXNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGUvcHJlbWlzZVwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL21ldGFwcm9vZiFcIiksXG4gICAgICBjb25jbHVzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUvY29uY2x1c2lvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVJ1bGUocnVsZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBydWxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihydWxlTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShydWxlTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IG5vZGVzQXNTdHJpbmcobGFiZWxOb2RlcyksXG4gICAgICAgIG1ldGFwcm9vZkNvbnRleHQgPSBNZXRhcHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgcnVsZS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBwcmVtaXNlcyA9IFtdLFxuICAgICAgICAgIHByZW1pc2VOb2RlcyA9IHByZW1pc2VzTm9kZVF1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgICBwcmVtaXNlc1ZlcmlmaWVkID0gcHJlbWlzZU5vZGVzLmV2ZXJ5KChwcmVtaXNlTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJlbWlzZVZlcmlmaWVkID0gdmVyaWZ5UHJlbWlzZShwcmVtaXNlTm9kZSwgcHJlbWlzZXMsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAocHJlbWlzZVZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKHByZW1pc2VzVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbmNsdXNpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9kZSA9IGNvbmNsdXNpb25Ob2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgY29uY2x1c2lvblZlcmlmaWVkID0gdmVyaWZ5Q29uY2x1c2lvbihjb25jbHVzaW9uTm9kZSwgY29uY2x1c2lvbnMsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvblZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbmNsdXNpb24gPSBmaXJzdChjb25jbHVzaW9ucyksXG4gICAgICAgICAgICAgIGNvbmNsdXNpb24gPSBmaXJzdENvbmNsdXNpb247IC8vL1xuXG4gICAgICAgIGxldCBtZXRhcHJvb2ZWZXJpZmllZCA9IHRydWU7IC8vL1xuXG4gICAgICAgIGlmIChtZXRhcHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgbWV0YXByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgY29uY2x1c2lvbiwgbWV0YXByb29mQ29udGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBydWxlID0gUnVsZS5mcm9tTGFiZWxzUHJlbWlzZXNBbmRDb25jbHVzaW9uKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkUnVsZShydWxlKTtcblxuICAgICAgICAgIHJ1bGVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocnVsZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIHJ1bGUuYCk7XG4gIH1cblxuICBydWxlVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHJ1bGVOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShydWxlTm9kZSk7XG5cbiAgcmV0dXJuIHJ1bGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByZW1pc2VzTm9kZVF1ZXJ5IiwibWV0YXByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uY2x1c2lvbk5vZGVRdWVyeSIsInJ1bGVOb2RlIiwiZmlsZUNvbnRleHQiLCJydWxlVmVyaWZpZWQiLCJiZWdpbiIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibWV0YXByb29mQ29udGV4dCIsIk1ldGFwcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwicHJlbWlzZXMiLCJwcmVtaXNlTm9kZXMiLCJwcmVtaXNlc1ZlcmlmaWVkIiwiZXZlcnkiLCJwcmVtaXNlTm9kZSIsInByZW1pc2VWZXJpZmllZCIsInZlcmlmeVByZW1pc2UiLCJjb25jbHVzaW9ucyIsImNvbmNsdXNpb25Ob2RlIiwiY29uY2x1c2lvblZlcmlmaWVkIiwidmVyaWZ5Q29uY2x1c2lvbiIsIm1ldGFwcm9vZk5vZGUiLCJmaXJzdENvbmNsdXNpb24iLCJmaXJzdCIsImNvbmNsdXNpb24iLCJtZXRhcHJvb2ZWZXJpZmllZCIsInZlcmlmeU1ldGFwcm9vZiIsInJ1bGUiLCJSdWxlIiwiZnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbiIsImFkZFJ1bGUiLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7O3lEQWhCUDsyREFDUTs0REFDQzs4REFDRTsrREFDQzsrREFDQTtxQkFFUDtzQkFDUTtxQkFDUTs7Ozs7O0FBRXRDLElBQU1DLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxnQkFDN0JDLG9CQUFvQkQsSUFBQUEsaUJBQVUsRUFBQyxrQkFDL0JFLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTTCxXQUFXTyxRQUFRLEVBQUVDLFdBQVcsRUFBRTtJQUN4RCxJQUFJQyxlQUFlLEtBQUs7SUFFeEJELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVYsZ0JBQWdCTSxXQUM3QkssZUFBZUMsSUFBQUEscUJBQWEsRUFBQ0YsYUFDN0JHLG1CQUFtQkMsbUJBQWdCLENBQUNDLGVBQWUsQ0FBQ1I7SUFFMURBLFlBQVlTLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTCxjQUFhO0lBRWpELElBQU1NLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1QsWUFBWU8sUUFBUVY7SUFFeEQsSUFBSVcsZ0JBQWdCO1FBQ2xCLElBQU1FLFdBQVcsRUFBRSxFQUNiQyxlQUFlbkIsa0JBQWtCSSxXQUNqQ2dCLG1CQUFtQkQsYUFBYUUsS0FBSyxDQUFDLFNBQUNDLGFBQWdCO1lBQ3JELElBQU1DLGtCQUFrQkMsSUFBQUEsZ0JBQWEsRUFBQ0YsYUFBYUosVUFBVVA7WUFFN0QsSUFBSVksaUJBQWlCO2dCQUNuQixPQUFPLElBQUk7WUFDYixDQUFDO1FBQ0g7UUFFTixJQUFJSCxrQkFBa0I7WUFDcEIsSUFBTUssY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJ2QixvQkFBb0JDLFdBQ3JDdUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhZDtZQUV6RSxJQUFJZ0Isb0JBQW9CO2dCQUN0QixJQUFNRSxnQkFBZ0I1QixtQkFBbUJHLFdBQ25DMEIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFBaUIsR0FBRztnQkFFdkMsSUFBSUcsb0JBQW9CLElBQUksRUFBRSxHQUFHO2dCQUVqQyxJQUFJSixrQkFBa0IsSUFBSSxFQUFFO29CQUMxQkksb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDTCxlQUFlRyxZQUFZckI7Z0JBQ2pFLENBQUM7Z0JBRUQsSUFBSXNCLG1CQUFtQjtvQkFDckIsSUFBTUUsT0FBT0MsYUFBSSxDQUFDQywrQkFBK0IsQ0FBQ3RCLFFBQVFHLFVBQVVjO29CQUVwRTNCLFlBQVlpQyxPQUFPLENBQUNIO29CQUVwQjdCLGVBQWUsSUFBSTtnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGNBQWM7UUFDaEJELFlBQVlrQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjlCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxlQUNFRCxZQUFZbUMsUUFBUSxDQUFDcEMsWUFDbkJDLFlBQVltQyxRQUFRLENBQUNwQyxTQUFTO0lBRWxDLE9BQU9FO0FBQ1QifQ==
|
package/lib/verify/theorem.js
CHANGED
|
@@ -12,8 +12,8 @@ var _theorem = /*#__PURE__*/ _interopRequireDefault(require("../theorem"));
|
|
|
12
12
|
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../verify/proof"));
|
|
13
13
|
var _proof1 = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
14
14
|
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
15
|
-
var
|
|
16
|
-
var
|
|
15
|
+
var _antecedent = /*#__PURE__*/ _interopRequireDefault(require("./antecedent"));
|
|
16
|
+
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("./consequent"));
|
|
17
17
|
var _array = require("../utilities/array");
|
|
18
18
|
var _string = require("../utilities/string");
|
|
19
19
|
var _query = require("../utilities/query");
|
|
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) {
|
|
|
22
22
|
default: obj
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/theorem/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/theorem/label"),
|
|
25
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/theorem/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/theorem/label"), consequentNodeQuery = (0, _query.nodeQuery)("/theorem/consequent!"), antecedentsNodeQuery = (0, _query.nodesQuery)("/theorem/antecedent");
|
|
26
26
|
function verifyTheorem(theoremNode, fileContext) {
|
|
27
27
|
var theoremVerified = false;
|
|
28
28
|
fileContext.begin(theoremNode);
|
|
@@ -30,20 +30,21 @@ function verifyTheorem(theoremNode, fileContext) {
|
|
|
30
30
|
fileContext.debug("Verifying the '".concat(labelsString, "' theorem..."));
|
|
31
31
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
32
32
|
if (labelsVerified) {
|
|
33
|
-
var antecedents = [],
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
var antecedents = [], antecedentNodes = antecedentsNodeQuery(theoremNode), antecedentsVerified = antecedentNodes.every(function(antecedentNode) {
|
|
34
|
+
var antecedentVerified = (0, _antecedent.default)(antecedentNode, antecedents, proofContext);
|
|
35
|
+
if (antecedentVerified) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (antecedentsVerified) {
|
|
40
|
+
var consequents = [], consequentNode = consequentNodeQuery(theoremNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, proofContext);
|
|
41
|
+
if (consequentVerified) {
|
|
42
|
+
var proofNode = proofNodeQuery(theoremNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, proofVerified = (0, _proof.default)(proofNode, consequent, proofContext);
|
|
43
|
+
if (proofVerified) {
|
|
44
|
+
var theorem = _theorem.default.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
45
|
+
fileContext.addTheorem(theorem);
|
|
46
|
+
theoremVerified = true;
|
|
47
|
+
}
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -54,4 +55,4 @@ function verifyTheorem(theoremNode, fileContext) {
|
|
|
54
55
|
return theoremVerified;
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5QW50ZWNlZGVudCBmcm9tIFwiLi9hbnRlY2VkZW50XCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi9jb25zZXF1ZW50XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RoZW9yZW0vcHJvb2YhXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi90aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgYW50ZWNlZGVudHNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3RoZW9yZW0vYW50ZWNlZGVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGhlb3JlbSh0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHRoZW9yZW1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHRoZW9yZW1Ob2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgdGhlb3JlbS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBhbnRlY2VkZW50cyA9IFtdLFxuICAgICAgICAgIGFudGVjZWRlbnROb2RlcyA9IGFudGVjZWRlbnRzTm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICBhbnRlY2VkZW50c1ZlcmlmaWVkID0gYW50ZWNlZGVudE5vZGVzLmV2ZXJ5KChhbnRlY2VkZW50Tm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYW50ZWNlZGVudFZlcmlmaWVkID0gdmVyaWZ5QW50ZWNlZGVudChhbnRlY2VkZW50Tm9kZSwgYW50ZWNlZGVudHMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChhbnRlY2VkZW50VmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoYW50ZWNlZGVudHNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIGNvbnNlcXVlbnQsIHByb29mQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCB0aGVvcmVtID0gVGhlb3JlbS5mcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50KGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkVGhlb3JlbSh0aGVvcmVtKTtcblxuICAgICAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodGhlb3JlbVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIHRoZW9yZW0uYCk7XG4gIH1cblxuICB0aGVvcmVtVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHRoZW9yZW1Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh0aGVvcmVtTm9kZSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUaGVvcmVtIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uc2VxdWVudE5vZGVRdWVyeSIsImFudGVjZWRlbnRzTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGUiLCJmaWxlQ29udGV4dCIsInRoZW9yZW1WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwiYW50ZWNlZGVudHMiLCJhbnRlY2VkZW50Tm9kZXMiLCJhbnRlY2VkZW50c1ZlcmlmaWVkIiwiZXZlcnkiLCJhbnRlY2VkZW50Tm9kZSIsImFudGVjZWRlbnRWZXJpZmllZCIsInZlcmlmeUFudGVjZWRlbnQiLCJjb25zZXF1ZW50cyIsImNvbnNlcXVlbnROb2RlIiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsInByb29mTm9kZSIsImZpcnN0Q29uc2VxdWVudCIsImZpcnN0IiwiY29uc2VxdWVudCIsInByb29mVmVyaWZpZWQiLCJ2ZXJpZnlQcm9vZiIsInRoZW9yZW0iLCJUaGVvcmVtIiwiZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudCIsImFkZFRoZW9yZW0iLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7OzREQWhCSjswREFDSTsyREFDQzsyREFDQTsrREFDSTsrREFDQTtxQkFFUDtzQkFDUTtxQkFDUTs7Ozs7O0FBRXRDLElBQU1DLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDM0JDLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxtQkFDN0JDLHNCQUFzQkgsSUFBQUEsZ0JBQVMsRUFBQyx5QkFDaENJLHVCQUF1QkYsSUFBQUEsaUJBQVUsRUFBQztBQUV6QixTQUFTSixjQUFjTyxXQUFXLEVBQUVDLFdBQVcsRUFBRTtJQUM5RCxJQUFJQyxrQkFBa0IsS0FBSztJQUUzQkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhUixnQkFBZ0JJLGNBQzdCSyxlQUFlQyxJQUFBQSxxQkFBYSxFQUFDRixhQUM3QkcsZUFBZUMsZUFBWSxDQUFDQyxlQUFlLENBQUNSO0lBRWxEQSxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYTtJQUVqRCxJQUFNTSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSxjQUFjLEVBQUUsRUFDaEJDLGtCQUFrQmhCLHFCQUFxQkMsY0FDdkNnQixzQkFBc0JELGdCQUFnQkUsS0FBSyxDQUFDLFNBQUNDLGdCQUFtQjtZQUM5RCxJQUFNQyxxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JKLGFBQWFQO1lBRXpFLElBQUlZLG9CQUFvQjtnQkFDdEIsT0FBTyxJQUFJO1lBQ2IsQ0FBQztRQUNIO1FBRU4sSUFBSUgscUJBQXFCO1lBQ3ZCLElBQU1LLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCeEIsb0JBQW9CRSxjQUNyQ3VCLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkQsYUFBYWQ7WUFFekUsSUFBSWdCLG9CQUFvQjtnQkFDdEIsSUFBTUUsWUFBWS9CLGVBQWVNLGNBQzNCMEIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFDYkcsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNMLFdBQVdHLFlBQVlyQjtnQkFFekQsSUFBSXNCLGVBQWU7b0JBQ2pCLElBQU1FLFVBQVVDLGdCQUFPLENBQUNDLGtDQUFrQyxDQUFDdEIsUUFBUUcsYUFBYWM7b0JBRWhGM0IsWUFBWWlDLFVBQVUsQ0FBQ0g7b0JBRXZCN0Isa0JBQWtCLElBQUk7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxpQkFBaUI7UUFDbkJELFlBQVlrQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjlCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxrQkFDRUQsWUFBWW1DLFFBQVEsQ0FBQ3BDLGVBQ25CQyxZQUFZbUMsUUFBUSxDQUFDcEMsWUFBWTtJQUVyQyxPQUFPRTtBQUNUIn0=
|
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.497",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.21",
|
|
14
14
|
"necessary": "^11.2.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.382",
|
|
16
16
|
"occam-dom": "^3.1.1",
|
|
17
|
-
"occam-file-system": "^5.0.
|
|
17
|
+
"occam-file-system": "^5.0.142",
|
|
18
18
|
"occam-grammar-utilities": "^7.0.66"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
package/src/verify/axiom.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import Axiom from "../axiom";
|
|
4
4
|
import ProofContext from "../context/proof";
|
|
5
5
|
import verifyLabels from "../verify/labels";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import verifyAntecedent from "../verify/antecedent";
|
|
7
|
+
import verifyConsequent from "../verify/consequent";
|
|
8
8
|
|
|
9
9
|
import { first } from "../utilities/array";
|
|
10
10
|
import { nodesAsString } from "../utilities/string";
|
|
11
11
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
12
12
|
|
|
13
13
|
const labelNodesQuery = nodesQuery("/axiom/label"),
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
consequentNodeQuery = nodeQuery("/axiom/consequent!"),
|
|
15
|
+
antecedentsNodeQuery = nodesQuery("/axiom/antecedent");
|
|
16
16
|
|
|
17
17
|
export default function verifyAxiom(axiomNode, fileContext) {
|
|
18
18
|
let axiomVerified = false;
|
|
@@ -30,29 +30,29 @@ export default function verifyAxiom(axiomNode, fileContext) {
|
|
|
30
30
|
|
|
31
31
|
if (labelsVerified) {
|
|
32
32
|
const antecedents = [],
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
antecedentNodes = antecedentsNodeQuery(axiomNode),
|
|
34
|
+
antecedentsVerified = antecedentNodes.every((antecedentNode) => {
|
|
35
|
+
const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
if (antecedentVerified) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
39
41
|
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (unconditionalIndicativeNode !== null) {
|
|
45
|
-
unconditionalIndicativeVerified = verifyUnconditionalIndicative(unconditionalIndicativeNode, consequents, proofContext);
|
|
46
|
-
}
|
|
42
|
+
if (antecedentsVerified) {
|
|
43
|
+
const consequents = [],
|
|
44
|
+
consequentNode = consequentNodeQuery(axiomNode),
|
|
45
|
+
consequentVerified = verifyConsequent(consequentNode, consequents, proofContext);
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
if (consequentVerified) {
|
|
48
|
+
const firstConsequent = first(consequents),
|
|
49
|
+
consequent = firstConsequent, ///
|
|
50
|
+
axiom = Axiom.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
fileContext.addAxiom(axiom);
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
axiomVerified = true;
|
|
55
|
+
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
|
package/src/verify/lemma.js
CHANGED
|
@@ -4,8 +4,8 @@ import Lemma from "../lemma";
|
|
|
4
4
|
import verifyProof from "../verify/proof";
|
|
5
5
|
import ProofContext from "../context/proof";
|
|
6
6
|
import verifyLabels from "../verify/labels";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import verifyAntecedent from "./antecedent";
|
|
8
|
+
import verifyConsequent from "./consequent";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
11
11
|
import { EMPTY_STRING } from "../constants";
|
|
@@ -14,8 +14,8 @@ import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
|
14
14
|
|
|
15
15
|
const proofNodeQuery = nodeQuery("/lemma/proof!"),
|
|
16
16
|
labelNodesQuery = nodesQuery("/lemma/label"),
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
consequentNodeQuery = nodeQuery("/lemma/consequent!"),
|
|
18
|
+
antecedentsNodeQuery = nodesQuery("/lemma/antecedent");
|
|
19
19
|
|
|
20
20
|
export default function verifyLemma(lemmaNode, fileContext) {
|
|
21
21
|
let lemmaVerified = false;
|
|
@@ -35,33 +35,33 @@ export default function verifyLemma(lemmaNode, fileContext) {
|
|
|
35
35
|
|
|
36
36
|
if (labelsVerified) {
|
|
37
37
|
const antecedents = [],
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
antecedentNodes = antecedentsNodeQuery(lemmaNode),
|
|
39
|
+
antecedentsVerified = antecedentNodes.every((antecedentNode) => {
|
|
40
|
+
const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
if (antecedentVerified) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
44
46
|
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (unconditionalIndicativeNode !== null) {
|
|
50
|
-
unconditionalIndicativeVerified = verifyUnconditionalIndicative(unconditionalIndicativeNode, consequents, proofContext);
|
|
51
|
-
}
|
|
47
|
+
if (antecedentsVerified) {
|
|
48
|
+
const consequents = [],
|
|
49
|
+
consequentNode = consequentNodeQuery(lemmaNode),
|
|
50
|
+
consequentVerified = verifyConsequent(consequentNode, consequents, proofContext);
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
if (consequentVerified) {
|
|
53
|
+
const proofNode = proofNodeQuery(lemmaNode),
|
|
54
|
+
firstConsequent = first(consequents),
|
|
55
|
+
consequent = firstConsequent, ///
|
|
56
|
+
proofVerified = verifyProof(proofNode, consequent, proofContext);
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
if (proofVerified) {
|
|
59
|
+
const lemma = Lemma.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
61
60
|
|
|
62
|
-
|
|
61
|
+
fileContext.addLemma(lemma);
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
lemmaVerified = true;
|
|
64
|
+
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
package/src/verify/rule.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
import Rule from "../rule";
|
|
4
4
|
import verifyLabels from "../verify/labels";
|
|
5
|
+
import verifyPremise from "../verify/premise";
|
|
5
6
|
import verifyMetaproof from "../verify/metaproof";
|
|
6
7
|
import MetaproofContext from "../context/metaproof";
|
|
7
|
-
import
|
|
8
|
-
import verifyUnconditionalInference from "../verify/unconditionalInference";
|
|
8
|
+
import verifyConclusion from "../verify/conclusion";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
11
11
|
import { nodesAsString } from "../utilities/string";
|
|
12
12
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
13
13
|
|
|
14
14
|
const labelNodesQuery = nodesQuery("/rule/label"),
|
|
15
|
+
premisesNodeQuery = nodesQuery("/rule/premise"),
|
|
15
16
|
metaproofNodeQuery = nodeQuery("/rule/metaproof!"),
|
|
16
|
-
|
|
17
|
-
unconditionalInferenceNodeQuery = nodeQuery("/rule/unconditionalInference!");
|
|
17
|
+
conclusionNodeQuery = nodeQuery("/rule/conclusion!");
|
|
18
18
|
|
|
19
19
|
export default function verifyRule(ruleNode, fileContext) {
|
|
20
20
|
let ruleVerified = false;
|
|
@@ -32,38 +32,38 @@ export default function verifyRule(ruleNode, fileContext) {
|
|
|
32
32
|
|
|
33
33
|
if (labelsVerified) {
|
|
34
34
|
const premises = [],
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
premiseNodes = premisesNodeQuery(ruleNode),
|
|
36
|
+
premisesVerified = premiseNodes.every((premiseNode) => {
|
|
37
|
+
const premiseVerified = verifyPremise(premiseNode, premises, metaproofContext);
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
if (premiseVerified) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
41
43
|
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (unconditionalInferenceNode !== null) {
|
|
47
|
-
unconditionalInferenceVerified = verifyUnconditionalInference(unconditionalInferenceNode, conclusions, metaproofContext);
|
|
48
|
-
}
|
|
44
|
+
if (premisesVerified) {
|
|
45
|
+
const conclusions = [],
|
|
46
|
+
conclusionNode = conclusionNodeQuery(ruleNode),
|
|
47
|
+
conclusionVerified = verifyConclusion(conclusionNode, conclusions, metaproofContext);
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
if (conclusionVerified) {
|
|
50
|
+
const metaproofNode = metaproofNodeQuery(ruleNode),
|
|
51
|
+
firstConclusion = first(conclusions),
|
|
52
|
+
conclusion = firstConclusion; ///
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
let metaproofVerified = true; ///
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
if (metaproofNode !== null) {
|
|
57
|
+
metaproofVerified = verifyMetaproof(metaproofNode, conclusion, metaproofContext);
|
|
58
|
+
}
|
|
60
59
|
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
if (metaproofVerified) {
|
|
61
|
+
const rule = Rule.fromLabelsPremisesAndConclusion(labels, premises, conclusion);
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
fileContext.addRule(rule);
|
|
65
64
|
|
|
66
|
-
|
|
65
|
+
ruleVerified = true;
|
|
66
|
+
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
package/src/verify/theorem.js
CHANGED
|
@@ -4,8 +4,8 @@ import Theorem from "../theorem";
|
|
|
4
4
|
import verifyProof from "../verify/proof";
|
|
5
5
|
import ProofContext from "../context/proof";
|
|
6
6
|
import verifyLabels from "../verify/labels";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import verifyAntecedent from "./antecedent";
|
|
8
|
+
import verifyConsequent from "./consequent";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
11
11
|
import { nodesAsString } from "../utilities/string";
|
|
@@ -13,8 +13,8 @@ import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
|
13
13
|
|
|
14
14
|
const proofNodeQuery = nodeQuery("/theorem/proof!"),
|
|
15
15
|
labelNodesQuery = nodesQuery("/theorem/label"),
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
consequentNodeQuery = nodeQuery("/theorem/consequent!"),
|
|
17
|
+
antecedentsNodeQuery = nodesQuery("/theorem/antecedent");
|
|
18
18
|
|
|
19
19
|
export default function verifyTheorem(theoremNode, fileContext) {
|
|
20
20
|
let theoremVerified = false;
|
|
@@ -32,33 +32,33 @@ export default function verifyTheorem(theoremNode, fileContext) {
|
|
|
32
32
|
|
|
33
33
|
if (labelsVerified) {
|
|
34
34
|
const antecedents = [],
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
antecedentNodes = antecedentsNodeQuery(theoremNode),
|
|
36
|
+
antecedentsVerified = antecedentNodes.every((antecedentNode) => {
|
|
37
|
+
const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
if (antecedentVerified) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
41
43
|
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (unconditionalIndicativeNode !== null) {
|
|
47
|
-
unconditionalIndicativeVerified = verifyUnconditionalIndicative(unconditionalIndicativeNode, consequents, proofContext);
|
|
48
|
-
}
|
|
44
|
+
if (antecedentsVerified) {
|
|
45
|
+
const consequents = [],
|
|
46
|
+
consequentNode = consequentNodeQuery(theoremNode),
|
|
47
|
+
consequentVerified = verifyConsequent(consequentNode, consequents, proofContext);
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
if (consequentVerified) {
|
|
50
|
+
const proofNode = proofNodeQuery(theoremNode),
|
|
51
|
+
firstConsequent = first(consequents),
|
|
52
|
+
consequent = firstConsequent, ///
|
|
53
|
+
proofVerified = verifyProof(proofNode, consequent, proofContext);
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
if (proofVerified) {
|
|
56
|
+
const theorem = Theorem.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
fileContext.addTheorem(theorem);
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
theoremVerified = true;
|
|
61
|
+
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -1,37 +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 verifyConditionalInference;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _premise = /*#__PURE__*/ _interopRequireDefault(require("../verify/premise"));
|
|
12
|
-
var _conclusion = /*#__PURE__*/ _interopRequireDefault(require("../verify/conclusion"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
function _interopRequireDefault(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
var premisesNodeQuery = (0, _query.nodesQuery)("/conditionalInference/premise"), conclusionNodeQuery = (0, _query.nodeQuery)("/conditionalInference/conclusion!");
|
|
20
|
-
function verifyConditionalInference(conditionalInferenceNode, premises, conclusions, metaproofContext) {
|
|
21
|
-
var conditionalInferenceVerified = false;
|
|
22
|
-
metaproofContext.begin(conditionalInferenceNode);
|
|
23
|
-
var conclusionNode = conclusionNodeQuery(conditionalInferenceNode), premiseNodes = premisesNodeQuery(conditionalInferenceNode), premisesVerified = premiseNodes.every(function(premiseNode) {
|
|
24
|
-
var premiseVerified = (0, _premise.default)(premiseNode, premises, metaproofContext);
|
|
25
|
-
if (premiseVerified) {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
if (premisesVerified) {
|
|
30
|
-
var conclusionVerified = (0, _conclusion.default)(conclusionNode, conclusions, metaproofContext);
|
|
31
|
-
conditionalInferenceVerified = conclusionVerified; ///
|
|
32
|
-
}
|
|
33
|
-
conditionalInferenceVerified ? metaproofContext.complete(conditionalInferenceNode) : metaproofContext.halt(conditionalInferenceNode);
|
|
34
|
-
return conditionalInferenceVerified;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uZGl0aW5hbEluZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVByZW1pc2UgZnJvbSBcIi4uL3ZlcmlmeS9wcmVtaXNlXCI7XG5pbXBvcnQgdmVyaWZ5Q29uY2x1c2lvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcmVtaXNlc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvY29uZGl0aW9uYWxJbmZlcmVuY2UvcHJlbWlzZVwiKSxcbiAgICAgIGNvbmNsdXNpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uZGl0aW9uYWxJbmZlcmVuY2UvY29uY2x1c2lvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSwgcHJlbWlzZXMsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihjb25kaXRpb25hbEluZmVyZW5jZU5vZGUpO1xuXG4gIGNvbnN0IGNvbmNsdXNpb25Ob2RlID0gY29uY2x1c2lvbk5vZGVRdWVyeShjb25kaXRpb25hbEluZmVyZW5jZU5vZGUpLFxuICAgICAgICBwcmVtaXNlTm9kZXMgPSBwcmVtaXNlc05vZGVRdWVyeShjb25kaXRpb25hbEluZmVyZW5jZU5vZGUpLFxuICAgICAgICBwcmVtaXNlc1ZlcmlmaWVkID0gcHJlbWlzZU5vZGVzLmV2ZXJ5KChwcmVtaXNlTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByZW1pc2VWZXJpZmllZCA9IHZlcmlmeVByZW1pc2UocHJlbWlzZU5vZGUsIHByZW1pc2VzLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgIGlmIChwcmVtaXNlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgaWYgKHByZW1pc2VzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBjb25jbHVzaW9uVmVyaWZpZWQgPSB2ZXJpZnlDb25jbHVzaW9uKGNvbmNsdXNpb25Ob2RlLCBjb25jbHVzaW9ucywgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICBjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkID0gY29uY2x1c2lvblZlcmlmaWVkOyAgLy8vXG4gIH1cblxuICBjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSk7XG5cbiAgcmV0dXJuIGNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uZGl0aW9uYWxJbmZlcmVuY2UiLCJwcmVtaXNlc05vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25jbHVzaW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlIiwicHJlbWlzZXMiLCJjb25jbHVzaW9ucyIsIm1ldGFwcm9vZkNvbnRleHQiLCJjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkIiwiYmVnaW4iLCJjb25jbHVzaW9uTm9kZSIsInByZW1pc2VOb2RlcyIsInByZW1pc2VzVmVyaWZpZWQiLCJldmVyeSIsInByZW1pc2VOb2RlIiwicHJlbWlzZVZlcmlmaWVkIiwidmVyaWZ5UHJlbWlzZSIsImNvbmNsdXNpb25WZXJpZmllZCIsInZlcmlmeUNvbmNsdXNpb24iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7NERBUkU7K0RBQ0c7cUJBRVM7Ozs7OztBQUV0QyxJQUFNQyxvQkFBb0JDLElBQUFBLGlCQUFVLEVBQUMsa0NBQy9CQyxzQkFBc0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFdkIsU0FBU0osMkJBQTJCSyx3QkFBd0IsRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLGdCQUFnQixFQUFFO0lBQ3BILElBQUlDLCtCQUErQixLQUFLO0lBRXhDRCxpQkFBaUJFLEtBQUssQ0FBQ0w7SUFFdkIsSUFBTU0saUJBQWlCUixvQkFBb0JFLDJCQUNyQ08sZUFBZVgsa0JBQWtCSSwyQkFDakNRLG1CQUFtQkQsYUFBYUUsS0FBSyxDQUFDLFNBQUNDLGFBQWdCO1FBQ3JELElBQU1DLGtCQUFrQkMsSUFBQUEsZ0JBQWEsRUFBQ0YsYUFBYVQsVUFBVUU7UUFFN0QsSUFBSVEsaUJBQWlCO1lBQ25CLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVOLElBQUlILGtCQUFrQjtRQUNwQixJQUFNSyxxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDUixnQkFBZ0JKLGFBQWFDO1FBRXpFQywrQkFBK0JTLG9CQUFxQixHQUFHO0lBQ3pELENBQUM7SUFFRFQsK0JBQ0VELGlCQUFpQlksUUFBUSxDQUFDZiw0QkFDeEJHLGlCQUFpQmEsSUFBSSxDQUFDaEIseUJBQXlCO0lBRW5ELE9BQU9JO0FBQ1QifQ==
|
|
@@ -1,37 +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 verifyConditionalIndicative;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("../verify/consequent"));
|
|
12
|
-
var _antecedent = /*#__PURE__*/ _interopRequireDefault(require("../verify/antecedent"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
function _interopRequireDefault(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
var consequentNodeQuery = (0, _query.nodeQuery)("/conditionalIndicative/consequent!"), antecedentsNodeQuery = (0, _query.nodesQuery)("/conditionalIndicative/antecedent");
|
|
20
|
-
function verifyConditionalIndicative(conditionalIndicativeNode, antecedents, consequents, proofContext) {
|
|
21
|
-
var conditionalIndicativeVerified = false;
|
|
22
|
-
proofContext.begin(conditionalIndicativeNode);
|
|
23
|
-
var consequentNode = consequentNodeQuery(conditionalIndicativeNode), antecedentNodes = antecedentsNodeQuery(conditionalIndicativeNode), antecedentsVerified = antecedentNodes.every(function(antecedentNode) {
|
|
24
|
-
var antecedentVerified = (0, _antecedent.default)(antecedentNode, antecedents, proofContext);
|
|
25
|
-
if (antecedentVerified) {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
if (antecedentsVerified) {
|
|
30
|
-
var consequentVerified = (0, _consequent.default)(consequentNode, consequents, proofContext);
|
|
31
|
-
conditionalIndicativeVerified = consequentVerified; ///
|
|
32
|
-
}
|
|
33
|
-
conditionalIndicativeVerified ? proofContext.complete(conditionalIndicativeNode) : proofContext.halt(conditionalIndicativeNode);
|
|
34
|
-
return conditionalIndicativeVerified;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uZGl0aW9uYWxJbmRpY2F0aXZlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlBbnRlY2VkZW50IGZyb20gXCIuLi92ZXJpZnkvYW50ZWNlZGVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGNvbnNlcXVlbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uZGl0aW9uYWxJbmRpY2F0aXZlL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgYW50ZWNlZGVudHNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2NvbmRpdGlvbmFsSW5kaWNhdGl2ZS9hbnRlY2VkZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb25kaXRpb25hbEluZGljYXRpdmUoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSwgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnRzLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUpO1xuXG4gIGNvbnN0IGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKSxcbiAgICAgICAgYW50ZWNlZGVudE5vZGVzID0gYW50ZWNlZGVudHNOb2RlUXVlcnkoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSksXG4gICAgICAgIGFudGVjZWRlbnRzVmVyaWZpZWQgPSBhbnRlY2VkZW50Tm9kZXMuZXZlcnkoKGFudGVjZWRlbnROb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgYW50ZWNlZGVudFZlcmlmaWVkID0gdmVyaWZ5QW50ZWNlZGVudChhbnRlY2VkZW50Tm9kZSwgYW50ZWNlZGVudHMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgICAgICBpZiAoYW50ZWNlZGVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIGlmIChhbnRlY2VkZW50c1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgY29uc2VxdWVudFZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50Tm9kZSwgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCk7XG5cbiAgICBjb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGNvbnNlcXVlbnRWZXJpZmllZDsgIC8vL1xuICB9XG5cbiAgY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKTtcblxuICByZXR1cm4gY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIiwiY29uc2VxdWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImFudGVjZWRlbnRzTm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUiLCJhbnRlY2VkZW50cyIsImNvbnNlcXVlbnRzIiwicHJvb2ZDb250ZXh0IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJiZWdpbiIsImNvbnNlcXVlbnROb2RlIiwiYW50ZWNlZGVudE5vZGVzIiwiYW50ZWNlZGVudHNWZXJpZmllZCIsImV2ZXJ5IiwiYW50ZWNlZGVudE5vZGUiLCJhbnRlY2VkZW50VmVyaWZpZWQiLCJ2ZXJpZnlBbnRlY2VkZW50IiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsrREFSSzsrREFDQTtxQkFFUzs7Ozs7O0FBRXRDLElBQU1DLHNCQUFzQkMsSUFBQUEsZ0JBQVMsRUFBQyx1Q0FDaENDLHVCQUF1QkMsSUFBQUEsaUJBQVUsRUFBQztBQUV6QixTQUFTSiw0QkFBNEJLLHlCQUF5QixFQUFFQyxXQUFXLEVBQUVDLFdBQVcsRUFBRUMsWUFBWSxFQUFFO0lBQ3JILElBQUlDLGdDQUFnQyxLQUFLO0lBRXpDRCxhQUFhRSxLQUFLLENBQUNMO0lBRW5CLElBQU1NLGlCQUFpQlYsb0JBQW9CSSw0QkFDckNPLGtCQUFrQlQscUJBQXFCRSw0QkFDdkNRLHNCQUFzQkQsZ0JBQWdCRSxLQUFLLENBQUMsU0FBQ0MsZ0JBQW1CO1FBQzlELElBQU1DLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQlQsYUFBYUU7UUFFekUsSUFBSVEsb0JBQW9CO1lBQ3RCLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVOLElBQUlILHFCQUFxQjtRQUN2QixJQUFNSyxxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDUixnQkFBZ0JKLGFBQWFDO1FBRXpFQyxnQ0FBZ0NTLG9CQUFxQixHQUFHO0lBQzFELENBQUM7SUFFRFQsZ0NBQ0VELGFBQWFZLFFBQVEsQ0FBQ2YsNkJBQ3BCRyxhQUFhYSxJQUFJLENBQUNoQiwwQkFBMEI7SUFFaEQsT0FBT0k7QUFDVCJ9
|
|
@@ -1,28 +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 verifyUnconditionalIndicative;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("../verify/consequent"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _interopRequireDefault(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
var consequentNodeQuery = (0, _query.nodeQuery)("/unconditionalIndicative/consequent!");
|
|
19
|
-
function verifyUnconditionalIndicative(conditionalIndicativeNode, consequents, proofContext) {
|
|
20
|
-
var unconditionalIndicativeVerified;
|
|
21
|
-
proofContext.begin(conditionalIndicativeNode);
|
|
22
|
-
var consequentNode = consequentNodeQuery(conditionalIndicativeNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, proofContext);
|
|
23
|
-
unconditionalIndicativeVerified = consequentVerified; ///
|
|
24
|
-
unconditionalIndicativeVerified ? proofContext.complete(conditionalIndicativeNode) : proofContext.halt(conditionalIndicativeNode);
|
|
25
|
-
return unconditionalIndicativeVerified;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdW5jb25kaXRpb25hbEluZGljYXRpdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlDb25zZXF1ZW50IGZyb20gXCIuLi92ZXJpZnkvY29uc2VxdWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGNvbnNlcXVlbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5jb25kaXRpb25hbEluZGljYXRpdmUvY29uc2VxdWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVuY29uZGl0aW9uYWxJbmRpY2F0aXZlKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUsIGNvbnNlcXVlbnRzLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQ7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUpO1xuXG4gIGNvbnN0IGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKSxcbiAgICAgICAgY29uc2VxdWVudFZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50Tm9kZSwgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCk7XG5cbiAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGNvbnNlcXVlbnRWZXJpZmllZDsgIC8vL1xuXG4gIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKTtcblxuICByZXR1cm4gdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlVbmNvbmRpdGlvbmFsSW5kaWNhdGl2ZSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwiY29uc2VxdWVudHMiLCJwcm9vZkNvbnRleHQiLCJ1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIiwiYmVnaW4iLCJjb25zZXF1ZW50Tm9kZSIsImNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeUNvbnNlcXVlbnQiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7K0RBTks7cUJBRUg7Ozs7OztBQUUxQixJQUFNQyxzQkFBc0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFdkIsU0FBU0YsOEJBQThCRyx5QkFBeUIsRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUU7SUFDMUcsSUFBSUM7SUFFSkQsYUFBYUUsS0FBSyxDQUFDSjtJQUVuQixJQUFNSyxpQkFBaUJQLG9CQUFvQkUsNEJBQ3JDTSxxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JKLGFBQWFDO0lBRXpFQyxrQ0FBa0NHLG9CQUFxQixHQUFHO0lBRTFESCxrQ0FDRUQsYUFBYU0sUUFBUSxDQUFDUiw2QkFDcEJFLGFBQWFPLElBQUksQ0FBQ1QsMEJBQTBCO0lBRWhELE9BQU9HO0FBQ1QifQ==
|
|
@@ -1,28 +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 verifyUnconditionalInference;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _conclusion = /*#__PURE__*/ _interopRequireDefault(require("../verify/conclusion"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _interopRequireDefault(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
var conclusionNodeQuery = (0, _query.nodeQuery)("/unconditionalInference/conclusion!");
|
|
19
|
-
function verifyUnconditionalInference(conditionalInferenceNode, conclusions, metaproofContext) {
|
|
20
|
-
var unconditionalInferenceVerified;
|
|
21
|
-
metaproofContext.begin(conditionalInferenceNode);
|
|
22
|
-
var conclusionNode = conclusionNodeQuery(conditionalInferenceNode), conclusionVerified = (0, _conclusion.default)(conclusionNode, conclusions, metaproofContext);
|
|
23
|
-
unconditionalInferenceVerified = conclusionVerified; ///
|
|
24
|
-
unconditionalInferenceVerified ? metaproofContext.complete(conditionalInferenceNode) : metaproofContext.halt(conditionalInferenceNode);
|
|
25
|
-
return unconditionalInferenceVerified;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdW5jb25kaXRpb25hbEluZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUNvbmNsdXNpb24gZnJvbSBcIi4uL3ZlcmlmeS9jb25jbHVzaW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgY29uY2x1c2lvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bmNvbmRpdGlvbmFsSW5mZXJlbmNlL2NvbmNsdXNpb24hXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlVbmNvbmRpdGlvbmFsSW5mZXJlbmNlKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSwgY29uY2x1c2lvbnMsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZDtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSk7XG5cbiAgY29uc3QgY29uY2x1c2lvbk5vZGUgPSBjb25jbHVzaW9uTm9kZVF1ZXJ5KGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSksXG4gICAgICAgIGNvbmNsdXNpb25WZXJpZmllZCA9IHZlcmlmeUNvbmNsdXNpb24oY29uY2x1c2lvbk5vZGUsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQgPSBjb25jbHVzaW9uVmVyaWZpZWQ7ICAvLy9cblxuICB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUoY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQoY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlKTtcblxuICByZXR1cm4gdW5jb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UiLCJjb25jbHVzaW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlIiwiY29uY2x1c2lvbnMiLCJtZXRhcHJvb2ZDb250ZXh0IiwidW5jb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkIiwiYmVnaW4iLCJjb25jbHVzaW9uTm9kZSIsImNvbmNsdXNpb25WZXJpZmllZCIsInZlcmlmeUNvbmNsdXNpb24iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7K0RBTks7cUJBRUg7Ozs7OztBQUUxQixJQUFNQyxzQkFBc0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFdkIsU0FBU0YsNkJBQTZCRyx3QkFBd0IsRUFBRUMsV0FBVyxFQUFFQyxnQkFBZ0IsRUFBRTtJQUM1RyxJQUFJQztJQUVKRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUssaUJBQWlCUCxvQkFBb0JFLDJCQUNyQ00scUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCSixhQUFhQztJQUV6RUMsaUNBQWlDRyxvQkFBcUIsR0FBRztJQUV6REgsaUNBQ0VELGlCQUFpQk0sUUFBUSxDQUFDUiw0QkFDeEJFLGlCQUFpQk8sSUFBSSxDQUFDVCx5QkFBeUI7SUFFbkQsT0FBT0c7QUFDVCJ9
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyPremise from "../verify/premise";
|
|
4
|
-
import verifyConclusion from "../verify/conclusion";
|
|
5
|
-
|
|
6
|
-
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
7
|
-
|
|
8
|
-
const premisesNodeQuery = nodesQuery("/conditionalInference/premise"),
|
|
9
|
-
conclusionNodeQuery = nodeQuery("/conditionalInference/conclusion!");
|
|
10
|
-
|
|
11
|
-
export default function verifyConditionalInference(conditionalInferenceNode, premises, conclusions, metaproofContext) {
|
|
12
|
-
let conditionalInferenceVerified = false;
|
|
13
|
-
|
|
14
|
-
metaproofContext.begin(conditionalInferenceNode);
|
|
15
|
-
|
|
16
|
-
const conclusionNode = conclusionNodeQuery(conditionalInferenceNode),
|
|
17
|
-
premiseNodes = premisesNodeQuery(conditionalInferenceNode),
|
|
18
|
-
premisesVerified = premiseNodes.every((premiseNode) => {
|
|
19
|
-
const premiseVerified = verifyPremise(premiseNode, premises, metaproofContext);
|
|
20
|
-
|
|
21
|
-
if (premiseVerified) {
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
if (premisesVerified) {
|
|
27
|
-
const conclusionVerified = verifyConclusion(conclusionNode, conclusions, metaproofContext);
|
|
28
|
-
|
|
29
|
-
conditionalInferenceVerified = conclusionVerified; ///
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
conditionalInferenceVerified ?
|
|
33
|
-
metaproofContext.complete(conditionalInferenceNode) :
|
|
34
|
-
metaproofContext.halt(conditionalInferenceNode);
|
|
35
|
-
|
|
36
|
-
return conditionalInferenceVerified;
|
|
37
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyConsequent from "../verify/consequent";
|
|
4
|
-
import verifyAntecedent from "../verify/antecedent";
|
|
5
|
-
|
|
6
|
-
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
7
|
-
|
|
8
|
-
const consequentNodeQuery = nodeQuery("/conditionalIndicative/consequent!"),
|
|
9
|
-
antecedentsNodeQuery = nodesQuery("/conditionalIndicative/antecedent");
|
|
10
|
-
|
|
11
|
-
export default function verifyConditionalIndicative(conditionalIndicativeNode, antecedents, consequents, proofContext) {
|
|
12
|
-
let conditionalIndicativeVerified = false;
|
|
13
|
-
|
|
14
|
-
proofContext.begin(conditionalIndicativeNode);
|
|
15
|
-
|
|
16
|
-
const consequentNode = consequentNodeQuery(conditionalIndicativeNode),
|
|
17
|
-
antecedentNodes = antecedentsNodeQuery(conditionalIndicativeNode),
|
|
18
|
-
antecedentsVerified = antecedentNodes.every((antecedentNode) => {
|
|
19
|
-
const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
|
|
20
|
-
|
|
21
|
-
if (antecedentVerified) {
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
if (antecedentsVerified) {
|
|
27
|
-
const consequentVerified = verifyConsequent(consequentNode, consequents, proofContext);
|
|
28
|
-
|
|
29
|
-
conditionalIndicativeVerified = consequentVerified; ///
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
conditionalIndicativeVerified ?
|
|
33
|
-
proofContext.complete(conditionalIndicativeNode) :
|
|
34
|
-
proofContext.halt(conditionalIndicativeNode);
|
|
35
|
-
|
|
36
|
-
return conditionalIndicativeVerified;
|
|
37
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyConsequent from "../verify/consequent";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../utilities/query";
|
|
6
|
-
|
|
7
|
-
const consequentNodeQuery = nodeQuery("/unconditionalIndicative/consequent!");
|
|
8
|
-
|
|
9
|
-
export default function verifyUnconditionalIndicative(conditionalIndicativeNode, consequents, proofContext) {
|
|
10
|
-
let unconditionalIndicativeVerified;
|
|
11
|
-
|
|
12
|
-
proofContext.begin(conditionalIndicativeNode);
|
|
13
|
-
|
|
14
|
-
const consequentNode = consequentNodeQuery(conditionalIndicativeNode),
|
|
15
|
-
consequentVerified = verifyConsequent(consequentNode, consequents, proofContext);
|
|
16
|
-
|
|
17
|
-
unconditionalIndicativeVerified = consequentVerified; ///
|
|
18
|
-
|
|
19
|
-
unconditionalIndicativeVerified ?
|
|
20
|
-
proofContext.complete(conditionalIndicativeNode) :
|
|
21
|
-
proofContext.halt(conditionalIndicativeNode);
|
|
22
|
-
|
|
23
|
-
return unconditionalIndicativeVerified;
|
|
24
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyConclusion from "../verify/conclusion";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../utilities/query";
|
|
6
|
-
|
|
7
|
-
const conclusionNodeQuery = nodeQuery("/unconditionalInference/conclusion!");
|
|
8
|
-
|
|
9
|
-
export default function verifyUnconditionalInference(conditionalInferenceNode, conclusions, metaproofContext) {
|
|
10
|
-
let unconditionalInferenceVerified;
|
|
11
|
-
|
|
12
|
-
metaproofContext.begin(conditionalInferenceNode);
|
|
13
|
-
|
|
14
|
-
const conclusionNode = conclusionNodeQuery(conditionalInferenceNode),
|
|
15
|
-
conclusionVerified = verifyConclusion(conclusionNode, conclusions, metaproofContext);
|
|
16
|
-
|
|
17
|
-
unconditionalInferenceVerified = conclusionVerified; ///
|
|
18
|
-
|
|
19
|
-
unconditionalInferenceVerified ?
|
|
20
|
-
metaproofContext.complete(conditionalInferenceNode) :
|
|
21
|
-
metaproofContext.halt(conditionalInferenceNode);
|
|
22
|
-
|
|
23
|
-
return unconditionalInferenceVerified;
|
|
24
|
-
}
|