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.
- package/lib/context/file.js +9 -9
- package/lib/context/metaproof.js +30 -31
- package/lib/context/proof.js +27 -28
- package/lib/metaSubstitution.js +4 -4
- package/lib/rule.js +15 -19
- package/lib/step/metaproof.js +114 -0
- package/lib/step/proof.js +68 -0
- package/lib/utilities/array.js +2 -5
- package/lib/utilities/metaAssertion.js +117 -0
- package/lib/utilities/node.js +52 -0
- package/lib/verify/antecedent.js +4 -4
- package/lib/verify/derivation.js +13 -13
- package/lib/verify/equality.js +18 -5
- package/lib/verify/metaDerivation.js +13 -13
- package/lib/verify/metaproof.js +13 -51
- package/lib/verify/metastatement/unqualified.js +2 -3
- package/lib/verify/premiseOrPremises.js +4 -4
- package/lib/verify/proof.js +14 -52
- package/lib/verify/statement/unqualified.js +2 -3
- package/package.json +1 -1
- package/src/context/file.js +6 -6
- package/src/context/metaproof.js +28 -31
- package/src/context/proof.js +25 -28
- package/src/metaSubstitution.js +1 -1
- package/src/rule.js +19 -26
- package/src/step/metaproof.js +100 -0
- package/src/step/proof.js +30 -0
- package/src/utilities/array.js +1 -1
- package/src/utilities/metaAssertion.js +176 -0
- package/src/utilities/node.js +72 -0
- package/src/verify/antecedent.js +3 -3
- package/src/verify/derivation.js +14 -10
- package/src/verify/equality.js +29 -11
- package/src/verify/metaDerivation.js +14 -10
- package/src/verify/metaproof.js +26 -91
- package/src/verify/metastatement/unqualified.js +1 -3
- package/src/verify/premiseOrPremises.js +3 -3
- package/src/verify/proof.js +27 -92
- package/src/verify/statement/unqualified.js +1 -4
- package/lib/assertion.js +0 -147
- package/lib/metaAssertion.js +0 -200
- package/lib/utilities/metastatement.js +0 -45
- package/src/assertion.js +0 -150
- package/src/metaAssertion.js +0 -245
- package/src/utilities/metastatement.js +0 -50
package/lib/verify/proof.js
CHANGED
|
@@ -8,17 +8,18 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyProof;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
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,
|
|
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
|
|
33
|
-
proofContext.
|
|
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
|
|
38
|
-
proofVerified =
|
|
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
|
|
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,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbih1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcHJvb2ZDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCk7XG5cbiAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IHByb29mQ29udGV4dC5pc0Rlcml2ZWQoKTtcblxuICAgICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgICAgY29uc3QgYXNzZXJ0aW9uTWF0Y2hlcyA9IHByb29mQ29udGV4dC5tYXRjaFN0YXRlbWVudChzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBwcm9vZkNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50LmApO1xuICB9XG5cbiAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInByb29mQ29udGV4dCIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJkZXJpdmVkIiwiaXNEZXJpdmVkIiwiYXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50IiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7Ozs4REFQSTtxQkFFRjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixTQUFTRiwyQkFBMkJHLHdCQUF3QixFQUFFQyxZQUFZLEVBQUU7SUFDekYsSUFBSUMsK0JBQStCLEtBQUs7SUFFeENELGFBQWFFLEtBQUssQ0FBQ0g7SUFFbkIsSUFBTUksNkJBQTZCQyxJQUFBQSxvQkFBWSxFQUFDTDtJQUVoREMsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQTRDLE9BQTNCRiw0QkFBMkI7SUFFaEUsSUFBTUcsZ0JBQWdCVCxtQkFBbUJFO0lBRXpDLElBQUlPLGtCQUFrQixJQUFJLEVBQUU7UUFDMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDRixlQUFlTjtRQUV6RCxJQUFJTyxtQkFBbUI7WUFDckIsSUFBTUUsVUFBVVQsYUFBYVUsU0FBUztZQUV0QyxJQUFJRCxTQUFTO2dCQUNYLElBQU1FLG1CQUFtQlgsYUFBYVksY0FBYyxDQUFDTjtnQkFFckRMLCtCQUErQlUsa0JBQW1CLEdBQUc7WUFDdkQsT0FBTztnQkFDTFYsK0JBQStCLElBQUk7WUFDckMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsOEJBQThCO1FBQ2hDRCxhQUFhYSxJQUFJLENBQUMsQUFBQyxpQkFBMkMsT0FBM0JWLDRCQUEyQjtJQUNoRSxDQUFDO0lBRURGLCtCQUNFRCxhQUFhYyxRQUFRLENBQUNmLDRCQUNwQkMsYUFBYWUsSUFBSSxDQUFDaEIseUJBQXlCO0lBRS9DLE9BQU9FO0FBQ1QifQ==
|
package/package.json
CHANGED
package/src/context/file.js
CHANGED
|
@@ -175,16 +175,16 @@ export default class FileContext {
|
|
|
175
175
|
return constructors;
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
const
|
|
178
|
+
getProofSteps() {
|
|
179
|
+
const proofSteps = []; ///
|
|
180
180
|
|
|
181
|
-
return
|
|
181
|
+
return proofSteps;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
|
|
185
|
-
const
|
|
184
|
+
getMetaproofSteps() {
|
|
185
|
+
const metaproofSteps = []; ///
|
|
186
186
|
|
|
187
|
-
return
|
|
187
|
+
return metaproofSteps;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
findTypeByTypeName(typeName) {
|
package/src/context/metaproof.js
CHANGED
|
@@ -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,
|
|
10
|
+
constructor(context, derived, metaproofSteps) {
|
|
11
11
|
this.context = context;
|
|
12
12
|
this.derived = derived;
|
|
13
|
-
this.
|
|
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
|
-
|
|
25
|
-
let
|
|
24
|
+
getMetaproofSteps() {
|
|
25
|
+
let metaproofSteps = this.context.getMetaproofSteps();
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
...
|
|
29
|
-
...this.
|
|
27
|
+
metaproofSteps = [ ///
|
|
28
|
+
...metaproofSteps,
|
|
29
|
+
...this.metaproofSteps
|
|
30
30
|
];
|
|
31
31
|
|
|
32
|
-
return
|
|
32
|
+
return metaproofSteps;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
let
|
|
35
|
+
getLastMetaproofStep() {
|
|
36
|
+
let lastMetaproofStep = null;
|
|
37
37
|
|
|
38
|
-
const
|
|
38
|
+
const metaproofStepsLength = this.metaproofSteps.length;
|
|
39
39
|
|
|
40
|
-
if (
|
|
41
|
-
|
|
40
|
+
if (metaproofStepsLength > 0) {
|
|
41
|
+
lastMetaproofStep = last(this.metaproofSteps);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
return
|
|
44
|
+
return lastMetaproofStep;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
setDerived(derived) {
|
|
48
48
|
this.derived = derived;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
this.
|
|
51
|
+
addMetaproofStep(metaproofStep) {
|
|
52
|
+
this.metaproofSteps.push(metaproofStep);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
let
|
|
55
|
+
matchMetastatement(metastatementNode) {
|
|
56
|
+
let metastatementMatches;
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
metastatementMatches = this.metaproofSteps.some((metaproofStep) => {
|
|
59
|
+
metastatementMatches = metaproofStep.matchMetastatement(metastatementNode);
|
|
59
60
|
|
|
60
|
-
|
|
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 (!
|
|
70
|
-
|
|
66
|
+
if (!metastatementMatches) {
|
|
67
|
+
metastatementMatches = this.context.matchMetastatement(metastatementNode);
|
|
71
68
|
}
|
|
72
69
|
|
|
73
|
-
return
|
|
70
|
+
return metastatementMatches;
|
|
74
71
|
}
|
|
75
72
|
|
|
76
73
|
static fromFileContext(fileContext) {
|
|
77
74
|
const context = fileContext, ///
|
|
78
75
|
derived = false,
|
|
79
|
-
|
|
80
|
-
metaproofContext = new MetaproofContext(context, derived,
|
|
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
|
-
|
|
85
|
+
metaproofSteps = [];
|
|
89
86
|
|
|
90
|
-
metaproofContext = new MetaproofContext(context, derived,
|
|
87
|
+
metaproofContext = new MetaproofContext(context, derived, metaproofSteps); ///
|
|
91
88
|
|
|
92
89
|
return metaproofContext;
|
|
93
90
|
}
|
package/src/context/proof.js
CHANGED
|
@@ -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,
|
|
10
|
+
constructor(context, derived, variables, proofSteps) {
|
|
11
11
|
this.context = context;
|
|
12
12
|
this.derived = derived;
|
|
13
13
|
this.variables = variables;
|
|
14
|
-
this.
|
|
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
|
-
|
|
26
|
-
let
|
|
25
|
+
getProofSteps() {
|
|
26
|
+
let proofSteps = this.context.getProofSteps();
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
...
|
|
30
|
-
...this.
|
|
28
|
+
proofSteps = [
|
|
29
|
+
...proofSteps,
|
|
30
|
+
...this.proofSteps
|
|
31
31
|
];
|
|
32
32
|
|
|
33
|
-
return
|
|
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
|
-
|
|
61
|
-
const
|
|
60
|
+
getLastProofStep() {
|
|
61
|
+
const lastProofStep = last(this.proofSteps);
|
|
62
62
|
|
|
63
|
-
return
|
|
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
|
-
|
|
75
|
-
this.
|
|
74
|
+
addProofStep(proofStep) {
|
|
75
|
+
this.proofSteps.push(proofStep);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
let
|
|
78
|
+
matchStatement(statementNode) {
|
|
79
|
+
let statementMatches;
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
statementMatches = this.proofSteps.some((proofStep) => {
|
|
82
|
+
statementMatches = proofStep.matchStatement(statementNode);
|
|
82
83
|
|
|
83
|
-
|
|
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 (!
|
|
93
|
-
|
|
89
|
+
if (!statementMatches) {
|
|
90
|
+
statementMatches = this.context.matchStatement(statementNode);
|
|
94
91
|
}
|
|
95
92
|
|
|
96
|
-
return
|
|
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
|
-
|
|
141
|
-
proofContext = new ProofContext(context, derived, variables,
|
|
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
|
-
|
|
147
|
+
proofSteps = [];
|
|
151
148
|
|
|
152
|
-
proofContext = new ProofContext(context, derived, variables,
|
|
149
|
+
proofContext = new ProofContext(context, derived, variables, proofSteps);
|
|
153
150
|
|
|
154
151
|
return proofContext;
|
|
155
152
|
}
|
package/src/metaSubstitution.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { matchBracketedMetastatementChildNode, bracketedMetastatementChildNodeFromChildNodes } from "./utilities/
|
|
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
|
|
54
|
+
const metaproofSteps = metaproofContext.getMetaproofSteps();
|
|
55
55
|
|
|
56
|
-
metastatementNatches = someSubArray(
|
|
57
|
-
|
|
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,
|
|
140
|
-
const
|
|
141
|
-
const metaSubproofNode =
|
|
142
|
-
metastatementNode =
|
|
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 = (
|
|
170
|
+
const premiseMatches = (metaproofStep !== null);
|
|
163
171
|
|
|
164
172
|
return premiseMatches;
|
|
165
173
|
}
|
|
166
174
|
|
|
167
|
-
function matchPremises(premise,
|
|
175
|
+
function matchPremises(premise, metaproofSteps, metaSubstitutions) {
|
|
168
176
|
const premisesMatches = premise.every((premise) => {
|
|
169
|
-
const premiseMatches = matchPremise(premise,
|
|
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
|
+
}
|
package/src/utilities/array.js
CHANGED
|
@@ -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 {
|
|
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;
|