occam-verify-cli 0.0.465 → 0.0.467

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.
Files changed (44) hide show
  1. package/lib/antecedent.js +214 -0
  2. package/lib/axiom.js +93 -78
  3. package/lib/axiomLemmaTheorem.js +190 -0
  4. package/lib/consequent.js +157 -0
  5. package/lib/constants.js +9 -1
  6. package/lib/lemma.js +93 -78
  7. package/lib/ruleNames.js +4 -4
  8. package/lib/substitution.js +123 -0
  9. package/lib/theorem.js +93 -78
  10. package/lib/utilities/statement.js +45 -0
  11. package/lib/utilities/string.js +6 -6
  12. package/lib/verify/antecedentOrAntecedents.js +38 -0
  13. package/lib/verify/axiom.js +15 -14
  14. package/lib/verify/conditinalIndicative.js +32 -0
  15. package/lib/verify/{indicativeConditional.js → conditionalIndicative.js} +10 -10
  16. package/lib/verify/consequent.js +36 -0
  17. package/lib/verify/lemma.js +25 -19
  18. package/lib/verify/metaproof.js +3 -3
  19. package/lib/verify/rule.js +2 -3
  20. package/lib/verify/theorem.js +21 -18
  21. package/lib/verify/unconditionalIndicative.js +28 -0
  22. package/package.json +3 -3
  23. package/src/antecedent.js +235 -0
  24. package/src/axiom.js +5 -95
  25. package/src/axiomLemmaTheorem.js +190 -0
  26. package/src/consequent.js +187 -0
  27. package/src/constants.js +2 -0
  28. package/src/lemma.js +5 -95
  29. package/src/ruleNames.js +1 -1
  30. package/src/substitution.js +130 -0
  31. package/src/theorem.js +5 -95
  32. package/src/utilities/statement.js +50 -0
  33. package/src/utilities/string.js +6 -6
  34. package/src/verify/antecedentOrAntecedents.js +40 -0
  35. package/src/verify/axiom.js +21 -16
  36. package/src/verify/conditinalIndicative.js +31 -0
  37. package/src/verify/conditionalIndicative.js +29 -0
  38. package/src/verify/consequent.js +36 -0
  39. package/src/verify/lemma.js +38 -21
  40. package/src/verify/metaproof.js +2 -1
  41. package/src/verify/rule.js +1 -3
  42. package/src/verify/theorem.js +28 -22
  43. package/src/verify/unconditionalIndicative.js +24 -0
  44. package/src/verify/indicativeConditional.js +0 -29
