occam-verify-cli 0.0.496 → 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.
@@ -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 _conditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditionalIndicative"));
15
- var _unconditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalIndicative"));
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"), conditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/axiom/conditionalIndicative!"), unconditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/axiom/unconditionalIndicative!");
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 = [], consequents = [], conditionalIndicativeNode = conditionalIndicativeNodeQuery(axiomNode), unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(axiomNode);
33
- var conditionalIndicativeVerified = false, unconditionalIndicativeVerified = false;
34
- if (conditionalIndicativeNode !== null) {
35
- conditionalIndicativeVerified = (0, _conditionalIndicative.default)(conditionalIndicativeNode, antecedents, consequents, proofContext);
36
- }
37
- if (unconditionalIndicativeNode !== null) {
38
- unconditionalIndicativeVerified = (0, _unconditionalIndicative.default)(unconditionalIndicativeNode, consequents, proofContext);
39
- }
40
- if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
41
- var firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, axiom = _axiom.default.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
42
- fileContext.addAxiom(axiom);
43
- axiomVerified = true;
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlDb25kaXRpb25hbEluZGljYXRpdmUgZnJvbSBcIi4uL3ZlcmlmeS9jb25kaXRpb25hbEluZGljYXRpdmVcIjtcbmltcG9ydCB2ZXJpZnlVbmNvbmRpdGlvbmFsSW5kaWNhdGl2ZSBmcm9tIFwiLi4vdmVyaWZ5L3VuY29uZGl0aW9uYWxJbmRpY2F0aXZlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vbGFiZWxcIiksXG4gICAgICBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb20vY29uZGl0aW9uYWxJbmRpY2F0aXZlIVwiKSxcbiAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tL3VuY29uZGl0aW9uYWxJbmRpY2F0aXZlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5QXhpb20oYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgYXhpb21WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKGF4aW9tTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBheGlvbS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBhbnRlY2VkZW50cyA9IFtdLFxuICAgICAgICAgIGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSA9IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSA9IHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5KGF4aW9tTm9kZSk7XG5cbiAgICBsZXQgY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlICE9PSBudWxsKSB7XG4gICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgfHwgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCkge1xuICAgICAgY29uc3QgZmlyc3RDb25zZXF1ZW50ID0gZmlyc3QoY29uc2VxdWVudHMpLFxuICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQobGFiZWxzLCBhbnRlY2VkZW50cywgY29uc2VxdWVudCk7XG5cbiAgICAgIGZpbGVDb250ZXh0LmFkZEF4aW9tKGF4aW9tKTtcblxuICAgICAgYXhpb21WZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGF4aW9tVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgYXhpb20uYCk7XG4gIH1cblxuICBheGlvbVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShheGlvbU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKGF4aW9tTm9kZSk7XG5cbiAgcmV0dXJuIGF4aW9tVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5QXhpb20iLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkiLCJheGlvbU5vZGUiLCJmaWxlQ29udGV4dCIsImF4aW9tVmVyaWZpZWQiLCJiZWdpbiIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwicHJvb2ZDb250ZXh0IiwiUHJvb2ZDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZGVidWciLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImFudGVjZWRlbnRzIiwiY29uc2VxdWVudHMiLCJjb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJ1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIiwidmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIiwidmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJheGlvbSIsIkF4aW9tIiwiZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudCIsImFkZEF4aW9tIiwiaW5mbyIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUF3QkE7OzswREFkTjswREFDTzsyREFDQTswRUFDZTs0RUFDRTtxQkFFcEI7c0JBQ1E7cUJBQ1E7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsaUJBQzdCQyxpQ0FBaUNDLElBQUFBLGdCQUFTLEVBQUMsa0NBQzNDQyxtQ0FBbUNELElBQUFBLGdCQUFTLEVBQUM7QUFFcEMsU0FBU0osWUFBWU0sU0FBUyxFQUFFQyxXQUFXLEVBQUU7SUFDMUQsSUFBSUMsZ0JBQWdCLEtBQUs7SUFFekJELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVQsZ0JBQWdCSyxZQUM3QkssZUFBZUMsSUFBQUEscUJBQWEsRUFBQ0YsYUFDN0JHLGVBQWVDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDUjtJQUVsREEsWUFBWVMsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWE7SUFFakQsSUFBTU0sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVjtJQUV4RCxJQUFJVyxnQkFBZ0I7UUFDbEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxjQUFjLEVBQUUsRUFDaEJDLDRCQUE0Qm5CLCtCQUErQkcsWUFDM0RpQiw4QkFBOEJsQixpQ0FBaUNDO1FBRXJFLElBQUlrQixnQ0FBZ0MsS0FBSyxFQUNyQ0Msa0NBQWtDLEtBQUs7UUFFM0MsSUFBSUgsOEJBQThCLElBQUksRUFBRTtZQUN0Q0UsZ0NBQWdDRSxJQUFBQSw4QkFBMkIsRUFBQ0osMkJBQTJCRixhQUFhQyxhQUFhUjtRQUNuSCxDQUFDO1FBRUQsSUFBSVUsZ0NBQWdDLElBQUksRUFBRTtZQUN4Q0Usa0NBQWtDRSxJQUFBQSxnQ0FBNkIsRUFBQ0osNkJBQTZCRixhQUFhUjtRQUM1RyxDQUFDO1FBRUQsSUFBSVcsaUNBQWlDQyxpQ0FBaUM7WUFDcEUsSUFBTUcsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNSLGNBQ3hCUyxhQUFhRixpQkFDYkcsUUFBUUMsY0FBSyxDQUFDQyxrQ0FBa0MsQ0FBQ2hCLFFBQVFHLGFBQWFVO1lBRTVFdkIsWUFBWTJCLFFBQVEsQ0FBQ0g7WUFFckJ2QixnQkFBZ0IsSUFBSTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGVBQWU7UUFDakJELFlBQVk0QixJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYnhCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxnQkFDRUQsWUFBWTZCLFFBQVEsQ0FBQzlCLGFBQ25CQyxZQUFZNkIsUUFBUSxDQUFDOUIsVUFBVTtJQUVuQyxPQUFPRTtBQUNUIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlBbnRlY2VkZW50IGZyb20gXCIuLi92ZXJpZnkvYW50ZWNlZGVudFwiO1xuaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgYW50ZWNlZGVudHNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2F4aW9tL2FudGVjZWRlbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUF4aW9tKGF4aW9tTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGF4aW9tVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihheGlvbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgYXhpb20uLi5gKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgYW50ZWNlZGVudHMgPSBbXSxcbiAgICAgICAgICBhbnRlY2VkZW50Tm9kZXMgPSBhbnRlY2VkZW50c05vZGVRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICAgIGFudGVjZWRlbnRzVmVyaWZpZWQgPSBhbnRlY2VkZW50Tm9kZXMuZXZlcnkoKGFudGVjZWRlbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbnRlY2VkZW50VmVyaWZpZWQgPSB2ZXJpZnlBbnRlY2VkZW50KGFudGVjZWRlbnROb2RlLCBhbnRlY2VkZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGFudGVjZWRlbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmIChhbnRlY2VkZW50c1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBjb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KGF4aW9tTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQobGFiZWxzLCBhbnRlY2VkZW50cywgY29uc2VxdWVudCk7XG5cbiAgICAgICAgZmlsZUNvbnRleHQuYWRkQXhpb20oYXhpb20pO1xuXG4gICAgICAgIGF4aW9tVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChheGlvbVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIGF4aW9tLmApO1xuICB9XG5cbiAgYXhpb21WZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUoYXhpb21Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShheGlvbU5vZGUpO1xuXG4gIHJldHVybiBheGlvbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUF4aW9tIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJhbnRlY2VkZW50c05vZGVRdWVyeSIsImF4aW9tTm9kZSIsImZpbGVDb250ZXh0IiwiYXhpb21WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwiYW50ZWNlZGVudHMiLCJhbnRlY2VkZW50Tm9kZXMiLCJhbnRlY2VkZW50c1ZlcmlmaWVkIiwiZXZlcnkiLCJhbnRlY2VkZW50Tm9kZSIsImFudGVjZWRlbnRWZXJpZmllZCIsInZlcmlmeUFudGVjZWRlbnQiLCJjb25zZXF1ZW50cyIsImNvbnNlcXVlbnROb2RlIiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsImZpcnN0Q29uc2VxdWVudCIsImZpcnN0IiwiY29uc2VxdWVudCIsImF4aW9tIiwiQXhpb20iLCJmcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50IiwiYWRkQXhpb20iLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQXdCQTs7OzBEQWROOzBEQUNPOzJEQUNBOytEQUNJOytEQUNBO3FCQUVQO3NCQUNRO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0MsdUJBQXVCSCxJQUFBQSxpQkFBVSxFQUFDO0FBRXpCLFNBQVNGLFlBQVlNLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQzFELElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFULGdCQUFnQkssWUFDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1I7SUFFbERBLFlBQVlTLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTCxjQUFhO0lBRWpELElBQU1NLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1QsWUFBWU8sUUFBUVY7SUFFeEQsSUFBSVcsZ0JBQWdCO1FBQ2xCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsa0JBQWtCaEIscUJBQXFCQyxZQUN2Q2dCLHNCQUFzQkQsZ0JBQWdCRSxLQUFLLENBQUMsU0FBQ0MsZ0JBQW1CO1lBQzlELElBQU1DLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkosYUFBYVA7WUFFekUsSUFBSVksb0JBQW9CO2dCQUN0QixPQUFPLElBQUk7WUFDYixDQUFDO1FBQ0g7UUFFTixJQUFJSCxxQkFBcUI7WUFDdkIsSUFBTUssY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJ6QixvQkFBb0JHLFlBQ3JDdUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhZDtZQUV6RSxJQUFJZ0Isb0JBQW9CO2dCQUN0QixJQUFNRSxrQkFBa0JDLElBQUFBLFlBQUssRUFBQ0wsY0FDeEJNLGFBQWFGLGlCQUNiRyxRQUFRQyxjQUFLLENBQUNDLGtDQUFrQyxDQUFDbkIsUUFBUUcsYUFBYWE7Z0JBRTVFMUIsWUFBWThCLFFBQVEsQ0FBQ0g7Z0JBRXJCMUIsZ0JBQWdCLElBQUk7WUFDdEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsZUFBZTtRQUNqQkQsWUFBWStCLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFiM0IsY0FBYTtJQUNqRCxDQUFDO0lBRURILGdCQUNFRCxZQUFZZ0MsUUFBUSxDQUFDakMsYUFDbkJDLFlBQVlnQyxRQUFRLENBQUNqQyxVQUFVO0lBRW5DLE9BQU9FO0FBQ1QifQ==
@@ -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 _conditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditionalIndicative"));
16
- var _unconditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalIndicative"));
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"), conditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/lemma/conditionalIndicative!"), unconditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/lemma/unconditionalIndicative!");
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 = [], consequents = [], conditionalIndicativeNode = conditionalIndicativeNodeQuery(lemmaNode), unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(lemmaNode);
35
- var conditionalIndicativeVerified = false, unconditionalIndicativeVerified = false;
36
- if (conditionalIndicativeNode !== null) {
37
- conditionalIndicativeVerified = (0, _conditionalIndicative.default)(conditionalIndicativeNode, antecedents, consequents, proofContext);
38
- }
39
- if (unconditionalIndicativeNode !== null) {
40
- unconditionalIndicativeVerified = (0, _unconditionalIndicative.default)(unconditionalIndicativeNode, consequents, proofContext);
41
- }
42
- if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
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;
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMZW1tYSBmcm9tIFwiLi4vbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW9uYWxJbmRpY2F0aXZlXCI7XG5pbXBvcnQgdmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUgZnJvbSBcIi4uL3ZlcmlmeS91bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYS9wcm9vZiFcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2xlbW1hL2xhYmVsXCIpLFxuICAgICAgY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL2NvbmRpdGlvbmFsSW5kaWNhdGl2ZSFcIiksXG4gICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYS91bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUxlbW1hKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGxlbW1hVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihsZW1tYU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyBhIGxlbW1hLi4uYCkgOlxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbGVtbWEuLi5gKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgYW50ZWNlZGVudHMgPSBbXSxcbiAgICAgICAgICBjb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgPSBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgPSB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeShsZW1tYU5vZGUpO1xuXG4gICAgbGV0IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGlmIChjb25kaXRpb25hbEluZGljYXRpdmVOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IHZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBhbnRlY2VkZW50cywgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IHZlcmlmeVVuY29uZGl0aW9uYWxJbmRpY2F0aXZlKHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSwgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIHx8IHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICBjb25zZXF1ZW50ID0gZmlyc3RDb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIGNvbnNlcXVlbnQsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGxlbW1hID0gTGVtbWEuZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudChsYWJlbHMsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50KTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRMZW1tYShsZW1tYSk7XG5cbiAgICAgICAgbGVtbWFWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGxlbW1hVmVyaWZpZWQpIHtcbiAgICAobGFiZWxzU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSBsZW1tYS5gKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBsZW1tYS5gKTtcbiAgfVxuXG4gIGxlbW1hVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKGxlbW1hTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuY29tcGxldGUobGVtbWFOb2RlKTtcblxuICByZXR1cm4gbGVtbWFWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlMZW1tYSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSIsInVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5IiwibGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJsZW1tYVZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsInByb29mQ29udGV4dCIsIlByb29mQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsIkVNUFRZX1NUUklORyIsImRlYnVnIiwibGFiZWxzIiwibGFiZWxzVmVyaWZpZWQiLCJ2ZXJpZnlMYWJlbHMiLCJhbnRlY2VkZW50cyIsImNvbnNlcXVlbnRzIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSIsInVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIiwidW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCIsInZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZSIsInZlcmlmeVVuY29uZGl0aW9uYWxJbmRpY2F0aXZlIiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50IiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwibGVtbWEiLCJMZW1tYSIsImZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQiLCJhZGRMZW1tYSIsImluZm8iLCJjb21wbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUJBOzs7ZUFBd0JBOzs7MERBakJOOzBEQUNNOzJEQUNDOzJEQUNBOzBFQUNlOzRFQUNFO3FCQUVwQjt5QkFDTztzQkFDQztxQkFDUTs7Ozs7O0FBRXRDLElBQU1DLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxrQkFDM0JDLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxpQkFDN0JDLGlDQUFpQ0gsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDM0NJLG1DQUFtQ0osSUFBQUEsZ0JBQVMsRUFBQztBQUVwQyxTQUFTRixZQUFZTyxTQUFTLEVBQUVDLFdBQVcsRUFBRTtJQUMxRCxJQUFJQyxnQkFBZ0IsS0FBSztJQUV6QkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhUixnQkFBZ0JJLFlBQzdCSyxlQUFlQyxJQUFBQSxxQkFBYSxFQUFDRixhQUM3QkcsZUFBZUMsZUFBWSxDQUFDQyxlQUFlLENBQUNSO0lBRWpESSxpQkFBaUJLLHVCQUFZLEdBQzVCVCxZQUFZVSxLQUFLLENBQUUsMEJBQ2pCVixZQUFZVSxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYk4sY0FBYSxjQUFZO0lBRWpFLElBQU1PLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1YsWUFBWVEsUUFBUVg7SUFFeEQsSUFBSVksZ0JBQWdCO1FBQ2xCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsY0FBYyxFQUFFLEVBQ2hCQyw0QkFBNEJuQiwrQkFBK0JFLFlBQzNEa0IsOEJBQThCbkIsaUNBQWlDQztRQUVyRSxJQUFJbUIsZ0NBQWdDLEtBQUssRUFDckNDLGtDQUFrQyxLQUFLO1FBRTNDLElBQUlILDhCQUE4QixJQUFJLEVBQUU7WUFDdENFLGdDQUFnQ0UsSUFBQUEsOEJBQTJCLEVBQUNKLDJCQUEyQkYsYUFBYUMsYUFBYVQ7UUFDbkgsQ0FBQztRQUVELElBQUlXLGdDQUFnQyxJQUFJLEVBQUU7WUFDeENFLGtDQUFrQ0UsSUFBQUEsZ0NBQTZCLEVBQUNKLDZCQUE2QkYsYUFBYVQ7UUFDNUcsQ0FBQztRQUVELElBQUlZLGlDQUFpQ0MsaUNBQWlDO1lBQ3BFLElBQU1HLFlBQVk3QixlQUFlTSxZQUMzQndCLGtCQUFrQkMsSUFBQUEsWUFBSyxFQUFDVCxjQUN4QlUsYUFBYUYsaUJBQ2JHLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDTCxXQUFXRyxZQUFZbkI7WUFFekQsSUFBSW9CLGVBQWU7Z0JBQ2pCLElBQU1FLFFBQVFDLGNBQUssQ0FBQ0Msa0NBQWtDLENBQUNuQixRQUFRRyxhQUFhVztnQkFFNUV6QixZQUFZK0IsUUFBUSxDQUFDSDtnQkFFckIzQixnQkFBZ0IsSUFBSTtZQUN0QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxlQUFlO1FBQ2hCRyxpQkFBaUJLLHVCQUFZLEdBQzVCVCxZQUFZZ0MsSUFBSSxDQUFFLHlCQUNoQmhDLFlBQVlnQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjVCLGNBQWEsWUFBVTtJQUMvRCxDQUFDO0lBRURILGdCQUNFRCxZQUFZaUMsUUFBUSxDQUFDbEMsYUFDbkJDLFlBQVlpQyxRQUFRLENBQUNsQyxVQUFVO0lBRW5DLE9BQU9FO0FBQ1QifQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMZW1tYSBmcm9tIFwiLi4vbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5QW50ZWNlZGVudCBmcm9tIFwiLi9hbnRlY2VkZW50XCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi9jb25zZXF1ZW50XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgYW50ZWNlZGVudHNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2xlbW1hL2FudGVjZWRlbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUxlbW1hKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGxlbW1hVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihsZW1tYU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyBhIGxlbW1hLi4uYCkgOlxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbGVtbWEuLi5gKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgYW50ZWNlZGVudHMgPSBbXSxcbiAgICAgICAgICBhbnRlY2VkZW50Tm9kZXMgPSBhbnRlY2VkZW50c05vZGVRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICAgIGFudGVjZWRlbnRzVmVyaWZpZWQgPSBhbnRlY2VkZW50Tm9kZXMuZXZlcnkoKGFudGVjZWRlbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbnRlY2VkZW50VmVyaWZpZWQgPSB2ZXJpZnlBbnRlY2VkZW50KGFudGVjZWRlbnROb2RlLCBhbnRlY2VkZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGFudGVjZWRlbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmIChhbnRlY2VkZW50c1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBjb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25zZXF1ZW50LCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgbGVtbWEgPSBMZW1tYS5mcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50KGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTGVtbWEobGVtbWEpO1xuXG4gICAgICAgICAgbGVtbWFWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlIGxlbW1hLmApIDpcbiAgICAgICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIGxlbW1hLmApO1xuICB9XG5cbiAgbGVtbWFWZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUobGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShsZW1tYU5vZGUpO1xuXG4gIHJldHVybiBsZW1tYVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUxlbW1hIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uc2VxdWVudE5vZGVRdWVyeSIsImFudGVjZWRlbnRzTm9kZVF1ZXJ5IiwibGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJsZW1tYVZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsInByb29mQ29udGV4dCIsIlByb29mQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsIkVNUFRZX1NUUklORyIsImRlYnVnIiwibGFiZWxzIiwibGFiZWxzVmVyaWZpZWQiLCJ2ZXJpZnlMYWJlbHMiLCJhbnRlY2VkZW50cyIsImFudGVjZWRlbnROb2RlcyIsImFudGVjZWRlbnRzVmVyaWZpZWQiLCJldmVyeSIsImFudGVjZWRlbnROb2RlIiwiYW50ZWNlZGVudFZlcmlmaWVkIiwidmVyaWZ5QW50ZWNlZGVudCIsImNvbnNlcXVlbnRzIiwiY29uc2VxdWVudE5vZGUiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJ2ZXJpZnlDb25zZXF1ZW50IiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50IiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwibGVtbWEiLCJMZW1tYSIsImZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQiLCJhZGRMZW1tYSIsImluZm8iLCJjb21wbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUJBOzs7ZUFBd0JBOzs7MERBakJOOzBEQUNNOzJEQUNDOzJEQUNBOytEQUNJOytEQUNBO3FCQUVQO3lCQUNPO3NCQUNDO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLGtCQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsc0JBQXNCSCxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0ksdUJBQXVCRixJQUFBQSxpQkFBVSxFQUFDO0FBRXpCLFNBQVNKLFlBQVlPLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQzFELElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFSLGdCQUFnQkksWUFDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxlQUFZLENBQUNDLGVBQWUsQ0FBQ1I7SUFFakRJLGlCQUFpQkssdUJBQVksR0FDNUJULFlBQVlVLEtBQUssQ0FBRSwwQkFDakJWLFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTixjQUFhLGNBQVk7SUFFakUsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVixZQUFZUSxRQUFRWDtJQUV4RCxJQUFJWSxnQkFBZ0I7UUFDbEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxrQkFBa0JqQixxQkFBcUJDLFlBQ3ZDaUIsc0JBQXNCRCxnQkFBZ0JFLEtBQUssQ0FBQyxTQUFDQyxnQkFBbUI7WUFDOUQsSUFBTUMscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCSixhQUFhUjtZQUV6RSxJQUFJYSxvQkFBb0I7Z0JBQ3RCLE9BQU8sSUFBSTtZQUNiLENBQUM7UUFDSDtRQUVOLElBQUlILHFCQUFxQjtZQUN2QixJQUFNSyxjQUFjLEVBQUUsRUFDaEJDLGlCQUFpQnpCLG9CQUFvQkUsWUFDckN3QixxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JELGFBQWFmO1lBRXpFLElBQUlpQixvQkFBb0I7Z0JBQ3RCLElBQU1FLFlBQVloQyxlQUFlTSxZQUMzQjJCLGtCQUFrQkMsSUFBQUEsWUFBSyxFQUFDTixjQUN4Qk8sYUFBYUYsaUJBQ2JHLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDTCxXQUFXRyxZQUFZdEI7Z0JBRXpELElBQUl1QixlQUFlO29CQUNqQixJQUFNRSxRQUFRQyxjQUFLLENBQUNDLGtDQUFrQyxDQUFDdEIsUUFBUUcsYUFBYWM7b0JBRTVFNUIsWUFBWWtDLFFBQVEsQ0FBQ0g7b0JBRXJCOUIsZ0JBQWdCLElBQUk7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxlQUFlO1FBQ2hCRyxpQkFBaUJLLHVCQUFZLEdBQzVCVCxZQUFZbUMsSUFBSSxDQUFFLHlCQUNoQm5DLFlBQVltQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYi9CLGNBQWEsWUFBVTtJQUMvRCxDQUFDO0lBRURILGdCQUNFRCxZQUFZb0MsUUFBUSxDQUFDckMsYUFDbkJDLFlBQVlvQyxRQUFRLENBQUNyQyxVQUFVO0lBRW5DLE9BQU9FO0FBQ1QifQ==
@@ -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 _conditinalInference = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditinalInference"));
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"), metaproofNodeQuery = (0, _query.nodeQuery)("/rule/metaproof!"), conditionalInferenceNodeQuery = (0, _query.nodeQuery)("/rule/conditionalInference!"), unconditionalInferenceNodeQuery = (0, _query.nodeQuery)("/rule/unconditionalInference!");
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 = [], conclusions = [], conditionalInferenceNode = conditionalInferenceNodeQuery(ruleNode), unconditionalInferenceNode = unconditionalInferenceNodeQuery(ruleNode);
34
- var conditionalInferenceVerified = false, unconditionalInferenceVerified = false;
35
- if (conditionalInferenceNode !== null) {
36
- conditionalInferenceVerified = (0, _conditinalInference.default)(conditionalInferenceNode, premises, conclusions, metaproofContext);
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
- if (metaproofVerified) {
48
- var rule = _rule.default.fromLabelsPremisesAndConclusion(labels, premises, conclusion);
49
- fileContext.addRule(rule);
50
- ruleVerified = true;
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCBNZXRhcHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW5hbEluZmVyZW5jZVwiO1xuaW1wb3J0IHZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UgZnJvbSBcIi4uL3ZlcmlmeS91bmNvbmRpdGlvbmFsSW5mZXJlbmNlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9sYWJlbFwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL21ldGFwcm9vZiFcIiksXG4gICAgICBjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL2NvbmRpdGlvbmFsSW5mZXJlbmNlIVwiKSxcbiAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZS91bmNvbmRpdGlvbmFsSW5mZXJlbmNlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZShydWxlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHJ1bGVOb2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgbWV0YXByb29mQ29udGV4dCA9IE1ldGFwcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHByZW1pc2VzID0gW10sXG4gICAgICAgICAgY29uY2x1c2lvbnMgPSBbXSxcbiAgICAgICAgICBjb25kaXRpb25hbEluZmVyZW5jZU5vZGUgPSBjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgdW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUgPSB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZVF1ZXJ5KHJ1bGVOb2RlKTtcblxuICAgIGxldCBjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSwgcHJlbWlzZXMsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCB8fCB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgZmlyc3RDb25jbHVzaW9uID0gZmlyc3QoY29uY2x1c2lvbnMpLFxuICAgICAgICAgICAgY29uY2x1c2lvbiA9IGZpcnN0Q29uY2x1c2lvbjsgLy8vXG5cbiAgICAgIGxldCBtZXRhcHJvb2ZWZXJpZmllZCA9IHRydWU7XG5cbiAgICAgIGlmIChtZXRhcHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcnVsZSA9IFJ1bGUuZnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbihsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRSdWxlKHJ1bGUpO1xuXG4gICAgICAgIHJ1bGVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJ1bGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLmApO1xuICB9XG5cbiAgcnVsZVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShydWxlTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuY29tcGxldGUocnVsZU5vZGUpO1xuXG4gIHJldHVybiBydWxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UnVsZSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhcHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeSIsInVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlUXVlcnkiLCJydWxlTm9kZSIsImZpbGVDb250ZXh0IiwicnVsZVZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsIm1ldGFwcm9vZkNvbnRleHQiLCJNZXRhcHJvb2ZDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZGVidWciLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsInByZW1pc2VzIiwiY29uY2x1c2lvbnMiLCJjb25kaXRpb25hbEluZmVyZW5jZU5vZGUiLCJ1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSIsImNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQiLCJ1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQiLCJ2ZXJpZnlDb25kaXRpb25hbEluZmVyZW5jZSIsInZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UiLCJtZXRhcHJvb2ZOb2RlIiwiZmlyc3RDb25jbHVzaW9uIiwiZmlyc3QiLCJjb25jbHVzaW9uIiwibWV0YXByb29mVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhcHJvb2YiLCJydWxlIiwiUnVsZSIsImZyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24iLCJhZGRSdWxlIiwiaW5mbyIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7Ozt5REFoQlA7MkRBQ1E7OERBQ0c7K0RBQ0M7d0VBQ1U7MkVBQ0U7cUJBRW5CO3NCQUNRO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGdCQUM3QkMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFCQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDLGdDQUMxQ0Usa0NBQWtDRixJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNKLFdBQVdPLFFBQVEsRUFBRUMsV0FBVyxFQUFFO0lBQ3hELElBQUlDLGVBQWUsS0FBSztJQUV4QkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhVixnQkFBZ0JNLFdBQzdCSyxlQUFlQyxJQUFBQSxxQkFBYSxFQUFDRixhQUM3QkcsbUJBQW1CQyxtQkFBZ0IsQ0FBQ0MsZUFBZSxDQUFDUjtJQUUxREEsWUFBWVMsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWE7SUFFakQsSUFBTU0sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVjtJQUV4RCxJQUFJVyxnQkFBZ0I7UUFDbEIsSUFBTUUsV0FBVyxFQUFFLEVBQ2JDLGNBQWMsRUFBRSxFQUNoQkMsMkJBQTJCbEIsOEJBQThCRSxXQUN6RGlCLDZCQUE2QmxCLGdDQUFnQ0M7UUFFbkUsSUFBSWtCLCtCQUErQixLQUFLLEVBQ3BDQyxpQ0FBaUMsS0FBSztRQUUxQyxJQUFJSCw2QkFBNkIsSUFBSSxFQUFFO1lBQ3JDRSwrQkFBK0JFLElBQUFBLDRCQUEwQixFQUFDSiwwQkFBMEJGLFVBQVVDLGFBQWFSO1FBQzdHLENBQUM7UUFFRCxJQUFJVSwrQkFBK0IsSUFBSSxFQUFFO1lBQ3ZDRSxpQ0FBaUNFLElBQUFBLCtCQUE0QixFQUFDSiw0QkFBNEJGLGFBQWFSO1FBQ3pHLENBQUM7UUFFRCxJQUFJVyxnQ0FBZ0NDLGdDQUFnQztZQUNsRSxJQUFNRyxnQkFBZ0IxQixtQkFBbUJJLFdBQ25DdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNULGNBQ3hCVSxhQUFhRixpQkFBaUIsR0FBRztZQUV2QyxJQUFJRyxvQkFBb0IsSUFBSTtZQUU1QixJQUFJSixrQkFBa0IsSUFBSSxFQUFFO2dCQUMxQkksb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDTCxlQUFlRyxZQUFZbEI7WUFDakUsQ0FBQztZQUVELElBQUltQixtQkFBbUI7Z0JBQ3JCLElBQU1FLE9BQU9DLGFBQUksQ0FBQ0MsK0JBQStCLENBQUNuQixRQUFRRyxVQUFVVztnQkFFcEV4QixZQUFZOEIsT0FBTyxDQUFDSDtnQkFFcEIxQixlQUFlLElBQUk7WUFDckIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsY0FBYztRQUNoQkQsWUFBWStCLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFiM0IsY0FBYTtJQUNqRCxDQUFDO0lBRURILGVBQ0VELFlBQVlnQyxRQUFRLENBQUNqQyxZQUNuQkMsWUFBWWdDLFFBQVEsQ0FBQ2pDLFNBQVM7SUFFbEMsT0FBT0U7QUFDVCJ9
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlQcmVtaXNlIGZyb20gXCIuLi92ZXJpZnkvcHJlbWlzZVwiO1xuaW1wb3J0IHZlcmlmeU1ldGFwcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L21ldGFwcm9vZlwiO1xuaW1wb3J0IE1ldGFwcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5Q29uY2x1c2lvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2Rlc0FzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlL2xhYmVsXCIpLFxuICAgICAgcHJlbWlzZXNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGUvcHJlbWlzZVwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL21ldGFwcm9vZiFcIiksXG4gICAgICBjb25jbHVzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUvY29uY2x1c2lvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVJ1bGUocnVsZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBydWxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihydWxlTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShydWxlTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IG5vZGVzQXNTdHJpbmcobGFiZWxOb2RlcyksXG4gICAgICAgIG1ldGFwcm9vZkNvbnRleHQgPSBNZXRhcHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgcnVsZS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBwcmVtaXNlcyA9IFtdLFxuICAgICAgICAgIHByZW1pc2VOb2RlcyA9IHByZW1pc2VzTm9kZVF1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgICBwcmVtaXNlc1ZlcmlmaWVkID0gcHJlbWlzZU5vZGVzLmV2ZXJ5KChwcmVtaXNlTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJlbWlzZVZlcmlmaWVkID0gdmVyaWZ5UHJlbWlzZShwcmVtaXNlTm9kZSwgcHJlbWlzZXMsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAocHJlbWlzZVZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKHByZW1pc2VzVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbmNsdXNpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9kZSA9IGNvbmNsdXNpb25Ob2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgY29uY2x1c2lvblZlcmlmaWVkID0gdmVyaWZ5Q29uY2x1c2lvbihjb25jbHVzaW9uTm9kZSwgY29uY2x1c2lvbnMsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvblZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbmNsdXNpb24gPSBmaXJzdChjb25jbHVzaW9ucyksXG4gICAgICAgICAgICAgIGNvbmNsdXNpb24gPSBmaXJzdENvbmNsdXNpb247IC8vL1xuXG4gICAgICAgIGxldCBtZXRhcHJvb2ZWZXJpZmllZCA9IHRydWU7IC8vL1xuXG4gICAgICAgIGlmIChtZXRhcHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgbWV0YXByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgY29uY2x1c2lvbiwgbWV0YXByb29mQ29udGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBydWxlID0gUnVsZS5mcm9tTGFiZWxzUHJlbWlzZXNBbmRDb25jbHVzaW9uKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkUnVsZShydWxlKTtcblxuICAgICAgICAgIHJ1bGVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocnVsZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIHJ1bGUuYCk7XG4gIH1cblxuICBydWxlVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHJ1bGVOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShydWxlTm9kZSk7XG5cbiAgcmV0dXJuIHJ1bGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByZW1pc2VzTm9kZVF1ZXJ5IiwibWV0YXByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uY2x1c2lvbk5vZGVRdWVyeSIsInJ1bGVOb2RlIiwiZmlsZUNvbnRleHQiLCJydWxlVmVyaWZpZWQiLCJiZWdpbiIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibWV0YXByb29mQ29udGV4dCIsIk1ldGFwcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwicHJlbWlzZXMiLCJwcmVtaXNlTm9kZXMiLCJwcmVtaXNlc1ZlcmlmaWVkIiwiZXZlcnkiLCJwcmVtaXNlTm9kZSIsInByZW1pc2VWZXJpZmllZCIsInZlcmlmeVByZW1pc2UiLCJjb25jbHVzaW9ucyIsImNvbmNsdXNpb25Ob2RlIiwiY29uY2x1c2lvblZlcmlmaWVkIiwidmVyaWZ5Q29uY2x1c2lvbiIsIm1ldGFwcm9vZk5vZGUiLCJmaXJzdENvbmNsdXNpb24iLCJmaXJzdCIsImNvbmNsdXNpb24iLCJtZXRhcHJvb2ZWZXJpZmllZCIsInZlcmlmeU1ldGFwcm9vZiIsInJ1bGUiLCJSdWxlIiwiZnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbiIsImFkZFJ1bGUiLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7O3lEQWhCUDsyREFDUTs0REFDQzs4REFDRTsrREFDQzsrREFDQTtxQkFFUDtzQkFDUTtxQkFDUTs7Ozs7O0FBRXRDLElBQU1DLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxnQkFDN0JDLG9CQUFvQkQsSUFBQUEsaUJBQVUsRUFBQyxrQkFDL0JFLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTTCxXQUFXTyxRQUFRLEVBQUVDLFdBQVcsRUFBRTtJQUN4RCxJQUFJQyxlQUFlLEtBQUs7SUFFeEJELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVYsZ0JBQWdCTSxXQUM3QkssZUFBZUMsSUFBQUEscUJBQWEsRUFBQ0YsYUFDN0JHLG1CQUFtQkMsbUJBQWdCLENBQUNDLGVBQWUsQ0FBQ1I7SUFFMURBLFlBQVlTLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTCxjQUFhO0lBRWpELElBQU1NLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1QsWUFBWU8sUUFBUVY7SUFFeEQsSUFBSVcsZ0JBQWdCO1FBQ2xCLElBQU1FLFdBQVcsRUFBRSxFQUNiQyxlQUFlbkIsa0JBQWtCSSxXQUNqQ2dCLG1CQUFtQkQsYUFBYUUsS0FBSyxDQUFDLFNBQUNDLGFBQWdCO1lBQ3JELElBQU1DLGtCQUFrQkMsSUFBQUEsZ0JBQWEsRUFBQ0YsYUFBYUosVUFBVVA7WUFFN0QsSUFBSVksaUJBQWlCO2dCQUNuQixPQUFPLElBQUk7WUFDYixDQUFDO1FBQ0g7UUFFTixJQUFJSCxrQkFBa0I7WUFDcEIsSUFBTUssY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJ2QixvQkFBb0JDLFdBQ3JDdUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhZDtZQUV6RSxJQUFJZ0Isb0JBQW9CO2dCQUN0QixJQUFNRSxnQkFBZ0I1QixtQkFBbUJHLFdBQ25DMEIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFBaUIsR0FBRztnQkFFdkMsSUFBSUcsb0JBQW9CLElBQUksRUFBRSxHQUFHO2dCQUVqQyxJQUFJSixrQkFBa0IsSUFBSSxFQUFFO29CQUMxQkksb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDTCxlQUFlRyxZQUFZckI7Z0JBQ2pFLENBQUM7Z0JBRUQsSUFBSXNCLG1CQUFtQjtvQkFDckIsSUFBTUUsT0FBT0MsYUFBSSxDQUFDQywrQkFBK0IsQ0FBQ3RCLFFBQVFHLFVBQVVjO29CQUVwRTNCLFlBQVlpQyxPQUFPLENBQUNIO29CQUVwQjdCLGVBQWUsSUFBSTtnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGNBQWM7UUFDaEJELFlBQVlrQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjlCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxlQUNFRCxZQUFZbUMsUUFBUSxDQUFDcEMsWUFDbkJDLFlBQVltQyxRQUFRLENBQUNwQyxTQUFTO0lBRWxDLE9BQU9FO0FBQ1QifQ==
@@ -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 _conditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditionalIndicative"));
16
- var _unconditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalIndicative"));
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"), conditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/theorem/conditionalIndicative!"), unconditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/theorem/unconditionalIndicative!");
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 = [], consequents = [], conditionalIndicativeNode = conditionalIndicativeNodeQuery(theoremNode), unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(theoremNode);
34
- var conditionalIndicativeVerified = false, unconditionalIndicativeVerified = false;
35
- if (conditionalIndicativeNode !== null) {
36
- conditionalIndicativeVerified = (0, _conditionalIndicative.default)(conditionalIndicativeNode, antecedents, consequents, proofContext);
37
- }
38
- if (unconditionalIndicativeNode !== null) {
39
- unconditionalIndicativeVerified = (0, _unconditionalIndicative.default)(unconditionalIndicativeNode, consequents, proofContext);
40
- }
41
- if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
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;
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW9uYWxJbmRpY2F0aXZlXCI7XG5pbXBvcnQgdmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUgZnJvbSBcIi4uL3ZlcmlmeS91bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvdGhlb3JlbS9sYWJlbFwiKSxcbiAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL2NvbmRpdGlvbmFsSW5kaWNhdGl2ZSFcIiksXG4gICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL3VuY29uZGl0aW9uYWxJbmRpY2F0aXZlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGhlb3JlbSh0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHRoZW9yZW1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHRoZW9yZW1Ob2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgdGhlb3JlbS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBhbnRlY2VkZW50cyA9IFtdLFxuICAgICAgICAgIGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSA9IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlID0gdW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkodGhlb3JlbU5vZGUpO1xuXG4gICAgbGV0IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGlmIChjb25kaXRpb25hbEluZGljYXRpdmVOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IHZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBhbnRlY2VkZW50cywgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IHZlcmlmeVVuY29uZGl0aW9uYWxJbmRpY2F0aXZlKHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSwgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIHx8IHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgcHJvb2ZWZXJpZmllZCA9IHZlcmlmeVByb29mKHByb29mTm9kZSwgY29uc2VxdWVudCwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudChsYWJlbHMsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50KTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRUaGVvcmVtKHRoZW9yZW0pO1xuXG4gICAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLmApO1xuICB9XG5cbiAgdGhlb3JlbVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh0aGVvcmVtTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuY29tcGxldGUodGhlb3JlbU5vZGUpO1xuXG4gIHJldHVybiB0aGVvcmVtVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGhlb3JlbSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSIsInVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGUiLCJmaWxlQ29udGV4dCIsInRoZW9yZW1WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwiYW50ZWNlZGVudHMiLCJjb25zZXF1ZW50cyIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUiLCJ1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUiLCJjb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCIsInVuY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJ2ZXJpZnlDb25kaXRpb25hbEluZGljYXRpdmUiLCJ2ZXJpZnlVbmNvbmRpdGlvbmFsSW5kaWNhdGl2ZSIsInByb29mTm9kZSIsImZpcnN0Q29uc2VxdWVudCIsImZpcnN0IiwiY29uc2VxdWVudCIsInByb29mVmVyaWZpZWQiLCJ2ZXJpZnlQcm9vZiIsInRoZW9yZW0iLCJUaGVvcmVtIiwiZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudCIsImFkZFRoZW9yZW0iLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7OzREQWhCSjswREFDSTsyREFDQzsyREFDQTswRUFDZTs0RUFDRTtxQkFFcEI7c0JBQ1E7cUJBQ1E7Ozs7OztBQUV0QyxJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsb0JBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsbUJBQzdCQyxpQ0FBaUNILElBQUFBLGdCQUFTLEVBQUMsb0NBQzNDSSxtQ0FBbUNKLElBQUFBLGdCQUFTLEVBQUM7QUFFcEMsU0FBU0YsY0FBY08sV0FBVyxFQUFFQyxXQUFXLEVBQUU7SUFDOUQsSUFBSUMsa0JBQWtCLEtBQUs7SUFFM0JELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVIsZ0JBQWdCSSxjQUM3QkssZUFBZUMsSUFBQUEscUJBQWEsRUFBQ0YsYUFDN0JHLGVBQWVDLGVBQVksQ0FBQ0MsZUFBZSxDQUFDUjtJQUVsREEsWUFBWVMsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWE7SUFFakQsSUFBTU0sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVjtJQUV4RCxJQUFJVyxnQkFBZ0I7UUFDbEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxjQUFjLEVBQUUsRUFDaEJDLDRCQUE0QmxCLCtCQUErQkUsY0FDM0RpQiw4QkFBOEJsQixpQ0FBaUNDO1FBRXJFLElBQUlrQixnQ0FBZ0MsS0FBSyxFQUNyQ0Msa0NBQWtDLEtBQUs7UUFFM0MsSUFBSUgsOEJBQThCLElBQUksRUFBRTtZQUN0Q0UsZ0NBQWdDRSxJQUFBQSw4QkFBMkIsRUFBQ0osMkJBQTJCRixhQUFhQyxhQUFhUjtRQUNuSCxDQUFDO1FBRUQsSUFBSVUsZ0NBQWdDLElBQUksRUFBRTtZQUN4Q0Usa0NBQWtDRSxJQUFBQSxnQ0FBNkIsRUFBQ0osNkJBQTZCRixhQUFhUjtRQUM1RyxDQUFDO1FBRUQsSUFBSVcsaUNBQWlDQyxpQ0FBaUM7WUFDcEUsSUFBTUcsWUFBWTVCLGVBQWVNLGNBQzNCdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNULGNBQ3hCVSxhQUFhRixpQkFDYkcsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNMLFdBQVdHLFlBQVlsQjtZQUV6RCxJQUFJbUIsZUFBZTtnQkFDakIsSUFBTUUsVUFBVUMsZ0JBQU8sQ0FBQ0Msa0NBQWtDLENBQUNuQixRQUFRRyxhQUFhVztnQkFFaEZ4QixZQUFZOEIsVUFBVSxDQUFDSDtnQkFFdkIxQixrQkFBa0IsSUFBSTtZQUN4QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxpQkFBaUI7UUFDbkJELFlBQVkrQixJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjNCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxrQkFDRUQsWUFBWWdDLFFBQVEsQ0FBQ2pDLGVBQ25CQyxZQUFZZ0MsUUFBUSxDQUFDakMsWUFBWTtJQUVyQyxPQUFPRTtBQUNUIn0=
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.496",
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",
@@ -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 verifyConditionalIndicative from "../verify/conditionalIndicative";
7
- import verifyUnconditionalIndicative from "../verify/unconditionalIndicative";
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
- conditionalIndicativeNodeQuery = nodeQuery("/axiom/conditionalIndicative!"),
15
- unconditionalIndicativeNodeQuery = nodeQuery("/axiom/unconditionalIndicative!");
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
- consequents = [],
34
- conditionalIndicativeNode = conditionalIndicativeNodeQuery(axiomNode),
35
- unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(axiomNode);
33
+ antecedentNodes = antecedentsNodeQuery(axiomNode),
34
+ antecedentsVerified = antecedentNodes.every((antecedentNode) => {
35
+ const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
36
36
 
37
- let conditionalIndicativeVerified = false,
38
- unconditionalIndicativeVerified = false;
37
+ if (antecedentVerified) {
38
+ return true;
39
+ }
40
+ });
39
41
 
40
- if (conditionalIndicativeNode !== null) {
41
- conditionalIndicativeVerified = verifyConditionalIndicative(conditionalIndicativeNode, antecedents, consequents, proofContext);
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
- if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
49
- const firstConsequent = first(consequents),
50
- consequent = firstConsequent, ///
51
- axiom = Axiom.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
47
+ if (consequentVerified) {
48
+ const firstConsequent = first(consequents),
49
+ consequent = firstConsequent, ///
50
+ axiom = Axiom.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
52
51
 
53
- fileContext.addAxiom(axiom);
52
+ fileContext.addAxiom(axiom);
54
53
 
55
- axiomVerified = true;
54
+ axiomVerified = true;
55
+ }
56
56
  }
57
57
  }
