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.
@@ -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 !== null ? "".concat(suppositionsString, ", ").concat(suppositionString) : suppositionString; ///
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.427",
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.1334",
16
- "occam-entities": "^1.0.439",
17
- "occam-file-system": "^6.0.454",
18
- "occam-furtle": "^2.0.273",
19
- "occam-grammars": "^1.3.427",
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
- asString() {
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
- equivalence = new Equivalence(terms);
277
+ termsString = termsStringFromTerms(terms),
278
+ string = termsString, ///
279
+ equalivanceNode = instantiateEquivalence(string, context),
280
+ equalivance = equalivanceFromEquivalenceNode(equalivanceNode, context);
281
281
 
282
- return equivalence;
282
+ return equalivance;
283
283
  }
284
284
  });
@@ -193,7 +193,6 @@ export default define(class Equivalences {
193
193
  }
194
194
  });
195
195
 
196
-
197
196
  function definedVariablesFromGroundedTerms(groundedTerms, definedVariables, context) {
198
197
  groundedTerms.forEach((groundedTerm) => {
199
198
  const term = groundedTerm, ///
@@ -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";
@@ -3,8 +3,9 @@
3
3
  import elements from "../elements";
4
4
 
5
5
  import { baseType } from "../element/type";
6
- import { subproofStringFromSubproofNode, stringFromLabelsSuppositionsAndDeduction } from "../utilities/string";
7
- import node from "occam-parsers/lib/mixins/node";
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
 
@@ -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 !== null) ?
69
- `${suppositionsString}, ${suppositionString}` :
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
- }