occam-verify-cli 1.0.427 → 1.0.428
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/element/equivalence.js +12 -16
- package/lib/element/equivalences.js +1 -1
- package/lib/node/equivalence.js +116 -0
- package/lib/nonTerminalNodeMap.js +4 -3
- package/lib/process/instantiate.js +8 -2
- package/lib/ruleNames.js +5 -1
- package/lib/utilities/element.js +19 -6
- package/lib/utilities/string.js +17 -36
- package/package.json +6 -6
- package/src/element/equivalence.js +21 -21
- package/src/element/equivalences.js +0 -1
- package/src/node/equivalence.js +16 -0
- package/src/nonTerminalNodeMap.js +4 -1
- package/src/process/instantiate.js +4 -0
- package/src/ruleNames.js +1 -0
- package/src/utilities/element.js +28 -9
- package/src/utilities/string.js +27 -65
package/lib/utilities/string.js
CHANGED
|
@@ -12,6 +12,9 @@ _export(exports, {
|
|
|
12
12
|
get axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction () {
|
|
13
13
|
return axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction;
|
|
14
14
|
},
|
|
15
|
+
get equivalenceStringFromTerms () {
|
|
16
|
+
return equivalenceStringFromTerms;
|
|
17
|
+
},
|
|
15
18
|
get labelsStringFromLabels () {
|
|
16
19
|
return labelsStringFromLabels;
|
|
17
20
|
},
|
|
@@ -51,14 +54,6 @@ function labelsStringFromLabels(labels) {
|
|
|
51
54
|
}, null);
|
|
52
55
|
return labelsString;
|
|
53
56
|
}
|
|
54
|
-
function signatureStringFromTerms(terms) {
|
|
55
|
-
var termsString = termsStringFromTerms(terms), signatureString = "[".concat(termsString, "]");
|
|
56
|
-
return signatureString;
|
|
57
|
-
}
|
|
58
|
-
function subproofStringFromSubproof(subproof) {
|
|
59
|
-
var suppositionStatementsOrNonsenseString = suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode, context), lastStatementOrNonsenseString = lastStatementOrNonsenseStringFromSubproofNode(subproofNode, context), subproofString = "[".concat(suppositionStatementsOrNonsenseString, "] ... ").concat(lastStatementOrNonsenseString);
|
|
60
|
-
return subproofString;
|
|
61
|
-
}
|
|
62
57
|
function superTypesStringFromSuperTypes(superTypes) {
|
|
63
58
|
var superTypesString = superTypes.reduce(function(superTypesString, superType) {
|
|
64
59
|
if (superType !== _type.baseType) {
|
|
@@ -72,11 +67,23 @@ function superTypesStringFromSuperTypes(superTypes) {
|
|
|
72
67
|
function suppositionsStringFromSuppositions(suppositions) {
|
|
73
68
|
var suppositionsString = suppositions.reduce(function(suppositionsString, supposition) {
|
|
74
69
|
var suppositionString = supposition.getString();
|
|
75
|
-
suppositionsString = suppositionsString
|
|
70
|
+
suppositionsString = suppositionsString === null ? suppositionString : "".concat(suppositionsString, ", ").concat(suppositionString);
|
|
76
71
|
return suppositionsString;
|
|
77
72
|
}, null);
|
|
78
73
|
return suppositionsString;
|
|
79
74
|
}
|
|
75
|
+
function signatureStringFromTerms(terms) {
|
|
76
|
+
var termsString = termsStringFromTerms(terms), signatureString = "[".concat(termsString, "]");
|
|
77
|
+
return signatureString;
|
|
78
|
+
}
|
|
79
|
+
function equivalenceStringFromTerms(terms) {
|
|
80
|
+
var termsString = termsStringFromTerms(terms), equivalenceString = termsString; ///
|
|
81
|
+
return equivalenceString;
|
|
82
|
+
}
|
|
83
|
+
function subproofStringFromSubproof(subproof) {
|
|
84
|
+
var lastStep = subproof.getLastStep(), suppositions = subproof.getSuppositions(), lastStepString = lastStep.getString(), suppositionsString = suppositionsStringFromSuppositions(suppositions), subproofString = "[".concat(suppositionsString, "] ... ").concat(lastStepString);
|
|
85
|
+
return subproofString;
|
|
86
|
+
}
|
|
80
87
|
function typeStringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes) {
|
|
81
88
|
var typeString;
|
|
82
89
|
typeString = typePrefixName !== null ? "".concat(typePrefixName).concat(typeName) : typeName;
|
|
@@ -96,31 +103,5 @@ function axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction(lab
|
|
|
96
103
|
}
|
|
97
104
|
return axiomLemmaTheoremConjectureString;
|
|
98
105
|
}
|
|
99
|
-
function suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode1, context1) {
|
|
100
|
-
var suppositionNodes = subproofNode1.getSuppositionNodes(), suppositionStatementsOrNonsenseString = suppositionNodes.reduce(function(suppositionStatementsOrNonsenseString, suppositionNode) {
|
|
101
|
-
var suppositionOrStepNode = suppositionNode, statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context1), suppositionStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
102
|
-
suppositionStatementsOrNonsenseString = suppositionStatementsOrNonsenseString !== null ? "".concat(suppositionStatementsOrNonsenseString, ", ").concat(suppositionStatementOrNonsenseString) : suppositionStatementOrNonsenseString; ///
|
|
103
|
-
return suppositionStatementsOrNonsenseString;
|
|
104
|
-
}, null);
|
|
105
|
-
return suppositionStatementsOrNonsenseString;
|
|
106
|
-
}
|
|
107
|
-
function statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context1) {
|
|
108
|
-
var statementOrNonsenseString;
|
|
109
|
-
var nonsenseNode = suppositionOrStepNode.getNonsenseNode(), statementNode = suppositionOrStepNode.getStatementNode();
|
|
110
|
-
if (false) {
|
|
111
|
-
///
|
|
112
|
-
} else if (nonsenseNode !== null) {
|
|
113
|
-
var nonsenseString = context1.nodeAsString(nonsenseNode);
|
|
114
|
-
statementOrNonsenseString = nonsenseString; ///
|
|
115
|
-
} else if (statementNode !== null) {
|
|
116
|
-
var statementString = context1.nodeAsString(statementNode);
|
|
117
|
-
statementOrNonsenseString = statementString; ///
|
|
118
|
-
}
|
|
119
|
-
return statementOrNonsenseString;
|
|
120
|
-
}
|
|
121
|
-
function lastStatementOrNonsenseStringFromSubproofNode(subproofNode1, context1) {
|
|
122
|
-
var lastStepNode = subproofNode1.getLastStepNode(), suppositionOrStepNode = lastStepNode, statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context1), lastStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
123
|
-
return lastStatementOrNonsenseString;
|
|
124
|
-
}
|
|
125
106
|
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBiYXNlVHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gdGVybXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscykge1xuICBjb25zdCBsYWJlbHNTdHJpbmcgPSBsYWJlbHMucmVkdWNlKChsYWJlbHNTdHJpbmcsIGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKTtcblxuICAgIGxhYmVsc1N0cmluZyA9IChsYWJlbHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9LCAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gbGFiZWxzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXModGVybXMpLFxuICAgICAgICBzaWduYXR1cmVTdHJpbmcgPSBgWyR7dGVybXNTdHJpbmd9XWA7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mKHN1YnByb29mKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgPSBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCksXG4gICAgICAgIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN1YnByb29mU3RyaW5nID0gYFske3N1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmd9XSAuLi4gJHtsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ31gO1xuXG4gIHJldHVybiBzdWJwcm9vZlN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzLnJlZHVjZSgoc3VwZXJUeXBlc1N0cmluZywgc3VwZXJUeXBlKSA9PiB7XG4gICAgaWYgKHN1cGVyVHlwZSAhPT0gYmFzZVR5cGUpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVN0cmluZyA9IHN1cGVyVHlwZS5nZXRTdHJpbmcoKTtcblxuICAgICAgc3VwZXJUeXBlc1N0cmluZyA9IChzdXBlclR5cGVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgJyR7c3VwZXJUeXBlU3RyaW5nfSdgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwZXJUeXBlc1N0cmluZ30sICcke3N1cGVyVHlwZVN0cmluZ30nYDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnMucmVkdWNlKChzdXBwb3NpdGlvbnNTdHJpbmcsIHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSBzdXBwb3NpdGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIHN1cHBvc2l0aW9uc1N0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwcG9zaXRpb25zU3RyaW5nfSwgJHtzdXBwb3NpdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3NpdGlvblN0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHR5cGVQcmVmaXhOYW1lLCBzdXBlclR5cGVzKSB7XG4gIGxldCB0eXBlU3RyaW5nO1xuXG4gIHR5cGVTdHJpbmcgPSAodHlwZVByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgYCR7dHlwZVByZWZpeE5hbWV9JHt0eXBlTmFtZX1gOlxuICAgICAgICAgICAgICAgICAgIHR5cGVOYW1lO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcyk7XG5cbiAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICB0eXBlU3RyaW5nID0gYCR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVzU3RyaW5nfWA7XG4gIH1cblxuICByZXR1cm4gdHlwZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZ0Zyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmREZWR1Y3Rpb24obGFiZWxzLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbikge1xuICBsZXQgYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nO1xuXG4gIGNvbnN0IHN1cHBvc2l0aW9uc1N0cmluZyA9IHN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25zKSxcbiAgICAgICAgZGVkdWN0aW9uU3RyaW5nID0gZGVkdWN0aW9uLmdldFN0cmluZygpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscyk7XG5cbiAgaWYgKGxhYmVsc1N0cmluZyAhPT0gbnVsbCkge1xuICAgIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2xhYmVsc1N0cmluZ30gOjogWyR7c3VwcG9zaXRpb25zU3RyaW5nfV0gLi4uICR7ZGVkdWN0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9IDo6ICR7ZGVkdWN0aW9uU3RyaW5nfWA7XG4gIH0gZWxzZSB7XG4gICAgYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nID0gKHN1cHBvc2l0aW9uc1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgWyR7c3VwcG9zaXRpb25zU3RyaW5nfV0gLi4uICR7ZGVkdWN0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25TdHJpbmc7XG4gIH1cblxuICByZXR1cm4gYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCkge1xuICBjb25zdCBzdXBwb3NpdGlvbk5vZGVzID0gc3VicHJvb2ZOb2RlLmdldFN1cHBvc2l0aW9uTm9kZXMoKSxcbiAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZyA9IHN1cHBvc2l0aW9uTm9kZXMucmVkdWNlKChzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nLCBzdXBwb3NpdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbk9yU3RlcE5vZGUgPSBzdXBwb3NpdGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdXBwb3NpdGlvbk9yU3RlcE5vZGUoc3VwcG9zaXRpb25PclN0ZXBOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nOyAvLy9cblxuICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgPSAoc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmd9LCAke3N1cHBvc2l0aW9uU3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50T3JOb25zZW5zZVN0cmluZzsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZztcbiAgICAgICAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VwcG9zaXRpb25PclN0ZXBOb2RlKHN1cHBvc2l0aW9uT3JTdGVwTm9kZSwgY29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZztcblxuICBjb25zdCBub25zZW5zZU5vZGUgPSBzdXBwb3NpdGlvbk9yU3RlcE5vZGUuZ2V0Tm9uc2Vuc2VOb2RlKCksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdXBwb3NpdGlvbk9yU3RlcE5vZGUuZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKG5vbnNlbnNlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vbnNlbnNlU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9uc2Vuc2VOb2RlKTtcblxuICAgIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBub25zZW5zZVN0cmluZzsgLy8vXG4gIH0gZWxzZSBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyA9IHN0YXRlbWVudFN0cmluZzsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgbGFzdFN0ZXBOb2RlID0gc3VicHJvb2ZOb2RlLmdldExhc3RTdGVwTm9kZSgpLFxuICAgICAgICBzdXBwb3NpdGlvbk9yU3RlcE5vZGUgPSBsYXN0U3RlcE5vZGUsIC8vL1xuICAgICAgICBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdXBwb3NpdGlvbk9yU3RlcE5vZGUoc3VwcG9zaXRpb25PclN0ZXBOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nOyAvLy9cblxuICByZXR1cm4gbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nRnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZERlZHVjdGlvbiIsImxhYmVsc1N0cmluZ0Zyb21MYWJlbHMiLCJzaWduYXR1cmVTdHJpbmdGcm9tVGVybXMiLCJzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZiIsInN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyIsInN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMiLCJ0ZXJtc1N0cmluZ0Zyb21UZXJtcyIsInR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXMiLCJ0ZXJtcyIsInRlcm1zU3RyaW5nIiwicmVkdWNlIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJsYWJlbHMiLCJsYWJlbHNTdHJpbmciLCJsYWJlbCIsImxhYmVsU3RyaW5nIiwic2lnbmF0dXJlU3RyaW5nIiwic3VicHJvb2YiLCJzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZSIsInN1YnByb29mTm9kZSIsImNvbnRleHQiLCJsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyIsImxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZSIsInN1YnByb29mU3RyaW5nIiwic3VwZXJUeXBlcyIsInN1cGVyVHlwZXNTdHJpbmciLCJzdXBlclR5cGUiLCJiYXNlVHlwZSIsInN1cGVyVHlwZVN0cmluZyIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uc1N0cmluZyIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25TdHJpbmciLCJ0eXBlTmFtZSIsInR5cGVQcmVmaXhOYW1lIiwidHlwZVN0cmluZyIsImRlZHVjdGlvbiIsImF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZyIsImRlZHVjdGlvblN0cmluZyIsInN1cHBvc2l0aW9uTm9kZXMiLCJnZXRTdXBwb3NpdGlvbk5vZGVzIiwic3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25PclN0ZXBOb2RlIiwic3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyIsInN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VwcG9zaXRpb25PclN0ZXBOb2RlIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nIiwibm9uc2Vuc2VOb2RlIiwiZ2V0Tm9uc2Vuc2VOb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJub25zZW5zZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInN0YXRlbWVudFN0cmluZyIsImxhc3RTdGVwTm9kZSIsImdldExhc3RTdGVwTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNkZnQkE7ZUFBQUE7O1FBM0VBQztlQUFBQTs7UUFjQUM7ZUFBQUE7O1FBT0FDO2VBQUFBOztRQVFBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQTNEQUM7ZUFBQUE7O1FBeUVBQztlQUFBQTs7O29CQTNFUztBQUVsQixTQUFTRCxxQkFBcUJFLEtBQUs7SUFDeEMsSUFBTUMsY0FBY0QsTUFBTUUsTUFBTSxDQUFDLFNBQUNELGFBQWFFO1FBQzdDLElBQU1DLGFBQWFELEtBQUtFLFNBQVM7UUFFakNKLGNBQWMsQUFBQ0EsZ0JBQWdCLE9BQ2hCLEFBQUMsR0FBa0JHLE9BQWhCSCxhQUFZLE1BQWUsT0FBWEcsY0FDaEJBO1FBRWxCLE9BQU9IO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTUix1QkFBdUJhLE1BQU07SUFDM0MsSUFBTUMsZUFBZUQsT0FBT0osTUFBTSxDQUFDLFNBQUNLLGNBQWNDO1FBQ2hELElBQU1DLGNBQWNELE1BQU1ILFNBQVM7UUFFbkNFLGVBQWUsQUFBQ0EsaUJBQWlCLE9BQ2hCRSxjQUNDLEFBQUMsR0FBbUJBLE9BQWpCRixjQUFhLE1BQWdCLE9BQVpFO1FBRXRDLE9BQU9GO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTYix5QkFBeUJNLEtBQUs7SUFDNUMsSUFBTUMsY0FBY0gscUJBQXFCRSxRQUNuQ1Usa0JBQWtCLEFBQUMsSUFBZSxPQUFaVCxhQUFZO0lBRXhDLE9BQU9TO0FBQ1Q7QUFFTyxTQUFTZiwyQkFBMkJnQixRQUFRO0lBQ2pELElBQU1DLHdDQUF3Q0MscURBQXFEQyxjQUFjQyxVQUMzR0MsZ0NBQWdDQyw4Q0FBOENILGNBQWNDLFVBQzVGRyxpQkFBaUIsQUFBQyxJQUFpREYsT0FBOUNKLHVDQUFzQyxVQUFzQyxPQUE5Qkk7SUFFekUs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
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBiYXNlVHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gdGVybXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscykge1xuICBjb25zdCBsYWJlbHNTdHJpbmcgPSBsYWJlbHMucmVkdWNlKChsYWJlbHNTdHJpbmcsIGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKTtcblxuICAgIGxhYmVsc1N0cmluZyA9IChsYWJlbHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9LCAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gbGFiZWxzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpIHtcbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXMucmVkdWNlKChzdXBlclR5cGVzU3RyaW5nLCBzdXBlclR5cGUpID0+IHtcbiAgICBpZiAoc3VwZXJUeXBlICE9PSBiYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gc3VwZXJUeXBlLmdldFN0cmluZygpO1xuXG4gICAgICBzdXBlclR5cGVzU3RyaW5nID0gKHN1cGVyVHlwZXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAnJHtzdXBlclR5cGVTdHJpbmd9J2AgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBlclR5cGVzU3RyaW5nfSwgJyR7c3VwZXJUeXBlU3RyaW5nfSdgO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25zKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uc1N0cmluZyA9IHN1cHBvc2l0aW9ucy5yZWR1Y2UoKHN1cHBvc2l0aW9uc1N0cmluZywgc3VwcG9zaXRpb24pID0+IHtcbiAgICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IHN1cHBvc2l0aW9uLmdldFN0cmluZygpO1xuXG4gICAgc3VwcG9zaXRpb25zU3RyaW5nID0gKHN1cHBvc2l0aW9uc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9zaXRpb25TdHJpbmc6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1cHBvc2l0aW9uc1N0cmluZ30sICR7c3VwcG9zaXRpb25TdHJpbmd9YDtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbnNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYXR1cmVTdHJpbmdGcm9tVGVybXModGVybXMpIHtcbiAgY29uc3QgdGVybXNTdHJpbmcgPSB0ZXJtc1N0cmluZ0Zyb21UZXJtcyh0ZXJtcyksXG4gICAgICAgIHNpZ25hdHVyZVN0cmluZyA9IGBbJHt0ZXJtc1N0cmluZ31dYDtcblxuICByZXR1cm4gc2lnbmF0dXJlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXF1aXZhbGVuY2VTdHJpbmdGcm9tVGVybXModGVybXMpIHtcbiAgY29uc3QgdGVybXNTdHJpbmcgPSB0ZXJtc1N0cmluZ0Zyb21UZXJtcyh0ZXJtcyksXG4gICAgICAgIGVxdWl2YWxlbmNlU3RyaW5nID0gdGVybXNTdHJpbmc7ICAvLy9cblxuICByZXR1cm4gZXF1aXZhbGVuY2VTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZihzdWJwcm9vZikge1xuICBjb25zdCBsYXN0U3RlcCA9IHN1YnByb29mLmdldExhc3RTdGVwKCksXG4gICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1YnByb29mLmdldFN1cHBvc2l0aW9ucygpLFxuICAgICAgICBsYXN0U3RlcFN0cmluZyA9IGxhc3RTdGVwLmdldFN0cmluZygpLFxuICAgICAgICBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucyksXG4gICAgICAgIHN1YnByb29mU3RyaW5nID0gYFske3N1cHBvc2l0aW9uc1N0cmluZ31dIC4uLiAke2xhc3RTdGVwU3RyaW5nfWA7XG5cbiAgcmV0dXJuIHN1YnByb29mU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZVN0cmluZ0Zyb21UeXBlTmFtZVR5cGVQcmVmaXhOYW1lQW5kU3VwZXJUeXBlcyh0eXBlTmFtZSwgdHlwZVByZWZpeE5hbWUsIHN1cGVyVHlwZXMpIHtcbiAgbGV0IHR5cGVTdHJpbmc7XG5cbiAgdHlwZVN0cmluZyA9ICh0eXBlUHJlZml4TmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICBgJHt0eXBlUHJlZml4TmFtZX0ke3R5cGVOYW1lfWA6XG4gICAgICAgICAgICAgICAgICAgdHlwZU5hbWU7XG5cbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKTtcblxuICBpZiAoc3VwZXJUeXBlc1N0cmluZyAhPT0gbnVsbCkge1xuICAgIHR5cGVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZXNTdHJpbmd9YDtcbiAgfVxuXG4gIHJldHVybiB0eXBlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nRnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZERlZHVjdGlvbihsYWJlbHMsIHN1cHBvc2l0aW9ucywgZGVkdWN0aW9uKSB7XG4gIGxldCBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmc7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25zU3RyaW5nID0gc3VwcG9zaXRpb25zU3RyaW5nRnJvbVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbnMpLFxuICAgICAgICBkZWR1Y3Rpb25TdHJpbmcgPSBkZWR1Y3Rpb24uZ2V0U3RyaW5nKCksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGxhYmVsc1N0cmluZ0Zyb21MYWJlbHMobGFiZWxzKTtcblxuICBpZiAobGFiZWxzU3RyaW5nICE9PSBudWxsKSB7XG4gICAgYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nID0gKHN1cHBvc2l0aW9uc1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiBbJHtzdXBwb3NpdGlvbnNTdHJpbmd9XSAuLi4gJHtkZWR1Y3Rpb25TdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2xhYmVsc1N0cmluZ30gOjogJHtkZWR1Y3Rpb25TdHJpbmd9YDtcbiAgfSBlbHNlIHtcbiAgICBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmcgPSAoc3VwcG9zaXRpb25zU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBbJHtzdXBwb3NpdGlvbnNTdHJpbmd9XSAuLi4gJHtkZWR1Y3Rpb25TdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblN0cmluZztcbiAgfVxuXG4gIHJldHVybiBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nRnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZERlZHVjdGlvbiIsImVxdWl2YWxlbmNlU3RyaW5nRnJvbVRlcm1zIiwibGFiZWxzU3RyaW5nRnJvbUxhYmVscyIsInNpZ25hdHVyZVN0cmluZ0Zyb21UZXJtcyIsInN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mIiwic3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIiwic3VwcG9zaXRpb25zU3RyaW5nRnJvbVN1cHBvc2l0aW9ucyIsInRlcm1zU3RyaW5nRnJvbVRlcm1zIiwidHlwZVN0cmluZ0Zyb21UeXBlTmFtZVR5cGVQcmVmaXhOYW1lQW5kU3VwZXJUeXBlcyIsInRlcm1zIiwidGVybXNTdHJpbmciLCJyZWR1Y2UiLCJ0ZXJtIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsImxhYmVscyIsImxhYmVsc1N0cmluZyIsImxhYmVsIiwibGFiZWxTdHJpbmciLCJzdXBlclR5cGVzIiwic3VwZXJUeXBlc1N0cmluZyIsInN1cGVyVHlwZSIsImJhc2VUeXBlIiwic3VwZXJUeXBlU3RyaW5nIiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zU3RyaW5nIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvblN0cmluZyIsInNpZ25hdHVyZVN0cmluZyIsImVxdWl2YWxlbmNlU3RyaW5nIiwic3VicHJvb2YiLCJsYXN0U3RlcCIsImdldExhc3RTdGVwIiwiZ2V0U3VwcG9zaXRpb25zIiwibGFzdFN0ZXBTdHJpbmciLCJzdWJwcm9vZlN0cmluZyIsInR5cGVOYW1lIiwidHlwZVByZWZpeE5hbWUiLCJ0eXBlU3RyaW5nIiwiZGVkdWN0aW9uIiwiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nIiwiZGVkdWN0aW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFzR2dCQTtlQUFBQTs7UUFqQ0FDO2VBQUFBOztRQW5EQUM7ZUFBQUE7O1FBNENBQztlQUFBQTs7UUFjQUM7ZUFBQUE7O1FBNUNBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQTVDQUM7ZUFBQUE7O1FBa0ZBQztlQUFBQTs7O29CQXBGUztBQUVsQixTQUFTRCxxQkFBcUJFLEtBQUs7SUFDeEMsSUFBTUMsY0FBY0QsTUFBTUUsTUFBTSxDQUFDLFNBQUNELGFBQWFFO1FBQzdDLElBQU1DLGFBQWFELEtBQUtFLFNBQVM7UUFFakNKLGNBQWMsQUFBQ0EsZ0JBQWdCLE9BQ2hCLEFBQUMsR0FBa0JHLE9BQWhCSCxhQUFZLE1BQWUsT0FBWEcsY0FDaEJBO1FBRWxCLE9BQU9IO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTUix1QkFBdUJhLE1BQU07SUFDM0MsSUFBTUMsZUFBZUQsT0FBT0osTUFBTSxDQUFDLFNBQUNLLGNBQWNDO1FBQ2hELElBQU1DLGNBQWNELE1BQU1ILFNBQVM7UUFFbkNFLGVBQWUsQUFBQ0EsaUJBQWlCLE9BQ2hCRSxjQUNDLEFBQUMsR0FBbUJBLE9BQWpCRixjQUFhLE1BQWdCLE9BQVpFO1FBRXRD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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.428",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.36",
|
|
14
14
|
"necessary": "^17.0.7",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-entities": "^1.0.
|
|
17
|
-
"occam-file-system": "^6.0.
|
|
18
|
-
"occam-furtle": "^2.0.
|
|
19
|
-
"occam-grammars": "^1.3.
|
|
15
|
+
"occam-custom-grammars": "^5.0.1335",
|
|
16
|
+
"occam-entities": "^1.0.440",
|
|
17
|
+
"occam-file-system": "^6.0.455",
|
|
18
|
+
"occam-furtle": "^2.0.274",
|
|
19
|
+
"occam-grammars": "^1.3.429",
|
|
20
20
|
"occam-lexers": "^23.1.32",
|
|
21
21
|
"occam-parsers": "^23.1.35",
|
|
22
22
|
"occam-query": "^4.1.140"
|
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
|
+
import { termsStringFromTerms } from "../utilities/string";
|
|
7
|
+
import { instantiateEquivalence } from "../process/instantiate";
|
|
6
8
|
import { stripBracketsFromTermNode } from "../utilities/brackets";
|
|
9
|
+
import { equalivanceFromEquivalenceNode } from "../utilities/element";
|
|
7
10
|
|
|
8
11
|
const { compress } = arrayUtilities;
|
|
9
12
|
|
|
10
13
|
export default define(class Equivalence {
|
|
11
|
-
constructor(context, string, node,terms) {
|
|
14
|
+
constructor(context, string, node, terms) {
|
|
12
15
|
this.context = context;
|
|
13
16
|
this.string = string;
|
|
14
17
|
this.node = node;
|
|
@@ -50,6 +53,17 @@ export default define(class Equivalence {
|
|
|
50
53
|
if (!termPresent) {
|
|
51
54
|
this.terms.push(term);
|
|
52
55
|
|
|
56
|
+
const termsString = termsStringFromTerms(this.terms),
|
|
57
|
+
string = termsString, ///
|
|
58
|
+
equalivanceNode = instantiateEquivalence(string, context),
|
|
59
|
+
equalivance = equalivanceFromEquivalenceNode(equalivanceNode, context);
|
|
60
|
+
|
|
61
|
+
this.node = equalivance.getNode();
|
|
62
|
+
|
|
63
|
+
this.string = equalivance.getString();
|
|
64
|
+
|
|
65
|
+
const equivalenceString = this.string; ///
|
|
66
|
+
|
|
53
67
|
context.debug(`...added the '${termString}' term to the '${equivalenceString}' equivalence.`);
|
|
54
68
|
}
|
|
55
69
|
}
|
|
@@ -258,27 +272,13 @@ export default define(class Equivalence {
|
|
|
258
272
|
return implicitlyGroundedTerms;
|
|
259
273
|
}
|
|
260
274
|
|
|
261
|
-
|
|
262
|
-
const type = this.getType(),
|
|
263
|
-
typeString = type.getString(),
|
|
264
|
-
termsString = this.terms.reduce((termsString, term) => {
|
|
265
|
-
const termString = term.getString();
|
|
266
|
-
|
|
267
|
-
termsString = (termsString === null) ?
|
|
268
|
-
termString :
|
|
269
|
-
`${termsString} = ${termString}`;
|
|
270
|
-
|
|
271
|
-
return termsString;
|
|
272
|
-
}, null),
|
|
273
|
-
string = `${termsString}:${typeString}`;
|
|
274
|
-
|
|
275
|
-
return string;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
static fromEquality(equality) {
|
|
275
|
+
static fromEquality(equality, context) {
|
|
279
276
|
const terms = equality.getTerms(),
|
|
280
|
-
|
|
277
|
+
termsString = termsStringFromTerms(terms),
|
|
278
|
+
string = termsString, ///
|
|
279
|
+
equalivanceNode = instantiateEquivalence(string, context),
|
|
280
|
+
equalivance = equalivanceFromEquivalenceNode(equalivanceNode, context);
|
|
281
281
|
|
|
282
|
-
return
|
|
282
|
+
return equalivance;
|
|
283
283
|
}
|
|
284
284
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
|
+
|
|
5
|
+
import { TERM_RULE_NAME } from "../ruleNames";
|
|
6
|
+
|
|
7
|
+
export default class EquivalenceNode extends NonTerminalNode {
|
|
8
|
+
getTermNodes() {
|
|
9
|
+
const ruleName = TERM_RULE_NAME,
|
|
10
|
+
termNodes = this.getNodesByRuleName(ruleName);
|
|
11
|
+
|
|
12
|
+
return termNodes;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(EquivalenceNode, ruleName, childNodes, opacity, precedence); }
|
|
16
|
+
}
|
|
@@ -44,10 +44,11 @@ import RuleHeaderNode from "./node/header/rule";
|
|
|
44
44
|
import SuppositionNode from "./node/supposition";
|
|
45
45
|
import PlaceholderNode from "./node/placeholder";
|
|
46
46
|
import ConstructorNode from "./node/constructor";
|
|
47
|
-
import MetatheoremNode from "./node/metatheorem";
|
|
48
47
|
import TheoremBodyNode from "./node/body/theorem";
|
|
49
48
|
import AxiomHeaderNode from "./node/header/axiom";
|
|
50
49
|
import LemmaHeaderNode from "./node/header/lemma";
|
|
50
|
+
import MetatheoremNode from "./node/metatheorem";
|
|
51
|
+
import EquivalenceNode from "./node/equivalence";
|
|
51
52
|
import MetaArgumentNode from "./node/metaArgument";
|
|
52
53
|
import MetavariableNode from "./node/metavariable";
|
|
53
54
|
import QualificationNode from "./node/qualification";
|
|
@@ -128,6 +129,7 @@ import {
|
|
|
128
129
|
RULE_HEADER_RULE_NAME,
|
|
129
130
|
CONSTRUCTOR_RULE_NAME,
|
|
130
131
|
METATHEOREM_RULE_NAME,
|
|
132
|
+
EQUIVALENCE_RULE_NAME,
|
|
131
133
|
AXIOM_HEADER_RULE_NAME,
|
|
132
134
|
LEMMA_HEADER_RULE_NAME,
|
|
133
135
|
THEOREM_BODY_RULE_NAME,
|
|
@@ -211,6 +213,7 @@ const NonTerminalNodeMap = {
|
|
|
211
213
|
[SUPPOSITION_RULE_NAME]: SuppositionNode,
|
|
212
214
|
[CONSTRUCTOR_RULE_NAME]: ConstructorNode,
|
|
213
215
|
[METATHEOREM_RULE_NAME]: MetatheoremNode,
|
|
216
|
+
[EQUIVALENCE_RULE_NAME]: EquivalenceNode,
|
|
214
217
|
[AXIOM_HEADER_RULE_NAME]: AxiomHeaderNode,
|
|
215
218
|
[LEMMA_HEADER_RULE_NAME]: LemmaHeaderNode,
|
|
216
219
|
[THEOREM_BODY_RULE_NAME]: TheoremBodyNode,
|
|
@@ -9,6 +9,7 @@ import { STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
|
|
|
9
9
|
const termPlaceholderBNF = ` _ ::= term... <END_OF_LINE> ; `,
|
|
10
10
|
variablePlaceholderBNF = ` _ ::= variable... <END_OF_LINE> ; `,
|
|
11
11
|
statementPlaceholderBNF = ` _ ::= statement... <END_OF_LINE> ; `,
|
|
12
|
+
equivalencePlaceholderBNF = ` _ ::= equivalence... <END_OF_LINE> ; `,
|
|
12
13
|
metavariablePlaceholderBNF = ` _ ::= metavariable... <END_OF_LINE> ; `,
|
|
13
14
|
termSubstitutionPlaceholderBNF = ` _ ::= termSubstitution... <END_OF_LINE> ; `,
|
|
14
15
|
frameSubstitutionPlaceholderBNF = ` _ ::= frameSubstitution... <END_OF_LINE> ; `,
|
|
@@ -17,6 +18,7 @@ const termPlaceholderBNF = ` _ ::= term... <END_OF_LINE> ; `,
|
|
|
17
18
|
termPlaceholderRule = ruleFromBNF(termPlaceholderBNF),
|
|
18
19
|
variablePlaceholderRule = ruleFromBNF(variablePlaceholderBNF),
|
|
19
20
|
statementPlaceholderRule = ruleFromBNF(statementPlaceholderBNF),
|
|
21
|
+
equivalencePlaceholderRule = ruleFromBNF(equivalencePlaceholderBNF),
|
|
20
22
|
metavariablePlaceholderRule = ruleFromBNF(metavariablePlaceholderBNF),
|
|
21
23
|
termSubstitutionPlaceholderRule = ruleFromBNF(termSubstitutionPlaceholderBNF),
|
|
22
24
|
frameSubstitutionPlaceholderRule = ruleFromBNF(frameSubstitutionPlaceholderBNF),
|
|
@@ -35,6 +37,8 @@ export function instantiateVariable(string, context) { return instantiate(variab
|
|
|
35
37
|
|
|
36
38
|
export function instantiateStatement(string, context) { return instantiate(statementPlaceholderRule, string, context); }
|
|
37
39
|
|
|
40
|
+
export function instantiateEquivalence(string, context) { return instantiate(equivalencePlaceholderRule, string, context); }
|
|
41
|
+
|
|
38
42
|
export function instantiateMetavariable(string, context) { return instantiate(metavariablePlaceholderRule, string, context); }
|
|
39
43
|
|
|
40
44
|
export function instantiateTermSubstitution(string, context) { return instantiate(termSubstitutionPlaceholderRule, string, context); }
|
package/src/ruleNames.js
CHANGED
|
@@ -45,6 +45,7 @@ export const TYPE_PREFIX_RULE_NAME = "typePrefix";
|
|
|
45
45
|
export const SUPPOSITION_RULE_NAME = "supposition";
|
|
46
46
|
export const CONSTRUCTOR_RULE_NAME = "constructor";
|
|
47
47
|
export const METATHEOREM_RULE_NAME = "metatheorem";
|
|
48
|
+
export const EQUIVALENCE_RULE_NAME = "equivalence";
|
|
48
49
|
export const AXIOM_HEADER_RULE_NAME = "axiomHeader";
|
|
49
50
|
export const LEMMA_HEADER_RULE_NAME = "lemmaHeader";
|
|
50
51
|
export const THEOREM_BODY_RULE_NAME = "theoremBody";
|
package/src/utilities/element.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
import elements from "../elements";
|
|
4
4
|
|
|
5
5
|
import { baseType } from "../element/type";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import { equivalenceStringFromTerms,
|
|
7
|
+
subproofStringFromSubproofNode,
|
|
8
|
+
stringFromLabelsSuppositionsAndDeduction } from "../utilities/string";
|
|
8
9
|
|
|
9
10
|
export function typeFromTypeNode(typeNode, context) {
|
|
10
11
|
let type;
|
|
@@ -294,6 +295,17 @@ export function typePrefixFromTypePrefixNode(typePrefixNode, context) {
|
|
|
294
295
|
return typePrefix;
|
|
295
296
|
}
|
|
296
297
|
|
|
298
|
+
export function equivalenceFromEquivalenceNode(equivalenceNode, context) {
|
|
299
|
+
const { Equivalence } = elements,
|
|
300
|
+
node = equivalenceNode, ///
|
|
301
|
+
terms = termsFromEquivalenceNode(equivalenceNode, context),
|
|
302
|
+
equivalenceString = equivalenceStringFromTerms(terms),
|
|
303
|
+
string = equivalenceString, ///
|
|
304
|
+
equivalence = new Equivalence(context, string, node, terms);
|
|
305
|
+
|
|
306
|
+
return equivalence;
|
|
307
|
+
}
|
|
308
|
+
|
|
297
309
|
export function metavariableFromMetavariableNode(metavariableNode, context) {
|
|
298
310
|
const { Metavariable } = elements,
|
|
299
311
|
node = metavariableNode, ///
|
|
@@ -1227,13 +1239,6 @@ export function signatureFromAxiomLemmaTheoremConjectureNode(axiomLemmaTheoremCo
|
|
|
1227
1239
|
return signature;
|
|
1228
1240
|
}
|
|
1229
1241
|
|
|
1230
|
-
export function suppositionsFromAxiomLemmaTheoremConjectureNode(axiomLemmaTheoremConjectureNode, context) {
|
|
1231
|
-
const suppositionNodes = axiomLemmaTheoremConjectureNode.getSuppositionNodes(),
|
|
1232
|
-
suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
|
|
1233
|
-
|
|
1234
|
-
return suppositions;
|
|
1235
|
-
}
|
|
1236
|
-
|
|
1237
1242
|
export function termsFromTermNodes(termNodes, context) {
|
|
1238
1243
|
const terms = termNodes.map((termNode) => {
|
|
1239
1244
|
const term = termFromTermNode(termNode, context);
|
|
@@ -1327,6 +1332,13 @@ export function assumptionsFromFrameNode(frameNode, context) {
|
|
|
1327
1332
|
return assumptions;
|
|
1328
1333
|
}
|
|
1329
1334
|
|
|
1335
|
+
export function termsFromEquivalenceNode(equivalenceNode, context) {
|
|
1336
|
+
const termNodes = equivalenceNode.getTermNodes(),
|
|
1337
|
+
terms = termsFromTermNodes(termNodes, context);
|
|
1338
|
+
|
|
1339
|
+
return terms;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1330
1342
|
export function suppositionsFromSubproofNode(subproofNode, context) {
|
|
1331
1343
|
const suppositionNodes = subproofNode.getSuppositionNodes(),
|
|
1332
1344
|
suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
|
|
@@ -1362,6 +1374,13 @@ export function labelsFromAxiomLemmaTheoremConjectureNode(axiomLemmaTheoremConje
|
|
|
1362
1374
|
return labels;
|
|
1363
1375
|
}
|
|
1364
1376
|
|
|
1377
|
+
export function suppositionsFromAxiomLemmaTheoremConjectureNode(axiomLemmaTheoremConjectureNode, context) {
|
|
1378
|
+
const suppositionNodes = axiomLemmaTheoremConjectureNode.getSuppositionNodes(),
|
|
1379
|
+
suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
|
|
1380
|
+
|
|
1381
|
+
return suppositions;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1365
1384
|
|
|
1366
1385
|
|
|
1367
1386
|
|
package/src/utilities/string.js
CHANGED
|
@@ -30,21 +30,6 @@ export function labelsStringFromLabels(labels) {
|
|
|
30
30
|
return labelsString;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export function signatureStringFromTerms(terms) {
|
|
34
|
-
const termsString = termsStringFromTerms(terms),
|
|
35
|
-
signatureString = `[${termsString}]`;
|
|
36
|
-
|
|
37
|
-
return signatureString;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function subproofStringFromSubproof(subproof) {
|
|
41
|
-
const suppositionStatementsOrNonsenseString = suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode, context),
|
|
42
|
-
lastStatementOrNonsenseString = lastStatementOrNonsenseStringFromSubproofNode(subproofNode, context),
|
|
43
|
-
subproofString = `[${suppositionStatementsOrNonsenseString}] ... ${lastStatementOrNonsenseString}`;
|
|
44
|
-
|
|
45
|
-
return subproofString;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
33
|
export function superTypesStringFromSuperTypes(superTypes) {
|
|
49
34
|
const superTypesString = superTypes.reduce((superTypesString, superType) => {
|
|
50
35
|
if (superType !== baseType) {
|
|
@@ -65,9 +50,9 @@ export function suppositionsStringFromSuppositions(suppositions) {
|
|
|
65
50
|
const suppositionsString = suppositions.reduce((suppositionsString, supposition) => {
|
|
66
51
|
const suppositionString = supposition.getString();
|
|
67
52
|
|
|
68
|
-
suppositionsString = (suppositionsString
|
|
69
|
-
|
|
70
|
-
suppositionString
|
|
53
|
+
suppositionsString = (suppositionsString === null) ?
|
|
54
|
+
suppositionString: ///
|
|
55
|
+
`${suppositionsString}, ${suppositionString}`;
|
|
71
56
|
|
|
72
57
|
return suppositionsString;
|
|
73
58
|
}, null);
|
|
@@ -75,6 +60,30 @@ export function suppositionsStringFromSuppositions(suppositions) {
|
|
|
75
60
|
return suppositionsString;
|
|
76
61
|
}
|
|
77
62
|
|
|
63
|
+
export function signatureStringFromTerms(terms) {
|
|
64
|
+
const termsString = termsStringFromTerms(terms),
|
|
65
|
+
signatureString = `[${termsString}]`;
|
|
66
|
+
|
|
67
|
+
return signatureString;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function equivalenceStringFromTerms(terms) {
|
|
71
|
+
const termsString = termsStringFromTerms(terms),
|
|
72
|
+
equivalenceString = termsString; ///
|
|
73
|
+
|
|
74
|
+
return equivalenceString;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function subproofStringFromSubproof(subproof) {
|
|
78
|
+
const lastStep = subproof.getLastStep(),
|
|
79
|
+
suppositions = subproof.getSuppositions(),
|
|
80
|
+
lastStepString = lastStep.getString(),
|
|
81
|
+
suppositionsString = suppositionsStringFromSuppositions(suppositions),
|
|
82
|
+
subproofString = `[${suppositionsString}] ... ${lastStepString}`;
|
|
83
|
+
|
|
84
|
+
return subproofString;
|
|
85
|
+
}
|
|
86
|
+
|
|
78
87
|
export function typeStringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes) {
|
|
79
88
|
let typeString;
|
|
80
89
|
|
|
@@ -110,50 +119,3 @@ export function axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduct
|
|
|
110
119
|
|
|
111
120
|
return axiomLemmaTheoremConjectureString;
|
|
112
121
|
}
|
|
113
|
-
|
|
114
|
-
function suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode, context) {
|
|
115
|
-
const suppositionNodes = subproofNode.getSuppositionNodes(),
|
|
116
|
-
suppositionStatementsOrNonsenseString = suppositionNodes.reduce((suppositionStatementsOrNonsenseString, suppositionNode) => {
|
|
117
|
-
const suppositionOrStepNode = suppositionNode, ///
|
|
118
|
-
statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context),
|
|
119
|
-
suppositionStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
120
|
-
|
|
121
|
-
suppositionStatementsOrNonsenseString = (suppositionStatementsOrNonsenseString !== null) ?
|
|
122
|
-
`${suppositionStatementsOrNonsenseString}, ${suppositionStatementOrNonsenseString}` :
|
|
123
|
-
suppositionStatementOrNonsenseString; ///
|
|
124
|
-
|
|
125
|
-
return suppositionStatementsOrNonsenseString;
|
|
126
|
-
}, null);
|
|
127
|
-
|
|
128
|
-
return suppositionStatementsOrNonsenseString;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
function statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context) {
|
|
132
|
-
let statementOrNonsenseString;
|
|
133
|
-
|
|
134
|
-
const nonsenseNode = suppositionOrStepNode.getNonsenseNode(),
|
|
135
|
-
statementNode = suppositionOrStepNode.getStatementNode();
|
|
136
|
-
|
|
137
|
-
if (false) {
|
|
138
|
-
///
|
|
139
|
-
} else if (nonsenseNode !== null) {
|
|
140
|
-
const nonsenseString = context.nodeAsString(nonsenseNode);
|
|
141
|
-
|
|
142
|
-
statementOrNonsenseString = nonsenseString; ///
|
|
143
|
-
} else if (statementNode !== null) {
|
|
144
|
-
const statementString = context.nodeAsString(statementNode);
|
|
145
|
-
|
|
146
|
-
statementOrNonsenseString = statementString; ///
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
return statementOrNonsenseString;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function lastStatementOrNonsenseStringFromSubproofNode(subproofNode, context) {
|
|
153
|
-
const lastStepNode = subproofNode.getLastStepNode(),
|
|
154
|
-
suppositionOrStepNode = lastStepNode, ///
|
|
155
|
-
statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context),
|
|
156
|
-
lastStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
157
|
-
|
|
158
|
-
return lastStatementOrNonsenseString;
|
|
159
|
-
}
|