@@ -42,8 +42,7 @@ function verifyRule(ruleNode, fileContext) {
42
42
  var metaproofNode = metaproofNodeQuery(ruleNode), firstConclusion = (0, _array.first)(conclusions), conclusion = firstConclusion; ///
43
43
  var metaproofVerified = true;
44
44
  if (metaproofNode !== null) {
45
- var metastatementNode = conclusion.getMetastatementNode();
46
- metaproofVerified = (0, _metaproof.default)(metaproofNode, metastatementNode, metaproofContext);
45
+ metaproofVerified = (0, _metaproof.default)(metaproofNode, conclusion, metaproofContext);
47
46
  }
48
47
  if (metaproofVerified) {
49
48
  var rule = _rule.default.fromLabelsPremisesAndConclusion(labels, premises, conclusion);
@@ -59,4 +58,4 @@ function verifyRule(ruleNode, fileContext) {
59
58
  return ruleVerified;
60
59
  }
61
60
 
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCBNZXRhcHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW5hbEluZmVyZW5jZVwiO1xuaW1wb3J0IHZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UgZnJvbSBcIi4uL3ZlcmlmeS91bmNvbmRpdGlvbmFsSW5mZXJlbmNlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9sYWJlbFwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL21ldGFwcm9vZiFcIiksXG4gICAgICBjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL2NvbmRpdGlvbmFsSW5mZXJlbmNlIVwiKSxcbiAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZS91bmNvbmRpdGlvbmFsSW5mZXJlbmNlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZShydWxlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHJ1bGVOb2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgbWV0YXByb29mQ29udGV4dCA9IE1ldGFwcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHByZW1pc2VzID0gW10sXG4gICAgICAgICAgY29uY2x1c2lvbnMgPSBbXSxcbiAgICAgICAgICBjb25kaXRpb25hbEluZmVyZW5jZU5vZGUgPSBjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgdW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUgPSB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZVF1ZXJ5KHJ1bGVOb2RlKTtcblxuICAgIGxldCBjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSwgcHJlbWlzZXMsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCB8fCB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgZmlyc3RDb25jbHVzaW9uID0gZmlyc3QoY29uY2x1c2lvbnMpLFxuICAgICAgICAgICAgY29uY2x1c2lvbiA9IGZpcnN0Q29uY2x1c2lvbjsgLy8vXG5cbiAgICAgIGxldCBtZXRhcHJvb2ZWZXJpZmllZCA9IHRydWU7XG5cbiAgICAgIGlmIChtZXRhcHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gY29uY2x1c2lvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpO1xuXG4gICAgICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1ldGFwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHJ1bGUgPSBSdWxlLmZyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24obGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbik7XG5cbiAgICAgICAgZmlsZUNvbnRleHQuYWRkUnVsZShydWxlKTtcblxuICAgICAgICBydWxlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChydWxlVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgcnVsZS5gKTtcbiAgfVxuXG4gIHJ1bGVWZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUocnVsZU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHJ1bGVOb2RlKTtcblxuICByZXR1cm4gcnVsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVJ1bGUiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YXByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlUXVlcnkiLCJ1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZVF1ZXJ5IiwicnVsZU5vZGUiLCJmaWxlQ29udGV4dCIsInJ1bGVWZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJtZXRhcHJvb2ZDb250ZXh0IiwiTWV0YXByb29mQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImRlYnVnIiwibGFiZWxzIiwibGFiZWxzVmVyaWZpZWQiLCJ2ZXJpZnlMYWJlbHMiLCJwcmVtaXNlcyIsImNvbmNsdXNpb25zIiwiY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlIiwidW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUiLCJjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkIiwidW5jb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkIiwidmVyaWZ5Q29uZGl0aW9uYWxJbmZlcmVuY2UiLCJ2ZXJpZnlVbmNvbmRpdGlvbmFsSW5mZXJlbmNlIiwibWV0YXByb29mTm9kZSIsImZpcnN0Q29uY2x1c2lvbiIsImZpcnN0IiwiY29uY2x1c2lvbiIsIm1ldGFwcm9vZlZlcmlmaWVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFwcm9vZiIsInJ1bGUiLCJSdWxlIiwiZnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbiIsImFkZFJ1bGUiLCJpbmZvIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7O3lEQWhCUDsyREFDUTs4REFDRzsrREFDQzt3RUFDVTsyRUFDRTtxQkFFbkI7c0JBQ1E7cUJBQ1E7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsZ0JBQzdCQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMscUJBQy9CQyxnQ0FBZ0NELElBQUFBLGdCQUFTLEVBQUMsZ0NBQzFDRSxrQ0FBa0NGLElBQUFBLGdCQUFTLEVBQUM7QUFFbkMsU0FBU0osV0FBV08sUUFBUSxFQUFFQyxXQUFXLEVBQUU7SUFDeEQsSUFBSUMsZUFBZSxLQUFLO0lBRXhCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFWLGdCQUFnQk0sV0FDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxtQkFBbUJDLG1CQUFnQixDQUFDQyxlQUFlLENBQUNSO0lBRTFEQSxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYTtJQUVqRCxJQUFNTSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSxXQUFXLEVBQUUsRUFDYkMsY0FBYyxFQUFFLEVBQ2hCQywyQkFBMkJsQiw4QkFBOEJFLFdBQ3pEaUIsNkJBQTZCbEIsZ0NBQWdDQztRQUVuRSxJQUFJa0IsK0JBQStCLEtBQUssRUFDcENDLGlDQUFpQyxLQUFLO1FBRTFDLElBQUlILDZCQUE2QixJQUFJLEVBQUU7WUFDckNFLCtCQUErQkUsSUFBQUEsNEJBQTBCLEVBQUNKLDBCQUEwQkYsVUFBVUMsYUFBYVI7UUFDN0csQ0FBQztRQUVELElBQUlVLCtCQUErQixJQUFJLEVBQUU7WUFDdkNFLGlDQUFpQ0UsSUFBQUEsK0JBQTRCLEVBQUNKLDRCQUE0QkYsYUFBYVI7UUFDekcsQ0FBQztRQUVELElBQUlXLGdDQUFnQ0MsZ0NBQWdDO1lBQ2xFLElBQU1HLGdCQUFnQjFCLG1CQUFtQkksV0FDbkN1QixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ1QsY0FDeEJVLGFBQWFGLGlCQUFpQixHQUFHO1lBRXZDLElBQUlHLG9CQUFvQixJQUFJO1lBRTVCLElBQUlKLGtCQUFrQixJQUFJLEVBQUU7Z0JBQzFCLElBQU1LLG9CQUFvQkYsV0FBV0csb0JBQW9CO2dCQUV6REYsb0JBQW9CRyxJQUFBQSxrQkFBZSxFQUFDUCxlQUFlSyxtQkFBbUJwQjtZQUN4RSxDQUFDO1lBRUQsSUFBSW1CLG1CQUFtQjtnQkFDckIsSUFBTUksT0FBT0MsYUFBSSxDQUFDQywrQkFBK0IsQ0FBQ3JCLFFBQVFHLFVBQVVXO2dCQUVwRXhCLFlBQVlnQyxPQUFPLENBQUNIO2dCQUVwQjVCLGVBQWUsSUFBSTtZQUNyQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxjQUFjO1FBQ2hCRCxZQUFZaUMsSUFBSSxDQUFDLEFBQUMsaUJBQTZCLE9BQWI3QixjQUFhO0lBQ2pELENBQUM7SUFFREgsZUFDRUQsWUFBWWtDLFFBQVEsQ0FBQ25DLFlBQ25CQyxZQUFZa0MsUUFBUSxDQUFDbkMsU0FBUztJQUVsQyxPQUFPRTtBQUNUIn0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2YgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhcHJvb2ZcIjtcbmltcG9ydCBNZXRhcHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW5hbEluZmVyZW5jZVwiO1xuaW1wb3J0IHZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UgZnJvbSBcIi4uL3ZlcmlmeS91bmNvbmRpdGlvbmFsSW5mZXJlbmNlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9sYWJlbFwiKSxcbiAgICAgIG1ldGFwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL21ldGFwcm9vZiFcIiksXG4gICAgICBjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL2NvbmRpdGlvbmFsSW5mZXJlbmNlIVwiKSxcbiAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZS91bmNvbmRpdGlvbmFsSW5mZXJlbmNlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZShydWxlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHJ1bGVOb2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgbWV0YXByb29mQ29udGV4dCA9IE1ldGFwcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHByZW1pc2VzID0gW10sXG4gICAgICAgICAgY29uY2x1c2lvbnMgPSBbXSxcbiAgICAgICAgICBjb25kaXRpb25hbEluZmVyZW5jZU5vZGUgPSBjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgdW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUgPSB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZVF1ZXJ5KHJ1bGVOb2RlKTtcblxuICAgIGxldCBjb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeUNvbmRpdGlvbmFsSW5mZXJlbmNlKGNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSwgcHJlbWlzZXMsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCB8fCB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFwcm9vZk5vZGUgPSBtZXRhcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgZmlyc3RDb25jbHVzaW9uID0gZmlyc3QoY29uY2x1c2lvbnMpLFxuICAgICAgICAgICAgY29uY2x1c2lvbiA9IGZpcnN0Q29uY2x1c2lvbjsgLy8vXG5cbiAgICAgIGxldCBtZXRhcHJvb2ZWZXJpZmllZCA9IHRydWU7XG5cbiAgICAgIGlmIChtZXRhcHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0YXByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcnVsZSA9IFJ1bGUuZnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbihsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRSdWxlKHJ1bGUpO1xuXG4gICAgICAgIHJ1bGVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJ1bGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLmApO1xuICB9XG5cbiAgcnVsZVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShydWxlTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuY29tcGxldGUocnVsZU5vZGUpO1xuXG4gIHJldHVybiBydWxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UnVsZSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhcHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25kaXRpb25hbEluZmVyZW5jZU5vZGVRdWVyeSIsInVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlUXVlcnkiLCJydWxlTm9kZSIsImZpbGVDb250ZXh0IiwicnVsZVZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsIm1ldGFwcm9vZkNvbnRleHQiLCJNZXRhcHJvb2ZDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZGVidWciLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsInByZW1pc2VzIiwiY29uY2x1c2lvbnMiLCJjb25kaXRpb25hbEluZmVyZW5jZU5vZGUiLCJ1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSIsImNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQiLCJ1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQiLCJ2ZXJpZnlDb25kaXRpb25hbEluZmVyZW5jZSIsInZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UiLCJtZXRhcHJvb2ZOb2RlIiwiZmlyc3RDb25jbHVzaW9uIiwiZmlyc3QiLCJjb25jbHVzaW9uIiwibWV0YXByb29mVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhcHJvb2YiLCJydWxlIiwiUnVsZSIsImZyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24iLCJhZGRSdWxlIiwiaW5mbyIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7Ozt5REFoQlA7MkRBQ1E7OERBQ0c7K0RBQ0M7d0VBQ1U7MkVBQ0U7cUJBRW5CO3NCQUNRO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGdCQUM3QkMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFCQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDLGdDQUMxQ0Usa0NBQWtDRixJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNKLFdBQVdPLFFBQVEsRUFBRUMsV0FBVyxFQUFFO0lBQ3hELElBQUlDLGVBQWUsS0FBSztJQUV4QkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhVixnQkFBZ0JNLFdBQzdCSyxlQUFlQyxJQUFBQSxxQkFBYSxFQUFDRixhQUM3QkcsbUJBQW1CQyxtQkFBZ0IsQ0FBQ0MsZUFBZSxDQUFDUjtJQUUxREEsWUFBWVMsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWE7SUFFakQsSUFBTU0sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVjtJQUV4RCxJQUFJVyxnQkFBZ0I7UUFDbEIsSUFBTUUsV0FBVyxFQUFFLEVBQ2JDLGNBQWMsRUFBRSxFQUNoQkMsMkJBQTJCbEIsOEJBQThCRSxXQUN6RGlCLDZCQUE2QmxCLGdDQUFnQ0M7UUFFbkUsSUFBSWtCLCtCQUErQixLQUFLLEVBQ3BDQyxpQ0FBaUMsS0FBSztRQUUxQyxJQUFJSCw2QkFBNkIsSUFBSSxFQUFFO1lBQ3JDRSwrQkFBK0JFLElBQUFBLDRCQUEwQixFQUFDSiwwQkFBMEJGLFVBQVVDLGFBQWFSO1FBQzdHLENBQUM7UUFFRCxJQUFJVSwrQkFBK0IsSUFBSSxFQUFFO1lBQ3ZDRSxpQ0FBaUNFLElBQUFBLCtCQUE0QixFQUFDSiw0QkFBNEJGLGFBQWFSO1FBQ3pHLENBQUM7UUFFRCxJQUFJVyxnQ0FBZ0NDLGdDQUFnQztZQUNsRSxJQUFNRyxnQkFBZ0IxQixtQkFBbUJJLFdBQ25DdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNULGNBQ3hCVSxhQUFhRixpQkFBaUIsR0FBRztZQUV2QyxJQUFJRyxvQkFBb0IsSUFBSTtZQUU1QixJQUFJSixrQkFBa0IsSUFBSSxFQUFFO2dCQUMxQkksb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDTCxlQUFlRyxZQUFZbEI7WUFDakUsQ0FBQztZQUVELElBQUltQixtQkFBbUI7Z0JBQ3JCLElBQU1FLE9BQU9DLGFBQUksQ0FBQ0MsK0JBQStCLENBQUNuQixRQUFRRyxVQUFVVztnQkFFcEV4QixZQUFZOEIsT0FBTyxDQUFDSDtnQkFFcEIxQixlQUFlLElBQUk7WUFDckIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsY0FBYztRQUNoQkQsWUFBWStCLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFiM0IsY0FBYTtJQUNqRCxDQUFDO0lBRURILGVBQ0VELFlBQVlnQyxRQUFRLENBQUNqQyxZQUNuQkMsWUFBWWdDLFFBQVEsQ0FBQ2pDLFNBQVM7SUFFbEMsT0FBT0U7QUFDVCJ9
@@ -9,11 +9,12 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _theorem = /*#__PURE__*/ _interopRequireDefault(require("../theorem"));
12
- var _proof = /*#__PURE__*/ _interopRequireDefault(require("./proof"));
13
- var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
12
+ var _proof = /*#__PURE__*/ _interopRequireDefault(require("../verify/proof"));
14
13
  var _proof1 = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
15
- var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
16
- var _indicativeConditional = /*#__PURE__*/ _interopRequireDefault(require("../verify/indicativeConditional"));
14
+ var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
15
+ var _conditinalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditinalIndicative"));
16
+ var _unconditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalIndicative"));
17
+ var _array = require("../utilities/array");
17
18
  var _string = require("../utilities/string");
18
19
  var _query = require("../utilities/query");
19
20
  function _interopRequireDefault(obj) {
@@ -21,7 +22,7 @@ function _interopRequireDefault(obj) {
21
22
  default: obj
22
23
  };
23
24
  }
24
- var proofNodeQuery = (0, _query.nodeQuery)("/theorem/proof"), labelNodesQuery = (0, _query.nodesQuery)("/theorem/label"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/theorem/unqualifiedStatement!"), indicativeConditionalNodeQuery = (0, _query.nodeQuery)("/theorem/indicativeConditional!");
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
26
  function verifyTheorem(theoremNode, fileContext) {
26
27
  var theoremVerified = false;
27
28
  fileContext.begin(theoremNode);
@@ -29,26 +30,28 @@ function verifyTheorem(theoremNode, fileContext) {
29
30
  fileContext.debug("Verifying the '".concat(labelsString, "' theorem..."));
30
31
  var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
31
32
  if (labelsVerified) {
32
- var unqualifiedStatementNode = unqualifiedStatementNodeQuery(theoremNode), indicativeConditionalNode = indicativeConditionalNodeQuery(theoremNode);
33
- var unqualifiedStatementVerified = false, indicativeConditionalVerified = false;
34
- if (unqualifiedStatementNode !== null) {
35
- unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
33
+ var antecedents = [], consequents = [], conditionalIndicativeNode = conditionalIndicativeNodeQuery(theoremNode), unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(theoremNode);
34
+ var conditionalIndicativeVerified = false, unconditionalIndicativeVerified = false;
35
+ if (conditionalIndicativeNode !== null) {
36
+ conditionalIndicativeVerified = (0, _conditinalIndicative.default)(conditionalIndicativeNode, antecedents, consequents, proofContext);
36
37
  }
37
- if (indicativeConditionalNode !== null) {
38
- indicativeConditionalVerified = (0, _indicativeConditional.default)(indicativeConditionalNode, proofContext);
38
+ if (unconditionalIndicativeNode !== null) {
39
+ unconditionalIndicativeVerified = (0, _unconditionalIndicative.default)(unconditionalIndicativeNode, consequents, proofContext);
39
40
  }
40
- if (unqualifiedStatementVerified || indicativeConditionalVerified) {
41
- var proofNode = proofNodeQuery(theoremNode), statements = proofVerified = (0, _proof.default)(proofNode, fileContext);
42
- var theorem = _theorem.default.fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode(labels, unqualifiedStatementNode, indicativeConditionalNode);
43
- fileContext.addTheorem(theorem);
44
- theoremVerified = true;
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;
47
+ }
45
48
  }
46
49
  }
47
50
  if (theoremVerified) {
48
51
  fileContext.info("Verified the '".concat(labelsString, "' theorem."));
49
52
  }
50
- theoremVerified ? fileContext.complete(theoremNode) : fileContext.halt(theoremNode);
53
+ theoremVerified ? fileContext.complete(theoremNode) : fileContext.complete(theoremNode);
51
54
  return theoremVerified;
52
55
  }
53
56
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi9wcm9vZlwiO1xuaW1wb3J0IHZlcmlmeUxhYmVscyBmcm9tIFwiLi4vdmVyaWZ5L2xhYmVsc1wiO1xuaW1wb3J0IFByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9wcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5pbXBvcnQgdmVyaWZ5SW5kaWNhdGl2ZUNvbmRpdGlvbmFsIGZyb20gXCIuLi92ZXJpZnkvaW5kaWNhdGl2ZUNvbmRpdGlvbmFsXCI7XG5cbmltcG9ydCB7IG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL3Byb29mXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi90aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS9pbmRpY2F0aXZlQ29uZGl0aW9uYWwhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdGhlb3JlbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odGhlb3JlbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlID0gaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKTtcblxuICAgIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlICE9PSBudWxsKSB7XG4gICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCA9IHZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbChpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlLCBwcm9vZkNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIHx8IGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICBzdGF0ZW1lbnRzID1cbiAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgY29uc3QgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUxhYmVsc1VucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUFuZEluZGljYXRpdmVDb25kaXRpb25hbE5vZGUobGFiZWxzLCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUpO1xuXG4gICAgICBmaWxlQ29udGV4dC5hZGRUaGVvcmVtKHRoZW9yZW0pO1xuXG4gICAgICB0aGVvcmVtVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0aGVvcmVtVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgdGhlb3JlbS5gKTtcbiAgfVxuXG4gIHRoZW9yZW1WZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUodGhlb3JlbU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmhhbHQodGhlb3JlbU5vZGUpO1xuXG4gIHJldHVybiB0aGVvcmVtVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGhlb3JlbSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGUiLCJmaWxlQ29udGV4dCIsInRoZW9yZW1WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IiwidmVyaWZ5SW5kaWNhdGl2ZUNvbmRpdGlvbmFsIiwicHJvb2ZOb2RlIiwic3RhdGVtZW50cyIsInByb29mVmVyaWZpZWQiLCJ2ZXJpZnlQcm9vZiIsInRoZW9yZW0iLCJUaGVvcmVtIiwiZnJvbUxhYmVsc1VucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUFuZEluZGljYXRpdmVDb25kaXRpb25hbE5vZGUiLCJhZGRUaGVvcmVtIiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7NERBZko7MERBQ0k7MkRBQ0M7MkRBQ0E7Z0VBQ2M7MEVBQ0M7c0JBRVY7cUJBQ1E7Ozs7OztBQUV0QyxJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsbUJBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsbUJBQzdCQyxnQ0FBZ0NILElBQUFBLGdCQUFTLEVBQUMsbUNBQzFDSSxpQ0FBaUNKLElBQUFBLGdCQUFTLEVBQUM7QUFFbEMsU0FBU0YsY0FBY08sV0FBVyxFQUFFQyxXQUFXLEVBQUU7SUFDOUQsSUFBSUMsa0JBQWtCLEtBQUs7SUFFM0JELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVIsZ0JBQWdCSSxjQUM3QkssZUFBZUMsSUFBQUEscUJBQWEsRUFBQ0YsYUFDN0JHLGVBQWVDLGVBQVksQ0FBQ0MsZUFBZSxDQUFDUjtJQUVsREEsWUFBWVMsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWE7SUFFakQsSUFBTU0sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVjtJQUV4RCxJQUFJVyxnQkFBZ0I7UUFDbEIsSUFBTUUsMkJBQTJCaEIsOEJBQThCRSxjQUN6RGUsNEJBQTRCaEIsK0JBQStCQztRQUVqRSxJQUFJZ0IsK0JBQStCLEtBQUssRUFDcENDLGdDQUFnQyxLQUFLO1FBRXpDLElBQUlILDZCQUE2QixJQUFJLEVBQUU7WUFDckNFLCtCQUErQkUsSUFBQUEsb0JBQTBCLEVBQUNKLDBCQUEwQlA7UUFDdEYsQ0FBQztRQUVELElBQUlRLDhCQUE4QixJQUFJLEVBQUU7WUFDdENFLGdDQUFnQ0UsSUFBQUEsOEJBQTJCLEVBQUNKLDJCQUEyQlI7UUFDekYsQ0FBQztRQUVELElBQUlTLGdDQUFnQ0MsK0JBQStCO1lBQ2pFLElBQU1HLFlBQVkxQixlQUFlTSxjQUMzQnFCLGFBQ0FDLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDSCxXQUFXbkI7WUFFN0MsSUFBTXVCLFVBQVVDLGdCQUFPLENBQUNDLDhEQUE4RCxDQUFDZixRQUFRRywwQkFBMEJDO1lBRXpIZCxZQUFZMEIsVUFBVSxDQUFDSDtZQUV2QnRCLGtCQUFrQixJQUFJO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsaUJBQWlCO1FBQ25CRCxZQUFZMkIsSUFBSSxDQUFDLEFBQUMsaUJBQTZCLE9BQWJ2QixjQUFhO0lBQ2pELENBQUM7SUFFREgsa0JBQ0VELFlBQVk0QixRQUFRLENBQUM3QixlQUNuQkMsWUFBWTZCLElBQUksQ0FBQzlCLFlBQVk7SUFFakMsT0FBT0U7QUFDVCJ9
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW5hbEluZGljYXRpdmVcIjtcbmltcG9ydCB2ZXJpZnlVbmNvbmRpdGlvbmFsSW5kaWNhdGl2ZSBmcm9tIFwiLi4vdmVyaWZ5L3VuY29uZGl0aW9uYWxJbmRpY2F0aXZlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RoZW9yZW0vcHJvb2YhXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi90aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RoZW9yZW0vY29uZGl0aW9uYWxJbmRpY2F0aXZlIVwiKSxcbiAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RoZW9yZW0vdW5jb25kaXRpb25hbEluZGljYXRpdmUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdGhlb3JlbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odGhlb3JlbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyB0aGVvcmVtLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGFudGVjZWRlbnRzID0gW10sXG4gICAgICAgICAgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlID0gY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5KHRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgPSB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSh0aGVvcmVtTm9kZSk7XG5cbiAgICBsZXQgY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlICE9PSBudWxsKSB7XG4gICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgfHwgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCkge1xuICAgICAgY29uc3QgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICAgICAgZmlyc3RDb25zZXF1ZW50ID0gZmlyc3QoY29uc2VxdWVudHMpLFxuICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25zZXF1ZW50LCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAocHJvb2ZWZXJpZmllZCkge1xuICAgICAgICBjb25zdCB0aGVvcmVtID0gVGhlb3JlbS5mcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50KGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmFkZFRoZW9yZW0odGhlb3JlbSk7XG5cbiAgICAgICAgdGhlb3JlbVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodGhlb3JlbVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIHRoZW9yZW0uYCk7XG4gIH1cblxuICB0aGVvcmVtVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHRoZW9yZW1Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh0aGVvcmVtTm9kZSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUaGVvcmVtIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5IiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkiLCJ0aGVvcmVtTm9kZSIsImZpbGVDb250ZXh0IiwidGhlb3JlbVZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsInByb29mQ29udGV4dCIsIlByb29mQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImRlYnVnIiwibGFiZWxzIiwibGFiZWxzVmVyaWZpZWQiLCJ2ZXJpZnlMYWJlbHMiLCJhbnRlY2VkZW50cyIsImNvbnNlcXVlbnRzIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSIsInVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIiwidW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCIsInZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZSIsInZlcmlmeVVuY29uZGl0aW9uYWxJbmRpY2F0aXZlIiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50IiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwidGhlb3JlbSIsIlRoZW9yZW0iLCJmcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50IiwiYWRkVGhlb3JlbSIsImluZm8iLCJjb21wbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBa0JBOzs7ZUFBd0JBOzs7NERBaEJKOzBEQUNJOzJEQUNDOzJEQUNBO3lFQUNlOzRFQUNFO3FCQUVwQjtzQkFDUTtxQkFDUTs7Ozs7O0FBRXRDLElBQU1DLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDM0JDLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxtQkFDN0JDLGlDQUFpQ0gsSUFBQUEsZ0JBQVMsRUFBQyxvQ0FDM0NJLG1DQUFtQ0osSUFBQUEsZ0JBQVMsRUFBQztBQUVwQyxTQUFTRixjQUFjTyxXQUFXLEVBQUVDLFdBQVcsRUFBRTtJQUM5RCxJQUFJQyxrQkFBa0IsS0FBSztJQUUzQkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhUixnQkFBZ0JJLGNBQzdCSyxlQUFlQyxJQUFBQSxxQkFBYSxFQUFDRixhQUM3QkcsZUFBZUMsZUFBWSxDQUFDQyxlQUFlLENBQUNSO0lBRWxEQSxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYTtJQUVqRCxJQUFNTSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSxjQUFjLEVBQUUsRUFDaEJDLGNBQWMsRUFBRSxFQUNoQkMsNEJBQTRCbEIsK0JBQStCRSxjQUMzRGlCLDhCQUE4QmxCLGlDQUFpQ0M7UUFFckUsSUFBSWtCLGdDQUFnQyxLQUFLLEVBQ3JDQyxrQ0FBa0MsS0FBSztRQUUzQyxJQUFJSCw4QkFBOEIsSUFBSSxFQUFFO1lBQ3RDRSxnQ0FBZ0NFLElBQUFBLDZCQUEyQixFQUFDSiwyQkFBMkJGLGFBQWFDLGFBQWFSO1FBQ25ILENBQUM7UUFFRCxJQUFJVSxnQ0FBZ0MsSUFBSSxFQUFFO1lBQ3hDRSxrQ0FBa0NFLElBQUFBLGdDQUE2QixFQUFDSiw2QkFBNkJGLGFBQWFSO1FBQzVHLENBQUM7UUFFRCxJQUFJVyxpQ0FBaUNDLGlDQUFpQztZQUNwRSxJQUFNRyxZQUFZNUIsZUFBZU0sY0FDM0J1QixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ1QsY0FDeEJVLGFBQWFGLGlCQUNiRyxnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ0wsV0FBV0csWUFBWWxCO1lBRXpELElBQUltQixlQUFlO2dCQUNqQixJQUFNRSxVQUFVQyxnQkFBTyxDQUFDQyxrQ0FBa0MsQ0FBQ25CLFFBQVFHLGFBQWFXO2dCQUVoRnhCLFlBQVk4QixVQUFVLENBQUNIO2dCQUV2QjFCLGtCQUFrQixJQUFJO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGlCQUFpQjtRQUNuQkQsWUFBWStCLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFiM0IsY0FBYTtJQUNqRCxDQUFDO0lBRURILGtCQUNFRCxZQUFZZ0MsUUFBUSxDQUFDakMsZUFDbkJDLFlBQVlnQyxRQUFRLENBQUNqQyxZQUFZO0lBRXJDLE9BQU9FO0FBQ1QifQ==
@@ -0,0 +1,28 @@
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==
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.465",
4
+ "version": "0.0.467",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,9 +12,9 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.21",
14
14
  "necessary": "^11.2.1",
15
- "occam-custom-grammars": "^5.0.374",
15
+ "occam-custom-grammars": "^5.0.375",
16
16
  "occam-dom": "^3.1.1",
17
- "occam-file-system": "^5.0.133",
17
+ "occam-file-system": "^5.0.134",
18
18
  "occam-grammar-utilities": "^7.0.66"
19
19
  },
20
20
  "devDependencies": {
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ import Substitution from "./substitution";
4
+
5
+ import { first } from "./utilities/array";
6
+ import { nodeAsString } from "./utilities/string";
7
+ import { nodeQuery, nodesQuery } from "./utilities/query";
8
+ import { variableNameFromVariableNode } from "./utilities/query";
9
+ import { statementNodeFromStatementString } from "./utilities/string";
10
+ import { VARIABLE_RULE_NAME, STATEMENT_RULE_NAME } from "./ruleNames";
11
+
12
+ const statementNodesQuery = nodesQuery("/subproofAssertion/statement"),
13
+ subproofAssertionNodeQuery = nodeQuery("/statement/subproofAssertion!"),
14
+ unqualifiedStatementStatementNodesQuery = nodesQuery("/subproof/unqualifiedStatement/statement!"),
15
+ qualifiedOrUnqualifiedStatementStatementNodeQuery = nodeQuery("/subproof/metaDerivation|abridgedMetaDerivation/qualifiedStatement|unqualifiedStatement[-1]/statement!");
16
+
17
+ export default class Antecedent {
18
+ constructor(statementNode) {
19
+ this.statementNode = statementNode;
20
+ }
21
+
22
+ getStatementNode() {
23
+ return this.statementNode;
24
+ }
25
+
26
+ matchSubproofNode(subproofNode, substitutions) {
27
+ let subproofNodeMatches = false;
28
+
29
+ const subproofAssertionNode = subproofAssertionNodeQuery(this.statementNode);
30
+
31
+ if (subproofAssertionNode !== null) {
32
+ const subproofAssertionStatementNodes = statementNodesQuery(subproofAssertionNode),
33
+ unqualifiedStatementStatementNodes = unqualifiedStatementStatementNodesQuery(subproofNode),
34
+ qualifiedOrUnqualifiedStatementStatementNode = qualifiedOrUnqualifiedStatementStatementNodeQuery(subproofNode),
35
+ statementNodes = [
36
+ ...unqualifiedStatementStatementNodes,
37
+ qualifiedOrUnqualifiedStatementStatementNode
38
+ ],
39
+ statementNodesLength = statementNodes.length,
40
+ subproofAssertionStatementNodesLength = subproofAssertionStatementNodes.length;
41
+
42
+ if (statementNodesLength === subproofAssertionStatementNodesLength) {
43
+ subproofNodeMatches = subproofAssertionStatementNodes.every((subproofAssertionStatementNode, index) => {
44
+ const statementNode = statementNodes[index],
45
+ nonTerminalNode = statementNode, ///
46
+ antecedentNonTerminalNode = subproofAssertionStatementNode, ///
47
+ antecedentNonTerminalNodeMatches = matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions);
48
+
49
+ if (antecedentNonTerminalNodeMatches) {
50
+ return true;
51
+ }
52
+ });
53
+ }
54
+ }
55
+
56
+ return subproofNodeMatches;
57
+ }
58
+
59
+ matchStatementNode(statementNode, substitutions) {
60
+ const nonTerminalNode = statementNode, ///
61
+ antecedentNonTerminalNode = this.statementNode, ///
62
+ antecedentNonTerminalNodeMatches = matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions),
63
+ statementNodeMatches = antecedentNonTerminalNodeMatches; ///
64
+
65
+ return statementNodeMatches;
66
+ }
67
+
68
+ toJSON() {
69
+ const statementString = nodeAsString(this.statementNode),
70
+ statement = statementString, ///
71
+ json = {
72
+ statement
73
+ };
74
+
75
+ return json;
76
+ }
77
+
78
+ static fromJSON(json, releaseContext) {
79
+ const { statement } = json,
80
+ statementString = statement, ///
81
+ statementNode = statementNodeFromStatementString(statementString, releaseContext),
82
+ antecedent = new Antecedent(statementNode);
83
+
84
+ return antecedent;
85
+ }
86
+
87
+ static fromStatementNode(statementNode) {
88
+ const antecedent = new Antecedent(statementNode);
89
+
90
+ return antecedent;
91
+ }
92
+ }
93
+
94
+ function matchAntecedentNode(antecedentNode, node, substitutions) {
95
+ let antecedentNodeMatches = false;
96
+
97
+ const nodeTerminalNode = node.isTerminalNode(),
98
+ ruleNodeTerminalNode = antecedentNode.isTerminalNode();
99
+
100
+ if (nodeTerminalNode === ruleNodeTerminalNode) {
101
+ if (nodeTerminalNode) {
102
+ const terminalNode = node, ///
103
+ antecedentTerminalNode = antecedentNode, ///
104
+ antecedentTerminalNodeMatches = matchAntecedentTerminalNode(antecedentTerminalNode, terminalNode, substitutions);
105
+
106
+ antecedentNodeMatches = antecedentTerminalNodeMatches; ///
107
+ } else {
108
+ const nonTerminalNode = node, ///
109
+ antecedentNonTerminalNode = antecedentNode, ///
110
+ antecedentNonTerminalNodeMatches = matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions);
111
+
112
+ antecedentNodeMatches = antecedentNonTerminalNodeMatches; ///
113
+ }
114
+ }
115
+
116
+ return antecedentNodeMatches;
117
+ }
118
+
119
+ function matchAntecedentNodes(antecedentNodes, nodes, substitutions) {
120
+ let antecedentNodesMatches = false;
121
+
122
+ const nodesLength = nodes.length,
123
+ antecedentNodesLength = antecedentNodes.length;
124
+
125
+ if (nodesLength === antecedentNodesLength) {
126
+ antecedentNodesMatches = nodes.every((node, index) => {
127
+ const antecedentNode = antecedentNodes[index],
128
+ antecedentNodeMatches = matchAntecedentNode(antecedentNode, node, substitutions);
129
+
130
+ if (antecedentNodeMatches) {
131
+ return true;
132
+ }
133
+ });
134
+ }
135
+
136
+ return antecedentNodesMatches;
137
+ }
138
+
139
+ function matchAntecedentVariable(antecedentVariableNode, nodes, substitutions) {
140
+ let antecedentVariableMatches;
141
+
142
+ const antecedentVariableName = variableNameFromVariableNode(antecedentVariableNode),
143
+ substitution = substitutions.find((substitution) => {
144
+ const variableName = substitution.getVariableName();
145
+
146
+ if (variableName === antecedentVariableName) {
147
+ return true;
148
+ }
149
+ }) || null;
150
+
151
+ if (substitution !== null) {
152
+ const substitutionNodesMatch = substitution.matchNodes(nodes);
153
+
154
+ antecedentVariableMatches = substitutionNodesMatch; ///
155
+ } else {
156
+ const variableName = antecedentVariableName, ///
157
+ substitution = Substitution.fromVariableNameAndNodes(variableName, nodes);
158
+
159
+ substitutions.push(substitution);
160
+
161
+ antecedentVariableMatches = true;
162
+ }
163
+
164
+ return antecedentVariableMatches;
165
+ }
166
+
167
+ function matchAntecedentTerminalNode(antecedentTerminalNode, terminalNode, substitutions) {
168
+ const matches = antecedentTerminalNode.match(terminalNode),
169
+ antecedentTerminalNodeMatches = matches;
170
+
171
+ return antecedentTerminalNodeMatches;
172
+ }
173
+
174
+ function matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions) {
175
+ let antecedentNonTerminalNodeMatches = false;
176
+
177
+ const ruleName = nonTerminalNode.getRuleName(),
178
+ antecedentRuleName = antecedentNonTerminalNode.getRuleName(); ///
179
+
180
+ if (ruleName === antecedentRuleName) {
181
+ const childNodes = nonTerminalNode.getChildNodes(),
182
+ antecedentChildNodes = antecedentNonTerminalNode.getChildNodes(),
183
+ nodes = childNodes, ///
184
+ antecedentNodes = antecedentChildNodes, ///
185
+ antecedentChildNodesMatches = matchAntecedentNodes(antecedentNodes, nodes, substitutions);
186
+
187
+ antecedentNonTerminalNodeMatches = antecedentChildNodesMatches; ///
188
+
189
+ if (!antecedentNonTerminalNodeMatches) {
190
+ const ruleNameStatementRuleName = (ruleName === STATEMENT_RULE_NAME);
191
+
192
+ if (ruleNameStatementRuleName) {
193
+ const statementNode = nonTerminalNode, ///
194
+ antecedentStatementNode = antecedentNonTerminalNode, ///
195
+ antecedentStatementNodeMatches = matchAntecedentStatementNode(antecedentStatementNode, statementNode, substitutions);
196
+
197
+ antecedentNonTerminalNodeMatches = antecedentStatementNodeMatches; ///
198
+ }
199
+ }
200
+ }
201
+
202
+ return antecedentNonTerminalNodeMatches;
203
+ }
204
+
205
+ function matchAntecedentStatementNode(antecedentStatementNode, statementNode, substitutions) {
206
+ let antecedentStatementNodeMatches = false;
207
+
208
+ const antecedentNonTerminalNode = antecedentStatementNode, ///
209
+ antecedentChildNodes = antecedentNonTerminalNode.getChildNodes(),
210
+ antecedentChildNodesLength = antecedentChildNodes.length;
211
+
212
+ if (antecedentChildNodesLength === 1) {
213
+ const firstAntecedentChildNode = first(antecedentChildNodes),
214
+ antecedentChildNode = firstAntecedentChildNode, ///
215
+ antecedentChildNodeNonTerminalNode = antecedentChildNode.isNonTerminalNode();
216
+
217
+ if (antecedentChildNodeNonTerminalNode) {
218
+ const antecedentNonTerminalChildNode = antecedentChildNode, ///
219
+ antecedentNonTerminalChildNodeRuleName = antecedentNonTerminalChildNode.getRuleName(),
220
+ antecedentNonTerminalChildNodeRuleNameVariableRuleName = (antecedentNonTerminalChildNodeRuleName === VARIABLE_RULE_NAME);
221
+
222
+ if (antecedentNonTerminalChildNodeRuleNameVariableRuleName) {
223
+ const antecedentVariableNode = antecedentNonTerminalChildNode, ///
224
+ nonTerminalNode = statementNode, ///
225
+ childNodes = nonTerminalNode.getChildNodes(),
226
+ nodes = childNodes, ///
227
+ antecedentVariableMatches = matchAntecedentVariable(antecedentVariableNode, nodes, substitutions);
228
+
229
+ antecedentStatementNodeMatches = antecedentVariableMatches; ///
230
+ }
231
+ }
232
+ }
233
+
234
+ return antecedentStatementNodeMatches;
235
+ }
package/src/axiom.js CHANGED
@@ -1,103 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import Label from "./label";
3
+ import AxiomLemmaTheorem from "./axiomLemmaTheorem";
4
4
 
5
5
  import { AXIOM_KIND } from "./kinds";
6
- import { nodeAsString } from "./utilities/string";
7
6
 
8
- import { unqualifiedStatementNodeFromUnqualifiedStatementString, indicativeConditionalNodeFromIndicativeConditionalString } from "./utilities/string";
7
+ export default class Axiom extends AxiomLemmaTheorem {
8
+ static kind = AXIOM_KIND;
9
9
 
10
- export default class Axiom {
11
- constructor(labels, unqualifiedStatementNode, indicativeConditionalNode) {
12
- this.labels = labels;
13
- this.unqualifiedStatementNode = unqualifiedStatementNode;
14
- this.indicativeConditionalNode = indicativeConditionalNode;
15
- }
10
+ static fromJSON(json, releaseContext) { return AxiomLemmaTheorem.fromJSON(Axiom, json, releaseContext); }
16
11
 
17
- getLabels() {
18
- return this.labels;
19
- }
20
-
21
- getUnqualifiedStatementNode() {
22
- return this.unqualifiedStatementNode;
23
- }
24
-
25
- getIndicativeConditionalNode() {
26
- return this.indicativeConditionalNode;
27
- }
28
-
29
- matchLabelName(labelName) {
30
- const matchesLabelName = this.labels.some((label) => {
31
- const name = labelName, ///
32
- labelMatchesName = label.matchName(name);
33
-
34
- if (labelMatchesName) {
35
- return true;
36
- }
37
- });
38
-
39
- return matchesLabelName;
40
- }
41
-
42
- toJSON() {
43
- const labelsJSON = this.labels.map((label) => {
44
- const labelJSON = label.toJSON();
45
-
46
- return labelJSON;
47
- }),
48
- unqualifiedStatementString = nodeAsString(this.unqualifiedStatementNode),
49
- indicativeConditionalString = nodeAsString(this.indicativeConditionalNode),
50
- kind = AXIOM_KIND,
51
- labels = labelsJSON, ///
52
- unqualifiedStatement = unqualifiedStatementString, ///
53
- indicativeConditional = indicativeConditionalString, ///
54
- json = {
55
- kind,
56
- labels,
57
- unqualifiedStatement,
58
- indicativeConditional
59
- };
60
-
61
- return json;
62
- }
63
-
64
- static fromJSON(json, releaseContext) {
65
- let { labels } = json;
66
-
67
- const labelsJSON = labels; ///
68
-
69
- labels = labelsJSON.map((labelJSON) => {
70
- const json = labelJSON, ///
71
- label = Label.fromJSON(json, releaseContext);
72
-
73
- return label;
74
- });
75
-
76
- let { unqualifiedStatement, indicativeConditional } = json;
77
-
78
- let unqualifiedStatementNode = null,
79
- indicativeConditionalNode = null;
80
-
81
- if (unqualifiedStatement !== null) {
82
- const unqualifiedStatementString = unqualifiedStatement; ///
83
-
84
- unqualifiedStatementNode = unqualifiedStatementNodeFromUnqualifiedStatementString(unqualifiedStatementString, releaseContext);
85
- }
86
-
87
- if (indicativeConditional !== null) {
88
- const indicativeConditionalString = indicativeConditional; ///
89
-
90
- indicativeConditionalNode = indicativeConditionalNodeFromIndicativeConditionalString(indicativeConditionalString, releaseContext);
91
- }
92
-
93
- const axiom = new Axiom(labels, unqualifiedStatementNode, indicativeConditionalNode);
94
-
95
- return axiom;
96
- }
97
-
98
- static fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode(labels, unqualifiedStatementNode, indicativeConditionalNode) {
99
- const axiom = new Axiom(labels, unqualifiedStatementNode, indicativeConditionalNode);
100
-
101
- return axiom;
102
- }
12
+ static fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent) { return AxiomLemmaTheorem.fromLabelsAntecedentsAndConsequent(Axiom, labels, antecedents, consequent); }
103
13
  }