58
58
 
@@ -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 verifyConditionalIndicative from "../verify/conditionalIndicative";
8
- import verifyUnconditionalIndicative from "../verify/unconditionalIndicative";
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
- conditionalIndicativeNodeQuery = nodeQuery("/lemma/conditionalIndicative!"),
18
- unconditionalIndicativeNodeQuery = nodeQuery("/lemma/unconditionalIndicative!");
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
- consequents = [],
39
- conditionalIndicativeNode = conditionalIndicativeNodeQuery(lemmaNode),
40
- unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(lemmaNode);
38
+ antecedentNodes = antecedentsNodeQuery(lemmaNode),
39
+ antecedentsVerified = antecedentNodes.every((antecedentNode) => {
40
+ const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
41
41
 
42
- let conditionalIndicativeVerified = false,
43
- unconditionalIndicativeVerified = false;
42
+ if (antecedentVerified) {
43
+ return true;
44
+ }
45
+ });
44
46
 
45
- if (conditionalIndicativeNode !== null) {
46
- conditionalIndicativeVerified = verifyConditionalIndicative(conditionalIndicativeNode, antecedents, consequents, proofContext);
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
- if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
54
- const proofNode = proofNodeQuery(lemmaNode),
55
- firstConsequent = first(consequents),
56
- consequent = firstConsequent, ///
57
- proofVerified = verifyProof(proofNode, consequent, proofContext);
52
+ if (consequentVerified) {
53
+ const proofNode = proofNodeQuery(lemmaNode),
54
+ firstConsequent = first(consequents),
55
+ consequent = firstConsequent, ///
56
+ proofVerified = verifyProof(proofNode, consequent, proofContext);
58
57
 
59
- if (proofVerified) {
60
- const lemma = Lemma.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
58
+ if (proofVerified) {
59
+ const lemma = Lemma.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
61
60
 
62
- fileContext.addLemma(lemma);
61
+ fileContext.addLemma(lemma);
63
62
 
64
- lemmaVerified = true;
63
+ lemmaVerified = true;
64
+ }
65
65
  }
66
66
  }
67
67
  }
