occam-verify-cli 0.0.470 → 0.0.471

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 (45) hide show
  1. package/lib/context/file.js +9 -9
  2. package/lib/context/metaproof.js +30 -31
  3. package/lib/context/proof.js +27 -28
  4. package/lib/metaSubstitution.js +4 -4
  5. package/lib/rule.js +15 -19
  6. package/lib/step/metaproof.js +114 -0
  7. package/lib/step/proof.js +68 -0
  8. package/lib/utilities/array.js +2 -5
  9. package/lib/utilities/metaAssertion.js +117 -0
  10. package/lib/utilities/node.js +52 -0
  11. package/lib/verify/antecedent.js +4 -4
  12. package/lib/verify/derivation.js +13 -13
  13. package/lib/verify/equality.js +18 -5
  14. package/lib/verify/metaDerivation.js +13 -13
  15. package/lib/verify/metaproof.js +13 -51
  16. package/lib/verify/metastatement/unqualified.js +2 -3
  17. package/lib/verify/premiseOrPremises.js +4 -4
  18. package/lib/verify/proof.js +14 -52
  19. package/lib/verify/statement/unqualified.js +2 -3
  20. package/package.json +1 -1
  21. package/src/context/file.js +6 -6
  22. package/src/context/metaproof.js +28 -31
  23. package/src/context/proof.js +25 -28
  24. package/src/metaSubstitution.js +1 -1
  25. package/src/rule.js +19 -26
  26. package/src/step/metaproof.js +100 -0
  27. package/src/step/proof.js +30 -0
  28. package/src/utilities/array.js +1 -1
  29. package/src/utilities/metaAssertion.js +176 -0
  30. package/src/utilities/node.js +72 -0
  31. package/src/verify/antecedent.js +3 -3
  32. package/src/verify/derivation.js +14 -10
  33. package/src/verify/equality.js +29 -11
  34. package/src/verify/metaDerivation.js +14 -10
  35. package/src/verify/metaproof.js +26 -91
  36. package/src/verify/metastatement/unqualified.js +1 -3
  37. package/src/verify/premiseOrPremises.js +3 -3
  38. package/src/verify/proof.js +27 -92
  39. package/src/verify/statement/unqualified.js +1 -4
  40. package/lib/assertion.js +0 -147
  41. package/lib/metaAssertion.js +0 -200
  42. package/lib/utilities/metastatement.js +0 -45
  43. package/src/assertion.js +0 -150
  44. package/src/metaAssertion.js +0 -245
  45. package/src/utilities/metastatement.js +0 -50
@@ -8,17 +8,18 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyProof;
9
9
  }
10
10
  });
11
- var _assertion = /*#__PURE__*/ _interopRequireDefault(require("../assertion"));
11
+ var _proof = /*#__PURE__*/ _interopRequireDefault(require("../step/proof"));
12
12
  var _derivation = /*#__PURE__*/ _interopRequireDefault(require("../verify/derivation"));
13
13
  var _qualified = /*#__PURE__*/ _interopRequireDefault(require("./statement/qualified"));
14
+ var _node = require("../utilities/node");
14
15
  var _query = require("../utilities/query");
15
16
  function _interopRequireDefault(obj) {
16
17
  return obj && obj.__esModule ? obj : {
17
18
  default: obj
18
19
  };
19
20
  }
20
- var derivationNodeQuery = (0, _query.nodeQuery)("/proof/derivation!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/proof/qualifiedStatement!");
21
- function verifyProof(proofNode, consequent, proofContext) {
21
+ var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!"), derivationNodeQuery = (0, _query.nodeQuery)("/proof/derivation!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/proof/qualifiedStatement!");
22
+ function verifyProof(proofNode, conclusion, proofContext) {
22
23
  var proofVerified = false;
23
24
  proofContext.begin(proofNode);
24
25
  var derivationNode = derivationNodeQuery(proofNode), qualifiedStatementNode = qualifiedStatementNodeQuery(proofNode);
@@ -27,62 +28,23 @@ function verifyProof(proofNode, consequent, proofContext) {
27
28
  derivationVerified = (0, _derivation.default)(derivationNode, proofContext);
28
29
  }
29
30
  if (qualifiedStatementNode !== null) {
31
+ var derived;
32
+ derived = true;
33
+ proofContext.setDerived(derived);
30
34
  qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, proofContext);
35
+ derived = false;
36
+ proofContext.setDerived(derived);
31
37
  if (qualifiedStatementVerified) {
32
- var assertion = _assertion.default.fromQualifiedStatementNode(qualifiedStatementNode);
33
- proofContext.addAssertion(assertion);
38
+ var statementNode = statementNodeQuery(qualifiedStatementNode), proofStep = _proof.default.fromStatementNode(statementNode);
39
+ proofContext.addProofStep(proofStep);
34
40
  }
35
41
  }
36
42
  if (derivationVerified || qualifiedStatementVerified) {
37
- var lastAssertion = proofContext.getLastAssertion(), assertion1 = lastAssertion, statementNode = consequent.getStatementNode(), assertionStatementNode = assertion1.getStatementNode(), assertionStatementNodeMatches = matchProofStatementNode(assertionStatementNode, statementNode);
38
- proofVerified = assertionStatementNodeMatches; ///
43
+ var lastProofStep = proofContext.getLastProofStep(), proofStep1 = lastProofStep, statementNode1 = proofStep1.getStatementNode(), conclusionStatementNode = conclusion.getStatementNode(), nodeA = statementNode1, nodeB = conclusionStatementNode, nodeMatches = (0, _node.matchNode)(nodeA, nodeB);
44
+ proofVerified = nodeMatches; ///
39
45
  }
40
46
  proofVerified ? proofContext.complete(proofNode) : proofContext.complete(proofNode);
41
47
  return proofVerified;
42
48
  }
43
- function matchProofStatementNode(assertionStatementNode, statementNode) {
44
- var assertionNonTerminalNode = assertionStatementNode, nonTerminalNode = statementNode, assertionNonTerminalNodeMatches = matchProofNonTerminalNode(assertionNonTerminalNode, nonTerminalNode), assertionStatementNodeMatches = assertionNonTerminalNodeMatches; ///
45
- return assertionStatementNodeMatches;
46
- }
47
- function matchProofNode(assertionNode, node) {
48
- var assertionNodeMatches = false;
49
- var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = assertionNode.isTerminalNode();
50
- if (nodeTerminalNode === ruleNodeTerminalNode) {
51
- if (nodeTerminalNode) {
52
- var terminalNode = node, assertionTerminalNode = assertionNode, assertionTerminalNodeMatches = matchProofTerminalNode(assertionTerminalNode, terminalNode);
53
- assertionNodeMatches = assertionTerminalNodeMatches; ///
54
- } else {
55
- var nonTerminalNode = node, assertionNonTerminalNode = assertionNode, assertionNonTerminalNodeMatches = matchProofNonTerminalNode(assertionNonTerminalNode, nonTerminalNode);
56
- assertionNodeMatches = assertionNonTerminalNodeMatches; ///
57
- }
58
- }
59
- return assertionNodeMatches;
60
- }
61
- function matchProofNodes(assertionNodes, nodes) {
62
- var assertionNodesMatches = false;
63
- var nodesLength = nodes.length, assertionNodesLength = assertionNodes.length;
64
- if (nodesLength === assertionNodesLength) {
65
- assertionNodesMatches = nodes.every(function(node, index) {
66
- var assertionNode = assertionNodes[index], assertionNodeMatches = matchProofNode(assertionNode, node);
67
- if (assertionNodeMatches) {
68
- return true;
69
- }
70
- });
71
- }
72
- return assertionNodesMatches;
73
- }
74
- function matchProofTerminalNode(assertionTerminalNode, terminalNode) {
75
- var matches = assertionTerminalNode.match(terminalNode), assertionTerminalNodeMatches = matches; ///
76
- return assertionTerminalNodeMatches;
77
- }
78
- function matchProofNonTerminalNode(assertionNonTerminalNode, nonTerminalNode) {
79
- var assertionNonTerminalNodeMatches = false;
80
- var ruleName = nonTerminalNode.getRuleName(), assertionRuleName = assertionNonTerminalNode.getRuleName(); ///
81
- if (ruleName === assertionRuleName) {
82
- var childNodes = nonTerminalNode.getChildNodes(), assertionChildNodes = assertionNonTerminalNode.getChildNodes(), nodes = childNodes, assertionNodes = assertionChildNodes, assertionNodesMatches = matchProofNodes(assertionNodes, nodes);
83
- assertionNonTerminalNodeMatches = assertionNodesMatches; ///
84
- }
85
- return assertionNonTerminalNodeMatches;
86
- }
87
49
 
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9kZXJpdmF0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuL3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBkZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mL2Rlcml2YXRpb24hXCIpLFxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mL3F1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByb29mKHByb29mTm9kZSwgY29uc2VxdWVudCwgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHByb29mTm9kZSk7XG5cbiAgY29uc3QgZGVyaXZhdGlvbk5vZGUgPSBkZXJpdmF0aW9uTm9kZVF1ZXJ5KHByb29mTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocHJvb2ZOb2RlKTtcblxuICBsZXQgZGVyaXZhdGlvblZlcmlmaWVkID0gZmFsc2UsXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGRlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeURlcml2YXRpb24oZGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCk7XG4gIH1cblxuICBpZiAocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2VydGlvbiA9IEFzc2VydGlvbi5mcm9tUXVhbGlmaWVkU3RhdGVtZW50Tm9kZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgICAgcHJvb2ZDb250ZXh0LmFkZEFzc2VydGlvbihhc3NlcnRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkZXJpdmF0aW9uVmVyaWZpZWQgfHwgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBsYXN0QXNzZXJ0aW9uID0gcHJvb2ZDb250ZXh0LmdldExhc3RBc3NlcnRpb24oKSxcbiAgICAgICAgICBhc3NlcnRpb24gPSBsYXN0QXNzZXJ0aW9uLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gY29uc2VxdWVudC5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgYXNzZXJ0aW9uU3RhdGVtZW50Tm9kZSA9IGFzc2VydGlvbi5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgYXNzZXJ0aW9uU3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaFByb29mU3RhdGVtZW50Tm9kZShhc3NlcnRpb25TdGF0ZW1lbnROb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIHByb29mVmVyaWZpZWQgPSBhc3NlcnRpb25TdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgcHJvb2ZWZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHByb29mTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHByb29mTm9kZSk7XG5cbiAgcmV0dXJuIHByb29mVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJvb2ZTdGF0ZW1lbnROb2RlKGFzc2VydGlvblN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUpIHtcbiAgY29uc3QgYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlID0gYXNzZXJ0aW9uU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByb29mTm9uVGVybWluYWxOb2RlKGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSxcbiAgICAgICAgYXNzZXJ0aW9uU3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIGFzc2VydGlvblN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByb29mTm9kZShhc3NlcnRpb25Ob2RlLCBub2RlKSB7XG4gIGxldCBhc3NlcnRpb25Ob2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIHJ1bGVOb2RlVGVybWluYWxOb2RlID0gYXNzZXJ0aW9uTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBydWxlTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBhc3NlcnRpb25UZXJtaW5hbE5vZGUgPSBhc3NlcnRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBhc3NlcnRpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hQcm9vZlRlcm1pbmFsTm9kZShhc3NlcnRpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIGFzc2VydGlvbk5vZGVNYXRjaGVzID0gYXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSA9IGFzc2VydGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByb29mTm9uVGVybWluYWxOb2RlKGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgYXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXNzZXJ0aW9uTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJvb2ZOb2Rlcyhhc3NlcnRpb25Ob2Rlcywgbm9kZXMpIHtcbiAgbGV0IGFzc2VydGlvbk5vZGVzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoLFxuICAgICAgICBhc3NlcnRpb25Ob2Rlc0xlbmd0aCA9IGFzc2VydGlvbk5vZGVzLmxlbmd0aDtcblxuICBpZiAobm9kZXNMZW5ndGggPT09IGFzc2VydGlvbk5vZGVzTGVuZ3RoKSB7XG4gICAgYXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBhc3NlcnRpb25Ob2RlID0gYXNzZXJ0aW9uTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgYXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtYXRjaFByb29mTm9kZShhc3NlcnRpb25Ob2RlLCBub2RlKTtcblxuICAgICAgaWYgKGFzc2VydGlvbk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gYXNzZXJ0aW9uTm9kZXNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByb29mVGVybWluYWxOb2RlKGFzc2VydGlvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBhc3NlcnRpb25UZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKSxcbiAgICAgICAgYXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gYXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcm9vZk5vblRlcm1pbmFsTm9kZShhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSkge1xuICBsZXQgYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIGFzc2VydGlvblJ1bGVOYW1lID0gYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gIGlmIChydWxlTmFtZSA9PT0gYXNzZXJ0aW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBhc3NlcnRpb25DaGlsZE5vZGVzID0gYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIGFzc2VydGlvbk5vZGVzID0gYXNzZXJ0aW9uQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgYXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gbWF0Y2hQcm9vZk5vZGVzKGFzc2VydGlvbk5vZGVzLCBub2Rlcyk7XG5cbiAgICBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gYXNzZXJ0aW9uTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVByb29mIiwiZGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInByb29mTm9kZSIsImNvbnNlcXVlbnQiLCJwcm9vZkNvbnRleHQiLCJwcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJkZXJpdmF0aW9uTm9kZSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJkZXJpdmF0aW9uVmVyaWZpZWQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeURlcml2YXRpb24iLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NlcnRpb24iLCJBc3NlcnRpb24iLCJmcm9tUXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImFkZEFzc2VydGlvbiIsImxhc3RBc3NlcnRpb24iLCJnZXRMYXN0QXNzZXJ0aW9uIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJhc3NlcnRpb25TdGF0ZW1lbnROb2RlIiwiYXNzZXJ0aW9uU3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFByb29mU3RhdGVtZW50Tm9kZSIsImNvbXBsZXRlIiwiYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaFByb29mTm9kZSIsImFzc2VydGlvbk5vZGUiLCJub2RlIiwiYXNzZXJ0aW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImFzc2VydGlvblRlcm1pbmFsTm9kZSIsImFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFByb29mVGVybWluYWxOb2RlIiwibWF0Y2hQcm9vZk5vZGVzIiwiYXNzZXJ0aW9uTm9kZXMiLCJub2RlcyIsImFzc2VydGlvbk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiYXNzZXJ0aW9uTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImFzc2VydGlvblJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJhc3NlcnRpb25DaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7OzhEQVRGOytEQUNPOzhEQUNRO3FCQUVYOzs7Ozs7QUFFMUIsSUFBTUMsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0MsOEJBQThCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRS9CLFNBQVNGLFlBQVlJLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUU7SUFDdkUsSUFBSUMsZ0JBQWdCLEtBQUs7SUFFekJELGFBQWFFLEtBQUssQ0FBQ0o7SUFFbkIsSUFBTUssaUJBQWlCUixvQkFBb0JHLFlBQ3JDTSx5QkFBeUJQLDRCQUE0QkM7SUFFM0QsSUFBSU8scUJBQXFCLEtBQUssRUFDMUJDLDZCQUE2QixLQUFLO0lBRXRDLElBQUlILG1CQUFtQixJQUFJLEVBQUU7UUFDM0JFLHFCQUFxQkUsSUFBQUEsbUJBQWdCLEVBQUNKLGdCQUFnQkg7SUFDeEQsQ0FBQztJQUVELElBQUlJLDJCQUEyQixJQUFJLEVBQUU7UUFDbkNFLDZCQUE2QkUsSUFBQUEsa0JBQXdCLEVBQUNKLHdCQUF3Qko7UUFFOUUsSUFBSU0sNEJBQTRCO1lBQzlCLElBQU1HLFlBQVlDLGtCQUFTLENBQUNDLDBCQUEwQixDQUFDUDtZ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
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi9zdGF0ZW1lbnQvcXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG1hdGNoTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbm9kZVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBkZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mL2Rlcml2YXRpb24hXCIpLFxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mL3F1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByb29mKHByb29mTm9kZSwgY29uY2x1c2lvbiwgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHByb29mTm9kZSk7XG5cbiAgY29uc3QgZGVyaXZhdGlvbk5vZGUgPSBkZXJpdmF0aW9uTm9kZVF1ZXJ5KHByb29mTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocHJvb2ZOb2RlKTtcblxuICBsZXQgZGVyaXZhdGlvblZlcmlmaWVkID0gZmFsc2UsXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGRlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeURlcml2YXRpb24oZGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCk7XG4gIH1cblxuICBpZiAocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBkZXJpdmVkO1xuXG4gICAgZGVyaXZlZCA9IHRydWU7XG5cbiAgICBwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBkZXJpdmVkID0gZmFsc2U7XG5cbiAgICBwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgcHJvb2ZDb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkZXJpdmF0aW9uVmVyaWZpZWQgfHwgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBsYXN0UHJvb2ZTdGVwID0gcHJvb2ZDb250ZXh0LmdldExhc3RQcm9vZlN0ZXAoKSxcbiAgICAgICAgICBwcm9vZlN0ZXAgPSBsYXN0UHJvb2ZTdGVwLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwLmdldFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBjb25jbHVzaW9uU3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb24uZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIG5vZGVBID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gY29uY2x1c2lvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgcHJvb2ZWZXJpZmllZCA9IG5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBwcm9vZlZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUocHJvb2ZOb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuY29tcGxldGUocHJvb2ZOb2RlKTtcblxuICByZXR1cm4gcHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlQcm9vZiIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRlcml2YXRpb25Ob2RlUXVlcnkiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJwcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwicHJvb2ZDb250ZXh0IiwicHJvb2ZWZXJpZmllZCIsImJlZ2luIiwiZGVyaXZhdGlvbk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiZGVyaXZhdGlvblZlcmlmaWVkIiwicXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlEZXJpdmF0aW9uIiwiZGVyaXZlZCIsInNldERlcml2ZWQiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwicHJvb2ZTdGVwIiwiUHJvb2ZTdGVwIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJhZGRQcm9vZlN0ZXAiLCJsYXN0UHJvb2ZTdGVwIiwiZ2V0TGFzdFByb29mU3RlcCIsImdldFN0YXRlbWVudE5vZGUiLCJjb25jbHVzaW9uU3RhdGVtZW50Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJub2RlTWF0Y2hlcyIsIm1hdGNoTm9kZSIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXdCQTs7OzBEQVhGOytEQUNPOzhEQUNRO29CQUVYO3FCQUNBOzs7Ozs7QUFFMUIsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLG1DQUMvQkMsc0JBQXNCRCxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0UsOEJBQThCRixJQUFBQSxnQkFBUyxFQUFDO0FBRS9CLFNBQVNGLFlBQVlLLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUU7SUFDdkUsSUFBSUMsZ0JBQWdCLEtBQUs7SUFFekJELGFBQWFFLEtBQUssQ0FBQ0o7SUFFbkIsSUFBTUssaUJBQWlCUCxvQkFBb0JFLFlBQ3JDTSx5QkFBeUJQLDRCQUE0QkM7SUFFM0QsSUFBSU8scUJBQXFCLEtBQUssRUFDMUJDLDZCQUE2QixLQUFLO0lBRXRDLElBQUlILG1CQUFtQixJQUFJLEVBQUU7UUFDM0JFLHFCQUFxQkUsSUFBQUEsbUJBQWdCLEVBQUNKLGdCQUFnQkg7SUFDeEQsQ0FBQztJQUVELElBQUlJLDJCQUEyQixJQUFJLEVBQUU7UUFDbkMsSUFBSUk7UUFFSkEsVUFBVSxJQUFJO1FBRWRSLGFBQWFTLFVBQVUsQ0FBQ0Q7UUFFeEJGLDZCQUE2QkksSUFBQUEsa0JBQXdCLEVBQUNOLHdCQUF3Qko7UUFFOUVRLFVBQVUsS0FBSztRQUVmUixhQUFhUyxVQUFVLENBQUNEO1FBRXhCLElBQUlGLDRCQUE0QjtZQUM5QixJQUFNSyxnQkFBZ0JqQixtQkFBbUJVLHlCQUNuQ1EsWUFBWUMsY0FBUyxDQUFDQyxpQkFBaUIsQ0FBQ0g7WUFFOUNYLGFBQWFlLFlBQVksQ0FBQ0g7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJUCxzQkFBc0JDLDRCQUE0QjtRQUNwRCxJQUFNVSxnQkFBZ0JoQixhQUFhaUIsZ0JBQWdCLElBQzdDTCxhQUFZSSxlQUNaTCxpQkFBZ0JDLFdBQVVNLGdCQUFnQixJQUMxQ0MsMEJBQTBCcEIsV0FBV21CLGdCQUFnQixJQUNyREUsUUFBUVQsZ0JBQ1JVLFFBQVFGLHlCQUNSRyxjQUFjQyxJQUFBQSxlQUFTLEVBQUNILE9BQU9DO1FBRXJDcEIsZ0JBQWdCcUIsYUFBYyxHQUFHO0lBQ25DLENBQUM7SUFFRHJCLGdCQUNFRCxhQUFhd0IsUUFBUSxDQUFDMUIsYUFDcEJFLGFBQWF3QixRQUFRLENBQUMxQixVQUFVO0lBRXBDLE9BQU9HO0FBQ1QifQ==
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _statement = /*#__PURE__*/ _interopRequireDefault(require("../../verify/statement"));
12
- var _assertion = /*#__PURE__*/ _interopRequireDefault(require("../../assertion"));
13
12
  var _query = require("../../utilities/query");