@@ -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 verifyConditionalInference from "../verify/conditinalInference";
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
- conditionalInferenceNodeQuery = nodeQuery("/rule/conditionalInference!"),
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
- conclusions = [],
36
- conditionalInferenceNode = conditionalInferenceNodeQuery(ruleNode),
37
- unconditionalInferenceNode = unconditionalInferenceNodeQuery(ruleNode);
35
+ premiseNodes = premisesNodeQuery(ruleNode),
36
+ premisesVerified = premiseNodes.every((premiseNode) => {
37
+ const premiseVerified = verifyPremise(premiseNode, premises, metaproofContext);
38
38
 
39
- let conditionalInferenceVerified = false,
40
- unconditionalInferenceVerified = false;
39
+ if (premiseVerified) {
40
+ return true;
41
+ }
42
+ });
41
43
 
42
- if (conditionalInferenceNode !== null) {
43
- conditionalInferenceVerified = verifyConditionalInference(conditionalInferenceNode, premises, conclusions, metaproofContext);
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
- if (conditionalInferenceVerified || unconditionalInferenceVerified) {
51
- const metaproofNode = metaproofNodeQuery(ruleNode),
52
- firstConclusion = first(conclusions),
53
- conclusion = firstConclusion; ///
49
+ if (conclusionVerified) {
50
+ const metaproofNode = metaproofNodeQuery(ruleNode),
51
+ firstConclusion = first(conclusions),
52
+ conclusion = firstConclusion; ///
54
53
 
55
- let metaproofVerified = true;
54
+ let metaproofVerified = true; ///
56
55
 
57
- if (metaproofNode !== null) {
58
- metaproofVerified = verifyMetaproof(metaproofNode, conclusion, metaproofContext);
59
- }
56
+ if (metaproofNode !== null) {
57
+ metaproofVerified = verifyMetaproof(metaproofNode, conclusion, metaproofContext);
58
+ }
60
59
 
61
- if (metaproofVerified) {
62
- const rule = Rule.fromLabelsPremisesAndConclusion(labels, premises, conclusion);
60
+ if (metaproofVerified) {
61
+ const rule = Rule.fromLabelsPremisesAndConclusion(labels, premises, conclusion);
63
62
 
64
- fileContext.addRule(rule);
63
+ fileContext.addRule(rule);
65
64
 
66
- ruleVerified = true;
65
+ ruleVerified = true;
66
+ }
67
67
  }
68
68
  }
69
69
  }
@@ -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 verifyConditionalIndicative from "../verify/conditionalIndicative";
8
- import verifyUnconditionalIndicative from "../verify/unconditionalIndicative";
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
- conditionalIndicativeNodeQuery = nodeQuery("/theorem/conditionalIndicative!"),
17
- unconditionalIndicativeNodeQuery = nodeQuery("/theorem/unconditionalIndicative!");
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
- consequents = [],
36
- conditionalIndicativeNode = conditionalIndicativeNodeQuery(theoremNode),
37
- unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(theoremNode);
35
+ antecedentNodes = antecedentsNodeQuery(theoremNode),
36
+ antecedentsVerified = antecedentNodes.every((antecedentNode) => {
37
+ const antecedentVerified = verifyAntecedent(antecedentNode, antecedents, proofContext);
38
38
 
39
- let conditionalIndicativeVerified = false,
40
- unconditionalIndicativeVerified = false;
39
+ if (antecedentVerified) {
40
+ return true;
41
+ }
42
+ });
41
43
 
42
- if (conditionalIndicativeNode !== null) {
43
- conditionalIndicativeVerified = verifyConditionalIndicative(conditionalIndicativeNode, antecedents, consequents, proofContext);
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
- if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
51
- const proofNode = proofNodeQuery(theoremNode),
52
- firstConsequent = first(consequents),
53
- consequent = firstConsequent, ///
54
- proofVerified = verifyProof(proofNode, consequent, proofContext);
49
+ if (consequentVerified) {
50
+ const proofNode = proofNodeQuery(theoremNode),
51
+ firstConsequent = first(consequents),
52
+ consequent = firstConsequent, ///
53
+ proofVerified = verifyProof(proofNode, consequent, proofContext);
55
54
 
56
- if (proofVerified) {
57
- const theorem = Theorem.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
55
+ if (proofVerified) {
56
+ const theorem = Theorem.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
58
57
 
59
- fileContext.addTheorem(theorem);
58
+ fileContext.addTheorem(theorem);
60
59
 
61
- theoremVerified = true;
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
- }