14
13
  var _string = require("../../utilities/string");
15
14
  function _interopRequireDefault(obj) {
@@ -29,7 +28,7 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, proofContext) {
29
28
  if (statementVerified) {
30
29
  var derived = proofContext.isDerived();
31
30
  if (derived) {
32
- var assertion = _assertion.default.fromStatementNode(statementNode), assertionMatches = proofContext.matchAssertion(assertion);
31
+ var assertionMatches = proofContext.matchStatement(statementNode);
33
32
  unqualifiedStatementVerified = assertionMatches; ///
34
33
  } else {
35
34
  unqualifiedStatementVerified = true;
@@ -43,4 +42,4 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, proofContext) {
43
42
  return unqualifiedStatementVerified;
44
43
  }
45
44
 
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uLy4uL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC4uLmApO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGRlcml2ZWQgPSBwcm9vZkNvbnRleHQuaXNEZXJpdmVkKCk7XG5cbiAgICAgIGlmIChkZXJpdmVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2VydGlvbiA9IEFzc2VydGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgYXNzZXJ0aW9uTWF0Y2hlcyA9IHByb29mQ29udGV4dC5tYXRjaEFzc2VydGlvbihhc3NlcnRpb24pO1xuXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIHByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCk7XG4gIH1cblxuICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicHJvb2ZDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImJlZ2luIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVN0YXRlbWVudCIsImRlcml2ZWQiLCJpc0Rlcml2ZWQiLCJhc3NlcnRpb24iLCJBc3NlcnRpb24iLCJmcm9tU3RhdGVtZW50Tm9kZSIsImFzc2VydGlvbk1hdGNoZXMiLCJtYXRjaEFzc2VydGlvbiIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBd0JBOzs7OERBVEk7OERBRU47cUJBRUk7c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsU0FBU0YsMkJBQTJCRyx3QkFBd0IsRUFBRUMsWUFBWSxFQUFFO0lBQ3pGLElBQUlDLCtCQUErQixLQUFLO0lBRXhDRCxhQUFhRSxLQUFLLENBQUNIO0lBRW5CLElBQU1JLDZCQUE2QkMsSUFBQUEsb0JBQVksRUFBQ0w7SUFFaERDLGFBQWFLLEtBQUssQ0FBQyxBQUFDLGtCQUE0QyxPQUEzQkYsNEJBQTJCO0lBRWhFLElBQU1HLGdCQUFnQlQsbUJBQW1CRTtJQUV6QyxJQUFJTyxrQkFBa0IsSUFBSSxFQUFFO1FBQzFCLElBQU1DLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ0YsZUFBZU47UUFFekQsSUFBSU8sbUJBQW1CO1lBQ3JCLElBQU1FLFVBQVVULGFBQWFVLFNBQVM7WUFFdEMsSUFBSUQsU0FBUztnQkFDWCxJQUFNRSxZQUFZQyxrQkFBUyxDQUFDQyxpQkFBaUIsQ0FBQ1AsZ0JBQ3hDUSxtQkFBbUJkLGFBQWFlLGNBQWMsQ0FBQ0o7Z0JBRXJEViwrQkFBK0JhLGtCQUFtQixHQUFHO1lBQ3ZELE9BQU87Z0JBQ0xiLCtCQUErQixJQUFJO1lBQ3JDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLDhCQUE4QjtRQUNoQ0QsYUFBYWdCLElBQUksQ0FBQyxBQUFDLGlCQUEyQyxPQUEzQmIsNEJBQTJCO0lBQ2hFLENBQUM7SUFFREYsK0JBQ0VELGFBQWFpQixRQUFRLENBQUNsQiw0QkFDcEJDLGFBQWFrQixJQUFJLENBQUNuQix5QkFBeUI7SUFFL0MsT0FBT0U7QUFDVCJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbih1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcHJvb2ZDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCk7XG5cbiAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IHByb29mQ29udGV4dC5pc0Rlcml2ZWQoKTtcblxuICAgICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgICAgY29uc3QgYXNzZXJ0aW9uTWF0Y2hlcyA9IHByb29mQ29udGV4dC5tYXRjaFN0YXRlbWVudChzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBwcm9vZkNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50LmApO1xuICB9XG5cbiAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInByb29mQ29udGV4dCIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJkZXJpdmVkIiwiaXNEZXJpdmVkIiwiYXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50IiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7Ozs4REFQSTtxQkFFRjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixTQUFTRiwyQkFBMkJHLHdCQUF3QixFQUFFQyxZQUFZLEVBQUU7SUFDekYsSUFBSUMsK0JBQStCLEtBQUs7SUFFeENELGFBQWFFLEtBQUssQ0FBQ0g7SUFFbkIsSUFBTUksNkJBQTZCQyxJQUFBQSxvQkFBWSxFQUFDTDtJQUVoREMsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQTRDLE9BQTNCRiw0QkFBMkI7SUFFaEUsSUFBTUcsZ0JBQWdCVCxtQkFBbUJFO0lBRXpDLElBQUlPLGtCQUFrQixJQUFJLEVBQUU7UUFDMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDRixlQUFlTjtRQUV6RCxJQUFJTyxtQkFBbUI7WUFDckIsSUFBTUUsVUFBVVQsYUFBYVUsU0FBUztZQUV0QyxJQUFJRCxTQUFTO2dCQUNYLElBQU1FLG1CQUFtQlgsYUFBYVksY0FBYyxDQUFDTjtnQkFFckRMLCtCQUErQlUsa0JBQW1CLEdBQUc7WUFDdkQsT0FBTztnQkFDTFYsK0JBQStCLElBQUk7WUFDckMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsOEJBQThCO1FBQ2hDRCxhQUFhYSxJQUFJLENBQUMsQUFBQyxpQkFBMkMsT0FBM0JWLDRCQUEyQjtJQUNoRSxDQUFDO0lBRURGLCtCQUNFRCxhQUFhYyxRQUFRLENBQUNmLDRCQUNwQkMsYUFBYWUsSUFBSSxDQUFDaEIseUJBQXlCO0lBRS9DLE9BQU9FO0FBQ1QifQ==
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.470",
4
+ "version": "0.0.471",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -175,16 +175,16 @@ export default class FileContext {
175
175
  return constructors;
176
176
  }
177
177
 
178
- getAssertions() {
179
- const assertions = []; ///
178
+ getProofSteps() {
179
+ const proofSteps = []; ///
180
180
 
181
- return assertions;
181
+ return proofSteps;
182
182
  }
183
183
 
184
- getMetaAssertions() {
185
- const metaAssertions = []; ///
184
+ getMetaproofSteps() {
185
+ const metaproofSteps = []; ///
186
186
 
187
- return metaAssertions;
187
+ return metaproofSteps;
188
188
  }
189
189
 
190
190
  findTypeByTypeName(typeName) {
@@ -7,10 +7,10 @@ import callbacksMixins from "../mixins/callbacks";
7
7
  import { last } from "../utilities/array";
8
8
 
9
9
  class MetaproofContext {
10
- constructor(context, derived, metaAssertions) {
10
+ constructor(context, derived, metaproofSteps) {
11
11
  this.context = context;
12
12
  this.derived = derived;
13
- this.metaAssertions = metaAssertions;
13
+ this.metaproofSteps = metaproofSteps;
14
14
  }
15
15
 
16
16
  getContext() {
@@ -21,63 +21,60 @@ class MetaproofContext {
21
21
  return this.derived;
22
22
  }
23
23
 
24
- getMetaAssertions() {
25
- let metaAssertions = this.context.getMetaAssertions();
24
+ getMetaproofSteps() {
25
+ let metaproofSteps = this.context.getMetaproofSteps();
26
26
 
27
- metaAssertions = [ ///
28
- ...metaAssertions,
29
- ...this.metaAssertions
27
+ metaproofSteps = [ ///
28
+ ...metaproofSteps,
29
+ ...this.metaproofSteps
30
30
  ];
31
31
 
32
- return metaAssertions;
32
+ return metaproofSteps;
33
33
  }
34
34
 
35
- getLastMetaAssertion() {
36
- let lastMetaAssertion = null;
35
+ getLastMetaproofStep() {
36
+ let lastMetaproofStep = null;
37
37
 
38
- const metaAssertionsLength = this.metaAssertions.length;
38
+ const metaproofStepsLength = this.metaproofSteps.length;
39
39
 
40
- if (metaAssertionsLength > 0) {
41
- lastMetaAssertion = last(this.metaAssertions);
40
+ if (metaproofStepsLength > 0) {
41
+ lastMetaproofStep = last(this.metaproofSteps);
42
42
  }
43
43
 
44
- return lastMetaAssertion;
44
+ return lastMetaproofStep;
45
45
  }
46
46
 
47
47
  setDerived(derived) {
48
48
  this.derived = derived;
49
49
  }
50
50
 
51
- addMetaAssertion(metaAssertion) {
52
- this.metaAssertions.push(metaAssertion);
51
+ addMetaproofStep(metaproofStep) {
52
+ this.metaproofSteps.push(metaproofStep);
53
53
  }
54
54
 
55
- matchMetaAssertion(metaAssertion) {
56
- let metaAssertionMatches;
55
+ matchMetastatement(metastatementNode) {
56
+ let metastatementMatches;
57
57
 
58
- const metaAssertionB = metaAssertion; ///
58
+ metastatementMatches = this.metaproofSteps.some((metaproofStep) => {
59
+ metastatementMatches = metaproofStep.matchMetastatement(metastatementNode);
59
60
 
60
- metaAssertionMatches = this.metaAssertions.some((metaAssertion) => {
61
- const metaAssertionA = metaAssertion, ///
62
- matches = metaAssertionA.match(metaAssertionB);
63
-
64
- if (matches) {
61
+ if (metastatementMatches) {
65
62
  return true;
66
63
  }
67
64
  });
68
65
 
69
- if (!metaAssertionMatches) {
70
- metaAssertionMatches = this.context.matchMetaAssertion(metaAssertion);
66
+ if (!metastatementMatches) {
67
+ metastatementMatches = this.context.matchMetastatement(metastatementNode);
71
68
  }
72
69
 
73
- return metaAssertionMatches;
70
+ return metastatementMatches;
74
71
  }
75
72
 
76
73
  static fromFileContext(fileContext) {
77
74
  const context = fileContext, ///
78
75
  derived = false,
79
- metaAssertions = [],
80
- metaproofContext = new MetaproofContext(context, derived, metaAssertions);
76
+ metaproofSteps = [],
77
+ metaproofContext = new MetaproofContext(context, derived, metaproofSteps);
81
78
 
82
79
  return metaproofContext;
83
80
  }
@@ -85,9 +82,9 @@ class MetaproofContext {
85
82
  static fromMetaproofContext(metaproofContext) {
86
83
  const context = metaproofContext, ///
87
84
  derived = false,
88
- metaAssertions = [];
85
+ metaproofSteps = [];
89
86
 
90
- metaproofContext = new MetaproofContext(context, derived, metaAssertions); ///
87
+ metaproofContext = new MetaproofContext(context, derived, metaproofSteps); ///
91
88
 
92
89
  return metaproofContext;
93
90
  }
@@ -7,11 +7,11 @@ import callbacksMixins from "../mixins/callbacks";
7
7
  import { push, last } from "../utilities/array";
8
8
 
9
9
  class ProofContext {
10
- constructor(context, derived, variables, assertions) {
10
+ constructor(context, derived, variables, proofSteps) {
11
11
  this.context = context;
12
12
  this.derived = derived;
13
13
  this.variables = variables;
14
- this.assertions = assertions;
14
+ this.proofSteps = proofSteps;
15
15
  }
16
16
 
17
17
  getContext() {
@@ -22,15 +22,15 @@ class ProofContext {
22
22
  return this.derived;
23
23
  }
24
24
 
25
- getAssertions() {
26
- let assertions = this.context.getAssertions();
25
+ getProofSteps() {
26
+ let proofSteps = this.context.getProofSteps();
27
27
 
28
- assertions = [
29
- ...assertions,
30
- ...this.assertions
28
+ proofSteps = [
29
+ ...proofSteps,
30
+ ...this.proofSteps
31
31
  ];
32
32
 
33
- return assertions;
33
+ return proofSteps;
34
34
  }
35
35
 
36
36
  getTypes() { return this.context.getTypes(); }
@@ -57,10 +57,10 @@ class ProofContext {
57
57
  return variables;
58
58
  }
59
59
 
60
- getLastAssertion() {
61
- const lastAssertion = last(this.assertions);
60
+ getLastProofStep() {
61
+ const lastProofStep = last(this.proofSteps);
62
62
 
63
- return lastAssertion;
63
+ return lastProofStep;
64
64
  }
65
65
 
66
66
  setDerived(derived) {
@@ -71,29 +71,26 @@ class ProofContext {
71
71
  this.variables.push(variable);
72
72
  }
73
73
 
74
- addAssertion(assertion) {
75
- this.assertions.push(assertion);
74
+ addProofStep(proofStep) {
75
+ this.proofSteps.push(proofStep);
76
76
  }
77
77
 
78
- matchAssertion(assertion) {
79
- let assertionMatches;
78
+ matchStatement(statementNode) {
79
+ let statementMatches;
80
80
 
81
- const assertionB = assertion; ///
81
+ statementMatches = this.proofSteps.some((proofStep) => {
82
+ statementMatches = proofStep.matchStatement(statementNode);
82
83
 
83
- assertionMatches = this.assertions.some((assertion) => {
84
- const assertionA = assertion, ///
85
- matches = assertionA.match(assertionB);
86
-
87
- if (matches) {
84
+ if (statementMatches) {
88
85
  return true;
89
86
  }
90
87
  });
91
88
 
92
- if (!assertionMatches) {
93
- assertionMatches = this.context.matchAssertion(assertion);
89
+ if (!statementMatches) {
90
+ statementMatches = this.context.matchStatement(statementNode);
94
91
  }
95
92
 
96
- return assertionMatches;
93
+ return statementMatches;
97
94
  }
98
95
 
99
96
  findVariableByVariableName(variableName) {
@@ -137,8 +134,8 @@ class ProofContext {
137
134
  const context = fileContext, ///
138
135
  derived = false,
139
136
  variables = [],
140
- assertions = [],
141
- proofContext = new ProofContext(context, derived, variables, assertions);
137
+ proofSteps = [],
138
+ proofContext = new ProofContext(context, derived, variables, proofSteps);
142
139
 
143
140
  return proofContext;
144
141
  }
@@ -147,9 +144,9 @@ class ProofContext {
147
144
  const context = proofContext, ///
148
145
  derived = false,
149
146
  variables = [],
150
- assertions = [];
147
+ proofSteps = [];
151
148
 
152
- proofContext = new ProofContext(context, derived, variables, assertions);
149
+ proofContext = new ProofContext(context, derived, variables, proofSteps);
153
150
 
154
151
  return proofContext;
155
152
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { matchBracketedMetastatementChildNode, bracketedMetastatementChildNodeFromChildNodes } from "./utilities/metastatement";
3
+ import { matchBracketedMetastatementChildNode, bracketedMetastatementChildNodeFromChildNodes } from "./utilities/metaAssertion";
4
4
 
5
5
  export default class MetaSubstitution {
6
6
  constructor(metavariableName, nodes) {
package/src/rule.js CHANGED
@@ -51,10 +51,19 @@ export default class Rule {
51
51
 
52
52
  metastatementNatches = conclusionMatches; ///
53
53
  } else {
54
- const metaAssertions = metaproofContext.getMetaAssertions();
54
+ const metaproofSteps = metaproofContext.getMetaproofSteps();
55
55
 
56
- metastatementNatches = someSubArray(metaAssertions, premisesLength, (metaAssertions) => {
57
- const premisesMatchConclusion = matchPremisesAndConclusion(this.premises, this.conclusion, metaAssertions, metastatementNode);
56
+ metastatementNatches = someSubArray(metaproofSteps, premisesLength, (metaproofSteps) => {
57
+ let premisesMatchConclusion = false;
58
+
59
+ const metaSubstitutions = [],
60
+ premisesMatches = matchPremises(this.premises, metaproofSteps, metaSubstitutions);
61
+
62
+ if (premisesMatches) {
63
+ const conclusionMatches = matchConclusion(this.conclusion, metastatementNode, metaSubstitutions);
64
+
65
+ premisesMatchConclusion = conclusionMatches; ///
66
+ }
58
67
 
59
68
  if (premisesMatchConclusion) {
60
69
  return true;
@@ -136,10 +145,10 @@ export default class Rule {
136
145
  }
137
146
  }
138
147
 
139
- function matchPremise(premise, metaAssertions, metaSubstitutions) {
140
- const metaAssertion = prune(metaAssertions, (metaAssertion) => {
141
- const metaSubproofNode = metaAssertion.getMetaSubproofNode(),
142
- metastatementNode = metaAssertion.getMetastatementNode()
148
+ function matchPremise(premise, metaproofSteps, metaSubstitutions) {
149
+ const metaproofStep = prune(metaproofSteps, (metaproofStep) => {
150
+ const metaSubproofNode = metaproofStep.getMetaSubproofNode(),
151
+ metastatementNode = metaproofStep.getMetastatementNode()
143
152
 
144
153
  if (metaSubproofNode !== null) {
145
154
  const metaSubProofMatches = premise.matchMetaSubproofNode(metaSubproofNode, metaSubstitutions);
@@ -156,17 +165,16 @@ function matchPremise(premise, metaAssertions, metaSubstitutions) {
156
165
  return true;
157
166
  }
158
167
  }
159
-
160
168
  }) || null;
161
169
 
162
- const premiseMatches = (metaAssertion !== null);
170
+ const premiseMatches = (metaproofStep !== null);
163
171
 
164
172
  return premiseMatches;
165
173
  }
166
174
 
167
- function matchPremises(premise, metaAssertions, metaSubstitutions) {
175
+ function matchPremises(premise, metaproofSteps, metaSubstitutions) {
168
176
  const premisesMatches = premise.every((premise) => {
169
- const premiseMatches = matchPremise(premise, metaAssertions, metaSubstitutions);
177
+ const premiseMatches = matchPremise(premise, metaproofSteps, metaSubstitutions);
170
178
 
171
179
  if (premiseMatches) {
172
180
  return true;
@@ -182,18 +190,3 @@ function matchConclusion(conclusion, metastatementNode, metaSubstitutions) {
182
190
 
183
191
  return conclusionMatches;
184
192
  }
185
-
186
- function matchPremisesAndConclusion(premises, conclusion, metaAssertions, metastatementNode) {
187
- let premisesMatchConclusion = false;
188
-
189
- const metaSubstitutions = [],
190
- premisesMatches = matchPremises(premises, metaAssertions, metaSubstitutions);
191
-
192
- if (premisesMatches) {
193
- const conclusionMatches = matchConclusion(conclusion, metastatementNode, metaSubstitutions);
194
-
195
- premisesMatchConclusion = conclusionMatches; ///
196
- }
197
-
198
- return premisesMatchConclusion;
199
- }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ import { first, second } from "../utilities/array";
4
+ import { nodeQuery, nodesQuery } from "../utilities/query";
5
+
6
+ import { matchTopmostMetaAssertionMetastatementNode } from "../utilities/metaAssertion";
7
+
8
+ const metastatementNodesQuery = nodesQuery("/metaSubproofAssertion/metastatement"),
9
+ metaSubproofAssertionNodeQuery = nodeQuery("/metastatement/metaSubproofAssertion"),
10
+ qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery = nodesQuery("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
11
+
12
+ export default class MetaproofStep {
13
+ constructor(metaSubproofNode, metastatementNode) {
14
+ this.metaSubproofNode = metaSubproofNode;
15
+ this.metastatementNode = metastatementNode;
16
+ }
17
+
18
+ getMetaSubproofNode() {
19
+ return this.metaSubproofNode;
20
+ }
21
+
22
+ getMetastatementNode() {
23
+ return this.metastatementNode;
24
+ }
25
+
26
+ matchMetastatement(metastatementNode) {
27
+ let metastatementMatches;
28
+
29
+ const metaSubproofAssertionNode = metaSubproofAssertionNodeQuery(metastatementNode);
30
+
31
+ if (metaSubproofAssertionNode !== null) {
32
+ const metaSubproofAssertionMatches = this.matchMetaSubproofAssertion(metaSubproofAssertionNode);
33
+
34
+ metastatementMatches = metaSubproofAssertionMatches; ///
35
+ } else {
36
+ const metastatementsMatch = this.matchMetastatements(metastatementNode);
37
+
38
+ metastatementMatches = metastatementsMatch; //
39
+ }
40
+
41
+ return metastatementMatches;
42
+ }
43
+
44
+ matchMetastatements(metastatementNode) {
45
+ let metastatementsMatch = false;
46
+
47
+ if (this.metastatementNode !== null) {
48
+ const topmostMetastatementNode = metastatementNode, ///
49
+ topmostMetaAssertionMetastatementNode = this.metastatementNode, ///
50
+ topmostMetaAssertionMetastatementNodeMatches = matchTopmostMetaAssertionMetastatementNode(topmostMetaAssertionMetastatementNode, topmostMetastatementNode),
51
+ metastatementNodeMatches = topmostMetaAssertionMetastatementNodeMatches; ///
52
+
53
+ return metastatementNodeMatches;
54
+ }
55
+
56
+ return metastatementsMatch;
57
+ }
58
+
59
+ matchMetaSubproofAssertion(metaSubproofAssertionNode) {
60
+ let metaSubproofAssertionMatches = false;
61
+
62
+ if (this.metaSubproofNode !== null) {
63
+ const metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode),
64
+ firstMetaSubproofAssertionMetastatementNode = first(metaSubproofAssertionMetastatementNodes),
65
+ qualifiedOrUnqualifiedMetastatementMetastatementNodes = qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery(this.metaSubproofNode),
66
+ firstQualifiedOrUnqualifiedMetastatementMetastatementNode = first(qualifiedOrUnqualifiedMetastatementMetastatementNodes);
67
+
68
+ const topmostMetastatementNode = firstMetaSubproofAssertionMetastatementNode, ///
69
+ topmostMetaAssertionMetastatementNode = firstQualifiedOrUnqualifiedMetastatementMetastatementNode, ///
70
+ topmostMetaAssertionMetastatementNodeMatches = matchTopmostMetaAssertionMetastatementNode(topmostMetaAssertionMetastatementNode, topmostMetastatementNode);
71
+
72
+ if (topmostMetaAssertionMetastatementNodeMatches) {
73
+ const secondMetaSubproofAssertionMetastatementNode = second(metaSubproofAssertionMetastatementNodes),
74
+ secondQualifiedOrUnqualifiedMetastatementMetastatementNode = second(qualifiedOrUnqualifiedMetastatementMetastatementNodes);
75
+
76
+ const topmostMetastatementNode = secondMetaSubproofAssertionMetastatementNode, ///
77
+ topmostMetaAssertionMetastatementNode = secondQualifiedOrUnqualifiedMetastatementMetastatementNode, ///
78
+ topmostMetaAssertionMetastatementNodeMatches = matchTopmostMetaAssertionMetastatementNode(topmostMetaAssertionMetastatementNode, topmostMetastatementNode);
79
+
80
+ metaSubproofAssertionMatches = topmostMetaAssertionMetastatementNodeMatches; ///
81
+ }
82
+ }
83
+
84
+ return metaSubproofAssertionMatches;
85
+ }
86
+
87
+ static fromMetaSubproofNode(metaSubproofNode) {
88
+ const metastatementNode = null,
89
+ metaProofStep = new MetaproofStep(metaSubproofNode, metastatementNode);
90
+
91
+ return metaProofStep;
92
+ }
93
+
94
+ static fromMetastatementNode(metastatementNode) {
95
+ const metaSubproofNode = null,
96
+ metaProofStep = new MetaproofStep(metaSubproofNode, metastatementNode);
97
+
98
+ return metaProofStep;
99
+ }
100
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ export default class ProofStep {
4
+ constructor(subproofNode, statementNode) {
5
+ this.subproofNode = subproofNode;
6
+ this.statementNode = statementNode;
7
+ }
8
+
9
+ getSubproofNode() {
10
+ return this.subproofNode;
11
+ }
12
+
13
+ getStatementNode() {
14
+ return this.statementNode;
15
+ }
16
+
17
+ static fromSubproofNode(subproofNode) {
18
+ const statementNode = null,
19
+ metaProofStep = new ProofStep(subproofNode, statementNode);
20
+
21
+ return metaProofStep;
22
+ }
23
+
24
+ static fromStatementNode(statementNode) {
25
+ const subproofNode = null,
26
+ metaProofStep = new ProofStep(subproofNode, statementNode);
27
+
28
+ return metaProofStep;
29
+ }
30
+ }
@@ -6,7 +6,7 @@ import permutationsMatrix from "../permutationsMatrix";
6
6
 
7
7
  import { MAXIMUM_INDEXES_LENGTH, MAXIMUM_PERMUTATION_LENGTH } from "../constants";
8
8
 
9
- export const { front, first, second, third, last, push, prune, filter } = arrayUtilities;
9
+ export const { first, second, third, last, push, prune, filter } = arrayUtilities;
10
10
 
11
11
  export function someSubArray(array, subArrayLength, callback) {
12
12
  let found = false;