occam-verify-cli 0.0.438 → 0.0.439
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/proof.js +102 -5
- package/lib/verify/assertion/type.js +4 -4
- package/lib/verify/axiom.js +6 -5
- package/lib/verify/indicativeConditional.js +2 -2
- package/lib/verify/statement/unqualified.js +1 -2
- package/lib/verify/variable.js +2 -2
- package/package.json +1 -1
- package/src/context/proof.js +65 -3
- package/src/verify/assertion/type.js +3 -3
- package/src/verify/axiom.js +6 -4
- package/src/verify/indicativeConditional.js +1 -1
- package/src/verify/statement/unqualified.js +0 -2
- package/src/verify/variable.js +1 -1
package/lib/context/proof.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _file = /*#__PURE__*/ _interopRequireDefault(require("../mixins/file"));
|
|
12
12
|
var _logging = /*#__PURE__*/ _interopRequireDefault(require("../mixins/logging"));
|
|
13
13
|
var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("../mixins/callbacks"));
|
|
14
|
+
var _array = require("../utilities/array");
|
|
14
15
|
function _arrayLikeToArray(arr, len) {
|
|
15
16
|
if (len == null || len > arr.length) len = arr.length;
|
|
16
17
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -61,10 +62,11 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
61
62
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
62
63
|
}
|
|
63
64
|
var ProofContext = /*#__PURE__*/ function() {
|
|
64
|
-
function ProofContext(context, derived, assertions) {
|
|
65
|
+
function ProofContext(context, derived, variables, assertions) {
|
|
65
66
|
_classCallCheck(this, ProofContext);
|
|
66
67
|
this.context = context;
|
|
67
68
|
this.derived = derived;
|
|
69
|
+
this.variables = variables;
|
|
68
70
|
this.assertions = assertions;
|
|
69
71
|
}
|
|
70
72
|
_createClass(ProofContext, [
|
|
@@ -88,6 +90,40 @@ var ProofContext = /*#__PURE__*/ function() {
|
|
|
88
90
|
return assertions;
|
|
89
91
|
}
|
|
90
92
|
},
|
|
93
|
+
{
|
|
94
|
+
key: "getTypes",
|
|
95
|
+
value: function getTypes() {
|
|
96
|
+
return this.context.getTypes();
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "getAxioms",
|
|
101
|
+
value: function getAxioms() {
|
|
102
|
+
return this.context.getAxioms();
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
key: "getCombinators",
|
|
107
|
+
value: function getCombinators() {
|
|
108
|
+
return this.context.getCombinators();
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: "getConstructors",
|
|
113
|
+
value: function getConstructors() {
|
|
114
|
+
return this.context.getConstructors();
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "getVariables",
|
|
119
|
+
value: function getVariables() {
|
|
120
|
+
var variables = [];
|
|
121
|
+
(0, _array.push)(variables, this.variables);
|
|
122
|
+
var contextVariables = this.context.getVariables();
|
|
123
|
+
(0, _array.push)(variables, contextVariables);
|
|
124
|
+
return variables;
|
|
125
|
+
}
|
|
126
|
+
},
|
|
91
127
|
{
|
|
92
128
|
key: "setDerived",
|
|
93
129
|
value: function setDerived(derived) {
|
|
@@ -97,6 +133,12 @@ var ProofContext = /*#__PURE__*/ function() {
|
|
|
97
133
|
this.derived = derived;
|
|
98
134
|
}
|
|
99
135
|
},
|
|
136
|
+
{
|
|
137
|
+
key: "addVariable",
|
|
138
|
+
value: function addVariable(variable) {
|
|
139
|
+
this.variables.push(variable);
|
|
140
|
+
}
|
|
141
|
+
},
|
|
100
142
|
{
|
|
101
143
|
key: "addAssertion",
|
|
102
144
|
value: function addAssertion(assertion) {
|
|
@@ -119,20 +161,75 @@ var ProofContext = /*#__PURE__*/ function() {
|
|
|
119
161
|
}
|
|
120
162
|
return assertionMatches;
|
|
121
163
|
}
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
key: "findVariableByVariableName",
|
|
167
|
+
value: function findVariableByVariableName(variableName) {
|
|
168
|
+
var name = variableName, variables = this.getVariables(), variable = variables.find(function(variable) {
|
|
169
|
+
var matches = variable.matchName(name);
|
|
170
|
+
if (matches) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
}) || null;
|
|
174
|
+
return variable;
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
key: "isVariablePresentByVariableName",
|
|
179
|
+
value: function isVariablePresentByVariableName(variableName) {
|
|
180
|
+
var variable = this.findVariableByVariableName(variableName), variablePresent = variable !== null;
|
|
181
|
+
return variablePresent;
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
key: "findTypeByTypeName",
|
|
186
|
+
value: function findTypeByTypeName(typeName) {
|
|
187
|
+
return this.context.findTypeByTypeName(typeName);
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
key: "findLabelByTypeName",
|
|
192
|
+
value: function findLabelByTypeName(labelName) {
|
|
193
|
+
return this.context.findLabelByTypeName(labelName);
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
key: "findRuleByReferenceName",
|
|
198
|
+
value: function findRuleByReferenceName(referenceName) {
|
|
199
|
+
return this.context.findRuleByReferenceName(referenceName);
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
key: "findAxiomByReferenceName",
|
|
204
|
+
value: function findAxiomByReferenceName(referenceName) {
|
|
205
|
+
return this.context.findAxiomByReferenceName(referenceName);
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
key: "isLabelPresentByLabelName",
|
|
210
|
+
value: function isLabelPresentByLabelName(labelName) {
|
|
211
|
+
return this.context.isLabelPresentByLabelName(labelName);
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
key: "isTypePresentByTypeName",
|
|
216
|
+
value: function isTypePresentByTypeName(typeName) {
|
|
217
|
+
return this.context.isTypePresentByTypeName(typeName);
|
|
218
|
+
}
|
|
122
219
|
}
|
|
123
220
|
], [
|
|
124
221
|
{
|
|
125
222
|
key: "fromFileContext",
|
|
126
223
|
value: function fromFileContext(fileContext) {
|
|
127
|
-
var context = fileContext, derived = false, assertions = [], proofContext = new ProofContext(context, derived, assertions);
|
|
224
|
+
var context = fileContext, derived = false, variables = [], assertions = [], proofContext = new ProofContext(context, derived, variables, assertions);
|
|
128
225
|
return proofContext;
|
|
129
226
|
}
|
|
130
227
|
},
|
|
131
228
|
{
|
|
132
229
|
key: "fromProofContext",
|
|
133
230
|
value: function fromProofContext(proofContext) {
|
|
134
|
-
var context = proofContext, derived = false, assertions = [];
|
|
135
|
-
proofContext = new ProofContext(context, derived, assertions);
|
|
231
|
+
var context = proofContext, derived = false, variables = [], assertions = [];
|
|
232
|
+
proofContext = new ProofContext(context, derived, variables, assertions);
|
|
136
233
|
return proofContext;
|
|
137
234
|
}
|
|
138
235
|
}
|
|
@@ -144,4 +241,4 @@ Object.assign(ProofContext.prototype, _logging.default);
|
|
|
144
241
|
Object.assign(ProofContext.prototype, _callbacks.default);
|
|
145
242
|
var _default = ProofContext;
|
|
146
243
|
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3Byb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZmlsZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2ZpbGVcIjtcbmltcG9ydCBsb2dnaW5nTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbG9nZ2luZ1wiO1xuaW1wb3J0IGNhbGxiYWNrc01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2NhbGxiYWNrc1wiO1xuXG5jbGFzcyBQcm9vZkNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBkZXJpdmVkLCBhc3NlcnRpb25zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICAgIHRoaXMuYXNzZXJ0aW9ucyA9IGFzc2VydGlvbnM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBpc0Rlcml2ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVyaXZlZDtcbiAgfVxuXG4gIGdldEFzc2VydGlvbnMoKSB7XG4gICAgbGV0IGFzc2VydGlvbnMgPSB0aGlzLmNvbnRleHQuZ2V0QXNzZXJ0aW9ucygpO1xuXG4gICAgYXNzZXJ0aW9ucyA9IFtcbiAgICAgIC4uLmFzc2VydGlvbnMsXG4gICAgICAuLi50aGlzLmFzc2VydGlvbnNcbiAgICBdO1xuXG4gICAgcmV0dXJuIGFzc2VydGlvbnM7XG4gIH1cblxuICBzZXREZXJpdmVkKGRlcml2ZWQpIHtcbiAgICBpZiAoZGVyaXZlZCkge1xuICAgICAgdGhpcy5zdGF0ZW1lbnROb2Rlcy5wb3AoKTtcbiAgICB9XG5cbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICB9XG5cbiAgYWRkQXNzZXJ0aW9uKGFzc2VydGlvbikge1xuICAgIHRoaXMuYXNzZXJ0aW9ucy5wdXNoKGFzc2VydGlvbik7XG4gIH1cblxuICBtYXRjaEFzc2VydGlvbihhc3NlcnRpb24pIHtcbiAgICBsZXQgYXNzZXJ0aW9uTWF0Y2hlcztcblxuICAgIGNvbnN0IGFzc2VydGlvbkIgPSBhc3NlcnRpb247IC8vL1xuXG4gICAgYXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMuYXNzZXJ0aW9ucy5zb21lKChhc3NlcnRpb24pID0+IHtcbiAgICAgIGNvbnN0IGFzc2VydGlvbkEgPSBhc3NlcnRpb24sIC8vL1xuICAgICAgICAgICAgbWF0Y2hlcyA9IGFzc2VydGlvbkEubWF0Y2goYXNzZXJ0aW9uQik7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhc3NlcnRpb25NYXRjaGVzKSB7XG4gICAgICBhc3NlcnRpb25NYXRjaGVzID0gdGhpcy5jb250ZXh0Lm1hdGNoQXNzZXJ0aW9uKGFzc2VydGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2VydGlvbk1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIGFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBwcm9vZkNvbnRleHQgPSBuZXcgUHJvb2ZDb250ZXh0KGNvbnRleHQsIGRlcml2ZWQsIGFzc2VydGlvbnMpO1xuXG4gICAgcmV0dXJuIHByb29mQ29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJvb2ZDb250ZXh0KHByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBwcm9vZkNvbnRleHQsICAvLy9cbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzZXJ0aW9ucyA9IFtdO1xuXG4gICAgcHJvb2ZDb250ZXh0ID0gbmV3IFByb29mQ29udGV4dChjb250ZXh0LCBkZXJpdmVkLCBhc3NlcnRpb25zKTsgIC8vL1xuXG4gICAgcmV0dXJuIHByb29mQ29udGV4dDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKFByb29mQ29udGV4dC5wcm90b3R5cGUsIGZpbGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihQcm9vZkNvbnRleHQucHJvdG90eXBlLCBsb2dnaW5nTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oUHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgY2FsbGJhY2tzTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgUHJvb2ZDb250ZXh0O1xuIl0sIm5hbWVzIjpbIlByb29mQ29udGV4dCIsImNvbnRleHQiLCJkZXJpdmVkIiwiYXNzZXJ0aW9ucyIsImdldENvbnRleHQiLCJpc0Rlcml2ZWQiLCJnZXRBc3NlcnRpb25zIiwic2V0RGVyaXZlZCIsInN0YXRlbWVudE5vZGVzIiwicG9wIiwiYWRkQXNzZXJ0aW9uIiwiYXNzZXJ0aW9uIiwicHVzaCIsIm1hdGNoQXNzZXJ0aW9uIiwiYXNzZXJ0aW9uTWF0Y2hlcyIsImFzc2VydGlvbkIiLCJzb21lIiwiYXNzZXJ0aW9uQSIsIm1hdGNoZXMiLCJtYXRjaCIsImZyb21GaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwicHJvb2ZDb250ZXh0IiwiZnJvbVByb29mQ29udGV4dCIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImZpbGVNaXhpbnMiLCJsb2dnaW5nTWl4aW5zIiwiY2FsbGJhY2tzTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5RkE7OztlQUFBOzs7eURBdkZ1Qjs0REFDRzs4REFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsSUFBQSxBQUFNQSw2QkErRUgsQUEvRUg7YUFBTUEsYUFDUUMsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7OEJBRHBDSDtRQUVGLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7aUJBSmhCSDs7WUFPSkksS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWE7Z0JBQ1gsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixPQUFPLElBQUksQ0FBQ0gsT0FBTztZQUNyQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxnQkFBZ0I7Z0JBQ2QsSUFBSUgsYUFBYSxJQUFJLENBQUNGLE9BQU8sQ0FBQ0ssYUFBYTtnQkFFM0NILGFBQWEsQUFDWCxtQkFBR0EsbUJBQ0gsbUJBQUcsSUFBSSxDQUFDQSxVQUFVO2dCQUdwQixPQUFPQTtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdMLE9BQU8sRUFBRTtnQkFDbEIsSUFBSUEsU0FBUztvQkFDWCxJQUFJLENBQUNNLGNBQWMsQ0FBQ0MsR0FBRztnQkFDekIsQ0FBQztnQkFFRCxJQUFJLENBQUNQLE9BQU8sR0FBR0E7WUFDakI7OztZQUVBUSxLQUFBQTttQkFBQUEsU0FBQUEsYUFBYUMsU0FBUyxFQUFFO2dCQUN0QixJQUFJLENBQUNSLFVBQVUsQ0FBQ1MsSUFBSSxDQUFDRDtZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlRixTQUFTLEVBQUU7Z0JBQ3hCLElBQUlHO2dCQUVKLElBQU1DLGFBQWFKLFdBQVcsR0FBRztnQkFFakNHLG1CQUFtQixJQUFJLENBQUNYLFVBQVUsQ0FBQ2EsSUFBSSxDQUFDLFNBQUNMLFdBQWM7b0JBQ3JELElBQU1NLGFBQWFOLFdBQ2JPLFVBQVVELFdBQVdFLEtBQUssQ0FBQ0o7b0JBRWpDLElBQUlHLFNBQVM7d0JBQ1gsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsSUFBSSxDQUFDSixrQkFBa0I7b0JBQ3JCQSxtQkFBbUIsSUFBSSxDQUFDYixPQUFPLENBQUNZLGNBQWMsQ0FBQ0Y7Z0JBQ2pELENBQUM7Z0JBRUQsT0FBT0c7WUFDVDs7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSxnQkFBZ0JDLFdBQVcsRUFBRTtnQkFDbEMsSUFBTXBCLFVBQVVvQixhQUNWbkIsVUFBVSxLQUFLLEVBQ2ZDLGFBQWEsRUFBRSxFQUNmbUIsZUFBZSxJQS9EbkJ0QixhQStEb0NDLFNBQVNDLFNBQVNDO2dCQUV4RCxPQUFPbUI7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQkQsWUFBWSxFQUFFO2dCQUNwQyxJQUFNckIsVUFBVXFCLGNBQ1ZwQixVQUFVLEtBQUssRUFDZkMsYUFBYSxFQUFFO2dCQUVyQm1CLGVBQWUsSUF6RWJ0QixhQXlFOEJDLFNBQVNDLFNBQVNDLGFBQWMsR0FBRztnQkFFbkUsT0FBT21CO1lBQ1Q7OztXQTVFSXRCOztBQStFTndCLE9BQU9DLE1BQU0sQ0FBQ3pCLGFBQWEwQixTQUFTLEVBQUVDLGFBQVU7QUFDaERILE9BQU9DLE1BQU0sQ0FBQ3pCLGFBQWEwQixTQUFTLEVBQUVFLGdCQUFhO0FBQ25ESixPQUFPQyxNQUFNLENBQUN6QixhQUFhMEIsU0FBUyxFQUFFRyxrQkFBZTtJQUVyRCxXQUFlN0IifQ==
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3Byb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZmlsZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2ZpbGVcIjtcbmltcG9ydCBsb2dnaW5nTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbG9nZ2luZ1wiO1xuaW1wb3J0IGNhbGxiYWNrc01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2NhbGxiYWNrc1wiO1xuXG5pbXBvcnQgeyBwdXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5jbGFzcyBQcm9vZkNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBkZXJpdmVkLCB2YXJpYWJsZXMsIGFzc2VydGlvbnMpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuZGVyaXZlZCA9IGRlcml2ZWQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gICAgdGhpcy5hc3NlcnRpb25zID0gYXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGlzRGVyaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZXJpdmVkO1xuICB9XG5cbiAgZ2V0QXNzZXJ0aW9ucygpIHtcbiAgICBsZXQgYXNzZXJ0aW9ucyA9IHRoaXMuY29udGV4dC5nZXRBc3NlcnRpb25zKCk7XG5cbiAgICBhc3NlcnRpb25zID0gW1xuICAgICAgLi4uYXNzZXJ0aW9ucyxcbiAgICAgIC4uLnRoaXMuYXNzZXJ0aW9uc1xuICAgIF07XG5cbiAgICByZXR1cm4gYXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldFR5cGVzKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFR5cGVzKCk7IH1cblxuICBnZXRBeGlvbXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0QXhpb21zKCk7IH1cblxuICBnZXRDb21iaW5hdG9ycygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRDb21iaW5hdG9ycygpOyB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldENvbnN0cnVjdG9ycygpOyB9XG5cbiAgZ2V0VmFyaWFibGVzKCkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcHVzaCh2YXJpYWJsZXMsIHRoaXMudmFyaWFibGVzKTtcblxuICAgIGNvbnN0IGNvbnRleHRWYXJpYWJsZXMgPSB0aGlzLmNvbnRleHQuZ2V0VmFyaWFibGVzKCk7XG5cbiAgICBwdXNoKHZhcmlhYmxlcywgY29udGV4dFZhcmlhYmxlcyk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgc2V0RGVyaXZlZChkZXJpdmVkKSB7XG4gICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgIHRoaXMuc3RhdGVtZW50Tm9kZXMucG9wKCk7XG4gICAgfVxuXG4gICAgdGhpcy5kZXJpdmVkID0gZGVyaXZlZDtcbiAgfVxuXG4gIGFkZFZhcmlhYmxlKHZhcmlhYmxlKSB7XG4gICAgdGhpcy52YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG4gIH1cblxuICBhZGRBc3NlcnRpb24oYXNzZXJ0aW9uKSB7XG4gICAgdGhpcy5hc3NlcnRpb25zLnB1c2goYXNzZXJ0aW9uKTtcbiAgfVxuXG4gIG1hdGNoQXNzZXJ0aW9uKGFzc2VydGlvbikge1xuICAgIGxldCBhc3NlcnRpb25NYXRjaGVzO1xuXG4gICAgY29uc3QgYXNzZXJ0aW9uQiA9IGFzc2VydGlvbjsgLy8vXG5cbiAgICBhc3NlcnRpb25NYXRjaGVzID0gdGhpcy5hc3NlcnRpb25zLnNvbWUoKGFzc2VydGlvbikgPT4ge1xuICAgICAgY29uc3QgYXNzZXJ0aW9uQSA9IGFzc2VydGlvbiwgLy8vXG4gICAgICAgICAgICBtYXRjaGVzID0gYXNzZXJ0aW9uQS5tYXRjaChhc3NlcnRpb25CKTtcblxuICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoIWFzc2VydGlvbk1hdGNoZXMpIHtcbiAgICAgIGFzc2VydGlvbk1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hBc3NlcnRpb24oYXNzZXJ0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXNzZXJ0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIGZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSkge1xuICAgIGNvbnN0IG5hbWUgPSB2YXJpYWJsZU5hbWUsICAvLy9cbiAgICAgICAgICB2YXJpYWJsZXMgPSB0aGlzLmdldFZhcmlhYmxlcygpLFxuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVzLmZpbmQoKHZhcmlhYmxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gdmFyaWFibGUubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXMuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKSxcbiAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gKHZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiB2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBmaW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpOyB9XG5cbiAgZmluZExhYmVsQnlUeXBlTmFtZShsYWJlbE5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kTGFiZWxCeVR5cGVOYW1lKGxhYmVsTmFtZSk7IH1cblxuICBmaW5kUnVsZUJ5UmVmZXJlbmNlTmFtZShyZWZlcmVuY2VOYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFJ1bGVCeVJlZmVyZW5jZU5hbWUocmVmZXJlbmNlTmFtZSk7IH1cblxuICBmaW5kQXhpb21CeVJlZmVyZW5jZU5hbWUocmVmZXJlbmNlTmFtZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRBeGlvbUJ5UmVmZXJlbmNlTmFtZShyZWZlcmVuY2VOYW1lKTsgfVxuXG4gIGlzTGFiZWxQcmVzZW50QnlMYWJlbE5hbWUobGFiZWxOYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNMYWJlbFByZXNlbnRCeUxhYmVsTmFtZShsYWJlbE5hbWUpOyB9XG5cbiAgaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIGFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBwcm9vZkNvbnRleHQgPSBuZXcgUHJvb2ZDb250ZXh0KGNvbnRleHQsIGRlcml2ZWQsIHZhcmlhYmxlcywgYXNzZXJ0aW9ucyk7XG5cbiAgICByZXR1cm4gcHJvb2ZDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9vZkNvbnRleHQocHJvb2ZDb250ZXh0KSB7XG4gICAgY29uc3QgY29udGV4dCA9IHByb29mQ29udGV4dCwgIC8vL1xuICAgICAgICAgIGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgICBhc3NlcnRpb25zID0gW107XG5cbiAgICBwcm9vZkNvbnRleHQgPSBuZXcgUHJvb2ZDb250ZXh0KGNvbnRleHQsIGRlcml2ZWQsIHZhcmlhYmxlcywgYXNzZXJ0aW9ucyk7XG5cbiAgICByZXR1cm4gcHJvb2ZDb250ZXh0O1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oUHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgZmlsZU1peGlucyk7XG5PYmplY3QuYXNzaWduKFByb29mQ29udGV4dC5wcm90b3R5cGUsIGxvZ2dpbmdNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihQcm9vZkNvbnRleHQucHJvdG90eXBlLCBjYWxsYmFja3NNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCBQcm9vZkNvbnRleHQ7XG4iXSwibmFtZXMiOlsiUHJvb2ZDb250ZXh0IiwiY29udGV4dCIsImRlcml2ZWQiLCJ2YXJpYWJsZXMiLCJhc3NlcnRpb25zIiwiZ2V0Q29udGV4dCIsImlzRGVyaXZlZCIsImdldEFzc2VydGlvbnMiLCJnZXRUeXBlcyIsImdldEF4aW9tcyIsImdldENvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiZ2V0VmFyaWFibGVzIiwicHVzaCIsImNvbnRleHRWYXJpYWJsZXMiLCJzZXREZXJpdmVkIiwic3RhdGVtZW50Tm9kZXMiLCJwb3AiLCJhZGRWYXJpYWJsZSIsInZhcmlhYmxlIiwiYWRkQXNzZXJ0aW9uIiwiYXNzZXJ0aW9uIiwibWF0Y2hBc3NlcnRpb24iLCJhc3NlcnRpb25NYXRjaGVzIiwiYXNzZXJ0aW9uQiIsInNvbWUiLCJhc3NlcnRpb25BIiwibWF0Y2hlcyIsIm1hdGNoIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWUiLCJuYW1lIiwiZmluZCIsIm1hdGNoTmFtZSIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZVByZXNlbnQiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJ0eXBlTmFtZSIsImZpbmRMYWJlbEJ5VHlwZU5hbWUiLCJsYWJlbE5hbWUiLCJmaW5kUnVsZUJ5UmVmZXJlbmNlTmFtZSIsInJlZmVyZW5jZU5hbWUiLCJmaW5kQXhpb21CeVJlZmVyZW5jZU5hbWUiLCJpc0xhYmVsUHJlc2VudEJ5TGFiZWxOYW1lIiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJmcm9tRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsInByb29mQ29udGV4dCIsImZyb21Qcm9vZkNvbnRleHQiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJmaWxlTWl4aW5zIiwibG9nZ2luZ01peGlucyIsImNhbGxiYWNrc01peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBdUpBOzs7ZUFBQTs7O3lEQXJKdUI7NERBQ0c7OERBQ0U7cUJBRVA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLElBQUEsQUFBTUEsNkJBMklILEFBM0lIO2FBQU1BLGFBQ1FDLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFVBQVU7OEJBRC9DSjtRQUVGLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7O2lCQUxoQko7O1lBUUpLLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhO2dCQUNYLE9BQU8sSUFBSSxDQUFDSixPQUFPO1lBQ3JCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNKLE9BQU87WUFDckI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsZ0JBQWdCO2dCQUNkLElBQUlILGFBQWEsSUFBSSxDQUFDSCxPQUFPLENBQUNNLGFBQWE7Z0JBRTNDSCxhQUFhLEFBQ1gsbUJBQUdBLG1CQUNILG1CQUFHLElBQUksQ0FBQ0EsVUFBVTtnQkFHcEIsT0FBT0E7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXO2dCQUFFLE9BQU8sSUFBSSxDQUFDUCxPQUFPLENBQUNPLFFBQVE7WUFBSTs7O1lBRTdDQyxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFBRSxPQUFPLElBQUksQ0FBQ1IsT0FBTyxDQUFDUSxTQUFTO1lBQUk7OztZQUUvQ0MsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQjtnQkFBRSxPQUFPLElBQUksQ0FBQ1QsT0FBTyxDQUFDUyxjQUFjO1lBQUk7OztZQUV6REMsS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQjtnQkFBRSxPQUFPLElBQUksQ0FBQ1YsT0FBTyxDQUFDVSxlQUFlO1lBQUk7OztZQUUzREMsS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWU7Z0JBQ2IsSUFBTVQsWUFBWSxFQUFFO2dCQUVwQlUsSUFBQUEsV0FBSSxFQUFDVixXQUFXLElBQUksQ0FBQ0EsU0FBUztnQkFFOUIsSUFBTVcsbUJBQW1CLElBQUksQ0FBQ2IsT0FBTyxDQUFDVyxZQUFZO2dCQUVsREMsSUFBQUEsV0FBSSxFQUFDVixXQUFXVztnQkFFaEIsT0FBT1g7WUFDVDs7O1lBRUFZLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXYixPQUFPLEVBQUU7Z0JBQ2xCLElBQUlBLFNBQVM7b0JBQ1gsSUFBSSxDQUFDYyxjQUFjLENBQUNDLEdBQUc7Z0JBQ3pCLENBQUM7Z0JBRUQsSUFBSSxDQUFDZixPQUFPLEdBQUdBO1lBQ2pCOzs7WUFFQWdCLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZQyxRQUFRLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQ2hCLFNBQVMsQ0FBQ1UsSUFBSSxDQUFDTTtZQUN0Qjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhQyxTQUFTLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQ2pCLFVBQVUsQ0FBQ1MsSUFBSSxDQUFDUTtZQUN2Qjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlRCxTQUFTLEVBQUU7Z0JBQ3hCLElBQUlFO2dCQUVKLElBQU1DLGFBQWFILFdBQVcsR0FBRztnQkFFakNFLG1CQUFtQixJQUFJLENBQUNuQixVQUFVLENBQUNxQixJQUFJLENBQUMsU0FBQ0osV0FBYztvQkFDckQsSUFBTUssYUFBYUwsV0FDYk0sVUFBVUQsV0FBV0UsS0FBSyxDQUFDSjtvQkFFakMsSUFBSUcsU0FBUzt3QkFDWCxPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSDtnQkFFQSxJQUFJLENBQUNKLGtCQUFrQjtvQkFDckJBLG1CQUFtQixJQUFJLENBQUN0QixPQUFPLENBQUNxQixjQUFjLENBQUNEO2dCQUNqRCxDQUFDO2dCQUVELE9BQU9FO1lBQ1Q7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsMkJBQTJCQyxZQUFZLEVBQUU7Z0JBQ3ZDLElBQU1DLE9BQU9ELGNBQ1AzQixZQUFZLElBQUksQ0FBQ1MsWUFBWSxJQUM3Qk8sV0FBV2hCLFVBQVU2QixJQUFJLENBQUMsU0FBQ2IsVUFBYTtvQkFDdEMsSUFBTVEsVUFBVVIsU0FBU2MsU0FBUyxDQUFDRjtvQkFFbkMsSUFBSUosU0FBUzt3QkFDWCxPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSCxNQUFNLElBQUk7Z0JBRWhCLE9BQU9SO1lBQ1Q7OztZQUVBZSxLQUFBQTttQkFBQUEsU0FBQUEsZ0NBQWdDSixZQUFZLEVBQUU7Z0JBQzVDLElBQU1YLFdBQVcsSUFBSSxDQUFDVSwwQkFBMEIsQ0FBQ0MsZUFDN0NLLGtCQUFtQmhCLGFBQWEsSUFBSTtnQkFFeEMsT0FBT2dCO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CQyxRQUFRLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUNwQyxPQUFPLENBQUNtQyxrQkFBa0IsQ0FBQ0M7WUFBVzs7O1lBRWpGQyxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CQyxTQUFTLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUN0QyxPQUFPLENBQUNxQyxtQkFBbUIsQ0FBQ0M7WUFBWTs7O1lBRXJGQyxLQUFBQTttQkFBQUEsU0FBQUEsd0JBQXdCQyxhQUFhLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLENBQUN4QyxPQUFPLENBQUN1Qyx1QkFBdUIsQ0FBQ0M7WUFBZ0I7OztZQUVyR0MsS0FBQUE7bUJBQUFBLFNBQUFBLHlCQUF5QkQsYUFBYSxFQUFFO2dCQUFFLE9BQU8sSUFBSSxDQUFDeEMsT0FBTyxDQUFDeUMsd0JBQXdCLENBQUNEO1lBQWdCOzs7WUFFdkdFLEtBQUFBO21CQUFBQSxTQUFBQSwwQkFBMEJKLFNBQVMsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQ3RDLE9BQU8sQ0FBQzBDLHlCQUF5QixDQUFDSjtZQUFZOzs7WUFFakdLLEtBQUFBO21CQUFBQSxTQUFBQSx3QkFBd0JQLFFBQVEsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQ3BDLE9BQU8sQ0FBQzJDLHVCQUF1QixDQUFDUDtZQUFXOzs7O1lBRXBGUSxLQUFBQTttQkFBUCxTQUFPQSxnQkFBZ0JDLFdBQVcsRUFBRTtnQkFDbEMsSUFBTTdDLFVBQVU2QyxhQUNWNUMsVUFBVSxLQUFLLEVBQ2ZDLFlBQVksRUFBRSxFQUNkQyxhQUFhLEVBQUUsRUFDZjJDLGVBQWUsSUExSG5CL0MsYUEwSG9DQyxTQUFTQyxTQUFTQyxXQUFXQztnQkFFbkUsT0FBTzJDO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxpQkFBaUJELFlBQVksRUFBRTtnQkFDcEMsSUFBTTlDLFVBQVU4QyxjQUNWN0MsVUFBVSxLQUFLLEVBQ2ZDLFlBQVksRUFBRSxFQUNkQyxhQUFhLEVBQUU7Z0JBRXJCMkMsZUFBZSxJQXJJYi9DLGFBcUk4QkMsU0FBU0MsU0FBU0MsV0FBV0M7Z0JBRTdELE9BQU8yQztZQUNUOzs7V0F4SUkvQzs7QUEySU5pRCxPQUFPQyxNQUFNLENBQUNsRCxhQUFhbUQsU0FBUyxFQUFFQyxhQUFVO0FBQ2hESCxPQUFPQyxNQUFNLENBQUNsRCxhQUFhbUQsU0FBUyxFQUFFRSxnQkFBYTtBQUNuREosT0FBT0MsTUFBTSxDQUFDbEQsYUFBYW1ELFNBQVMsRUFBRUcsa0JBQWU7SUFFckQsV0FBZXREIn0=
|
|
@@ -29,9 +29,9 @@ function verifyTypeAssertion(typeAssertionNode, proofContext) {
|
|
|
29
29
|
if (derived) {
|
|
30
30
|
debugger;
|
|
31
31
|
} else {
|
|
32
|
-
var types = [], names = [], values = [], context = proofContext, termNode = termNodeQuery(typeAssertionNode),
|
|
33
|
-
if (
|
|
34
|
-
var firstName = (0, _array.first)(names), firstValue = (0, _array.first)(values), variableName = firstName, value = firstValue;
|
|
32
|
+
var types = [], names = [], values = [], context = proofContext, termNode = termNodeQuery(typeAssertionNode), termVerifiedAsVariable = (0, _termAsVariable.default)(termNode, types, names, values, context);
|
|
33
|
+
if (termVerifiedAsVariable) {
|
|
34
|
+
var firstName = (0, _array.first)(names), firstValue = (0, _array.first)(values), variableName = firstName, value = firstValue; ///
|
|
35
35
|
if (value !== undefined) {
|
|
36
36
|
proofContext.error("The value of the ".concat(variableName, " variable is not undefined."));
|
|
37
37
|
} else {
|
|
@@ -51,4 +51,4 @@ function verifyTypeAssertion(typeAssertionNode, proofContext) {
|
|
|
51
51
|
return typeAssertionVerified;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vLi4vdmFyaWFibGVcIjtcbmltcG9ydCB2ZXJpZnlUZXJtQXNWYXJpYWJsZSBmcm9tIFwiLi4vLi4vdmVyaWZ5L3Rlcm1Bc1ZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVBc3NlcnRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4odHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IHByb29mQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKCF0eXBlUHJlc2VudCkge1xuICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlICR7dHlwZU5hbWV9IHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGVyaXZlZCA9IHByb29mQ29udGV4dC5pc0Rlcml2ZWQoKTtcblxuICAgIGlmIChkZXJpdmVkKSB7XG4gICAgICBkZWJ1Z2dlclxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlcyA9IFtdLFxuICAgICAgICAgICAgbmFtZXMgPSBbXSxcbiAgICAgICAgICAgIHZhbHVlcyA9IFtdLFxuICAgICAgICAgICAgY29udGV4dCA9IHByb29mQ29udGV4dCwgLy8vXG4gICAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB0eXBlcywgbmFtZXMsIHZhbHVlcywgY29udGV4dCk7XG5cbiAgICAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IGZpcnN0KG5hbWVzKSxcbiAgICAgICAgICAgICAgZmlyc3RWYWx1ZSA9IGZpcnN0KHZhbHVlcyksXG4gICAgICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IGZpcnN0TmFtZSwgLy8vXG4gICAgICAgICAgICAgIHZhbHVlID0gZmlyc3RWYWx1ZTsgLy8vXG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSB2YWx1ZSBvZiB0aGUgJHt2YXJpYWJsZU5hbWV9IHZhcmlhYmxlIGlzIG5vdCB1bmRlZmluZWQuYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IHByb29mQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpLFxuICAgICAgICAgICAgICAgIGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgICAgICAgIHR5cGVTdWJUeXBlT2ZWYXJpYWJsZVR5cGUgPSB0eXBlLmlzU3ViVHlwZU9mKHZhcmlhYmxlVHlwZSk7XG5cbiAgICAgICAgICBpZiAoIXR5cGVTdWJUeXBlT2ZWYXJpYWJsZVR5cGUpIHtcbiAgICAgICAgICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlIGFzc2VydGVkIHR5cGUgb2YgdGhlICR7dmFyaWFibGVOYW1lfSB2YXJpYWJsZSBpcyBub3QgYSBzdWItdHlwZSBvZiBpdHMgZGVjbGFyZWQgdHlwZS5gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHZhcmlhYmxlTmFtZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG5cbiAgICAgICAgICAgIHByb29mQ29udGV4dC5hZGRWYXJpYWJsZSh2YXJpYWJsZSk7XG5cbiAgICAgICAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHlwZUFzc2VydGlvblZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUodHlwZUFzc2VydGlvbk5vZGUpIDpcbiAgICAgIHByb29mQ29udGV4dC5oYWx0KHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICByZXR1cm4gdHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInR5cGVBc3NlcnRpb25Ob2RlIiwicHJvb2ZDb250ZXh0IiwidHlwZUFzc2VydGlvblZlcmlmaWVkIiwiYmVnaW4iLCJ0eXBlTm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwiZXJyb3IiLCJkZXJpdmVkIiwiaXNEZXJpdmVkIiwidHlwZXMiLCJuYW1lcyIsInZhbHVlcyIsImNvbnRleHQiLCJ0ZXJtTm9kZSIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQXNWYXJpYWJsZSIsImZpcnN0TmFtZSIsImZpcnN0IiwiZmlyc3RWYWx1ZSIsInZhcmlhYmxlTmFtZSIsInZhbHVlIiwidW5kZWZpbmVkIiwidHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImZpcnN0VHlwZSIsInZhcmlhYmxlVHlwZSIsInR5cGVTdWJUeXBlT2ZWYXJpYWJsZVR5cGUiLCJpc1N1YlR5cGVPZiIsIm5hbWUiLCJ2YXJpYWJsZSIsIlZhcmlhYmxlIiwiZnJvbVR5cGVBbmROYW1lIiwiYWRkVmFyaWFibGUiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBd0JBOzs7NkRBVEg7bUVBQ1k7cUJBRVg7cUJBQzBCOzs7Ozs7QUFFaEQsSUFBTUMsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLHdCQUMxQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpCLFNBQVNGLG9CQUFvQkksaUJBQWlCLEVBQUVDLFlBQVksRUFBRTtJQUMzRSxJQUFJQyx3QkFBd0IsS0FBSztJQUVqQ0QsYUFBYUUsS0FBSyxDQUFDSDtJQUVuQixJQUFNSSxXQUFXTCxjQUFjQyxvQkFDekJLLFdBQVdDLElBQUFBLDJCQUFvQixFQUFDRixXQUNoQ0csY0FBY04sYUFBYU8sdUJBQXVCLENBQUNIO0lBRXpELElBQUksQ0FBQ0UsYUFBYTtRQUNoQk4sYUFBYVEsS0FBSyxDQUFDLEFBQUMsT0FBZSxPQUFUSixVQUFTO0lBQ3JDLE9BQU87UUFDTCxJQUFNSyxVQUFVVCxhQUFhVSxTQUFTO1FBRXRDLElBQUlELFNBQVM7WUFDWCxRQUFRO1FBQ1YsT0FBTztZQUNMLElBQU1FLFFBQVEsRUFBRSxFQUNWQyxRQUFRLEVBQUUsRUFDVkMsU0FBUyxFQUFFLEVBQ1hDLFVBQVVkLGNBQ1ZlLFdBQVduQixjQUFjRyxvQkFDekJpQix5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixVQUFVSixPQUFPQyxPQUFPQyxRQUFRQztZQUVwRixJQUFJRSx3QkFBd0I7Z0JBQzFCLElBQU1FLFlBQVlDLElBQUFBLFlBQUssRUFBQ1AsUUFDbEJRLGFBQWFELElBQUFBLFlBQUssRUFBQ04sU0FDbkJRLGVBQWVILFdBQ2ZJLFFBQVFGLFlBQVksR0FBRztnQkFFN0IsSUFBSUUsVUFBVUMsV0FBVztvQkFDdkJ2QixhQUFhUSxLQUFLLENBQUMsQUFBQyxvQkFBZ0MsT0FBYmEsY0FBYTtnQkFDdEQsT0FBTztvQkFDTCxJQUFNRyxPQUFPeEIsYUFBYXlCLGtCQUFrQixDQUFDckIsV0FDdkNzQixZQUFZUCxJQUFBQSxZQUFLLEVBQUNSLFFBQ2xCZ0IsZUFBZUQsV0FDZkUsNEJBQTRCSixLQUFLSyxXQUFXLENBQUNGO29CQUVuRCxJQUFJLENBQUNDLDJCQUEyQjt3QkFDOUI1QixhQUFhUSxLQUFLLENBQUMsQUFBQyw0QkFBd0MsT0FBYmEsY0FBYTtvQkFDOUQsT0FBTzt3QkFDTCxJQUFNUyxPQUFPVCxjQUNQVSxXQUFXQyxpQkFBUSxDQUFDQyxlQUFlLENBQUNULE1BQU1NO3dCQUVoRDlCLGFBQWFrQyxXQUFXLENBQUNIO3dCQUV6QjlCLHdCQUF3QixJQUFJO29CQUM5QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFREEsd0JBQ0VELGFBQWFtQyxRQUFRLENBQUNwQyxxQkFDcEJDLGFBQWFvQyxJQUFJLENBQUNyQyxrQkFBa0I7SUFFeEMsT0FBT0U7QUFDVCJ9
|
package/lib/verify/axiom.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyAxiom;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _axiom = /*#__PURE__*/ _interopRequireDefault(require("../axiom"));
|
|
11
12
|
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
12
13
|
var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
|
|
13
14
|
var _indicativeConditional = /*#__PURE__*/ _interopRequireDefault(require("../verify/indicativeConditional"));
|
|
@@ -19,7 +20,7 @@ function _interopRequireDefault(obj) {
|
|
|
19
20
|
default: obj
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"), statementNodeQuery = (0, _query.nodeQuery)("
|
|
23
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!"), statementNodesQuery = (0, _query.nodesQuery)("/indicativeConditional/unqualifiedStatement/statement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/axiom/unqualifiedStatement!"), indicativeConditionalNodeQuery = (0, _query.nodeQuery)("/axiom/indicativeConditional!");
|
|
23
24
|
function verifyAxiom(axiomNode, fileContext) {
|
|
24
25
|
var axiomVerified = false;
|
|
25
26
|
fileContext.begin(axiomNode);
|
|
@@ -28,15 +29,15 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
28
29
|
if (unqualifiedStatementNode !== null) {
|
|
29
30
|
var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
30
31
|
if (unqualifiedStatementVerified) {
|
|
31
|
-
var statementNode = statementNodeQuery(unqualifiedStatementNode), labels = labelsString, axiom =
|
|
32
|
+
var statementNode = statementNodeQuery(unqualifiedStatementNode), labels = labelsString, axiom = _axiom.default.fromStatementNodeAndLabels(statementNode, labels);
|
|
32
33
|
fileContext.addAxiom(axiom);
|
|
33
34
|
axiomVerified = true;
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
if (indicativeConditionalNode !== null) {
|
|
37
|
-
var
|
|
38
|
+
var indicativeConditionalVerified = (0, _indicativeConditional.default)(indicativeConditionalNode, proofContext);
|
|
38
39
|
if (indicativeConditionalVerified !== null) {
|
|
39
|
-
var labels1 = labelsString, firstStatementNode = (0, _array.first)(statementNodes), secondStatementNode = (0, _array.second)(statementNodes),
|
|
40
|
+
var labels1 = labelsString, statementNodes = statementNodesQuery(indicativeConditionalNode), firstStatementNode = (0, _array.first)(statementNodes), secondStatementNode = (0, _array.second)(statementNodes), consequentStatementNode = secondStatementNode, suppositionStatementNode = firstStatementNode, axiom1 = _axiom.default.fromSuppositionStatementNodeConsequentStatementNodeAndLabels(suppositionStatementNode, consequentStatementNode, labels1);
|
|
40
41
|
fileContext.addAxiom(axiom1);
|
|
41
42
|
axiomVerified = true;
|
|
42
43
|
}
|
|
@@ -45,4 +46,4 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
45
46
|
return axiomVerified;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbCBmcm9tIFwiLi4vdmVyaWZ5L2luZGljYXRpdmVDb25kaXRpb25hbFwiO1xuXG5pbXBvcnQgeyBmaXJzdCwgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vbGFiZWxcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2luZGljYXRpdmVDb25kaXRpb25hbC91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb20vdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tL2luZGljYXRpdmVDb25kaXRpb25hbCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUF4aW9tKGF4aW9tTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGF4aW9tVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihheGlvbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KGF4aW9tTm9kZSksXG4gICAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUgPSBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlUXVlcnkoYXhpb21Ob2RlKTtcblxuICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBheGlvbS4uLmApO1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIGxhYmVscyA9IGxhYmVsc1N0cmluZywgIC8vL1xuICAgICAgICAgICAgYXhpb20gPSBBeGlvbS5mcm9tU3RhdGVtZW50Tm9kZUFuZExhYmVscyhzdGF0ZW1lbnROb2RlLCBsYWJlbHMpO1xuXG4gICAgICBmaWxlQ29udGV4dC5hZGRBeGlvbShheGlvbSk7XG5cbiAgICAgIGF4aW9tVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsVmVyaWZpZWQgPSB2ZXJpZnlJbmRpY2F0aXZlQ29uZGl0aW9uYWwoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbGFiZWxzID0gbGFiZWxzU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlcyA9IHN0YXRlbWVudE5vZGVzUXVlcnkoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSksXG4gICAgICAgICAgICBmaXJzdFN0YXRlbWVudE5vZGUgPSBmaXJzdChzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICBzZWNvbmRTdGF0ZW1lbnROb2RlID0gc2Vjb25kKHN0YXRlbWVudE5vZGVzKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gc2Vjb25kU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlID0gZmlyc3RTdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21TdXBwb3NpdGlvblN0YXRlbWVudE5vZGVDb25zZXF1ZW50U3RhdGVtZW50Tm9kZUFuZExhYmVscyhzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlLCBsYWJlbHMpO1xuXG4gICAgICBmaWxlQ29udGV4dC5hZGRBeGlvbShheGlvbSk7XG5cbiAgICAgIGF4aW9tVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGF4aW9tVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKGF4aW9tTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdChheGlvbU5vZGUpO1xuXG4gIHJldHVybiBheGlvbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUF4aW9tIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVzUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsImluZGljYXRpdmVDb25kaXRpb25hbE5vZGVRdWVyeSIsImF4aW9tTm9kZSIsImZpbGVDb250ZXh0IiwiYXhpb21WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlIiwiZGVidWciLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwibGFiZWxzIiwiYXhpb20iLCJBeGlvbSIsImZyb21TdGF0ZW1lbnROb2RlQW5kTGFiZWxzIiwiYWRkQXhpb20iLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCIsInZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbCIsInN0YXRlbWVudE5vZGVzIiwiZmlyc3RTdGF0ZW1lbnROb2RlIiwiZmlyc3QiLCJzZWNvbmRTdGF0ZW1lbnROb2RlIiwic2Vjb25kIiwiY29uc2VxdWVudFN0YXRlbWVudE5vZGUiLCJzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUiLCJmcm9tU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlQ29uc2VxdWVudFN0YXRlbWVudE5vZGVBbmRMYWJlbHMiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlCQTs7O2VBQXdCQTs7OzBEQWZOOzBEQUNPO2dFQUNjOzBFQUNDO3FCQUVWO3NCQUNBO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFDQUMvQkMsc0JBQXNCSCxJQUFBQSxpQkFBVSxFQUFDLDJEQUNqQ0ksZ0NBQWdDRixJQUFBQSxnQkFBUyxFQUFDLGlDQUMxQ0csaUNBQWlDSCxJQUFBQSxnQkFBUyxFQUFDO0FBRWxDLFNBQVNKLFlBQVlRLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQzFELElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFYLGdCQUFnQk8sWUFDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1IsY0FDNUNTLDJCQUEyQlosOEJBQThCRSxZQUN6RFcsNEJBQTRCWiwrQkFBK0JDO0lBRWpFQyxZQUFZVyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYlAsY0FBYTtJQUVqRCxJQUFJSyw2QkFBNkIsSUFBSSxFQUFFO1FBQ3JDLElBQU1HLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNKLDBCQUEwQkg7UUFFMUYsSUFBSU0sOEJBQThCO1lBQ2hDLElBQU1FLGdCQUFnQnBCLG1CQUFtQmUsMkJBQ25DTSxTQUFTWCxjQUNUWSxRQUFRQyxjQUFLLENBQUNDLDBCQUEwQixDQUFDSixlQUFlQztZQUU5RGYsWUFBWW1CLFFBQVEsQ0FBQ0g7WUFFckJmLGdCQUFnQixJQUFJO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSVMsOEJBQThCLElBQUksRUFBRTtRQUN0QyxJQUFNVSxnQ0FBZ0NDLElBQUFBLDhCQUEyQixFQUFDWCwyQkFBMkJKO1FBRTdGLElBQUljLGtDQUFrQyxJQUFJLEVBQUU7WUFDMUMsSUFBTUwsVUFBU1gsY0FDVGtCLGlCQUFpQjFCLG9CQUFvQmMsNEJBQ3JDYSxxQkFBcUJDLElBQUFBLFlBQUssRUFBQ0YsaUJBQzNCRyxzQkFBc0JDLElBQUFBLGFBQU0sRUFBQ0osaUJBQzdCSywwQkFBMEJGLHFCQUMxQkcsMkJBQTJCTCxvQkFDM0JQLFNBQVFDLGNBQUssQ0FBQ1ksNERBQTRELENBQUNELDBCQUEwQkQseUJBQXlCWjtZQUVwSWYsWUFBWW1CLFFBQVEsQ0FBQ0g7WUFFckJmLGdCQUFnQixJQUFJO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRURBLGdCQUNFRCxZQUFZOEIsUUFBUSxDQUFDL0IsYUFDbkJDLFlBQVkrQixJQUFJLENBQUNoQyxVQUFVO0lBRS9CLE9BQU9FO0FBQ1QifQ==
|
|
@@ -16,7 +16,7 @@ function _interopRequireDefault(obj) {
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
var unqualifiedStatementNodesQuery = (0, _query.nodesQuery)("/indicativeConditional/unqualifiedStatement");
|
|
19
|
-
function verifyIndicativeConditional(indicativeConditionalNode,
|
|
19
|
+
function verifyIndicativeConditional(indicativeConditionalNode, proofContext) {
|
|
20
20
|
var indicativeConditionalVerified;
|
|
21
21
|
proofContext.begin(indicativeConditionalNode);
|
|
22
22
|
var unqualifiedStatementNodes = unqualifiedStatementNodesQuery(indicativeConditionalNode);
|
|
@@ -30,4 +30,4 @@ function verifyIndicativeConditional(indicativeConditionalNode, statementNodes,
|
|
|
30
30
|
return indicativeConditionalVerified;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvaW5kaWNhdGl2ZUNvbmRpdGlvbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9zdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9pbmRpY2F0aXZlQ29uZGl0aW9uYWwvdW5xdWFsaWZpZWRTdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbChpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbihpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlc1F1ZXJ5KGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUpO1xuXG4gIGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlcy5ldmVyeSgodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSk7XG5cbiAgcmV0dXJuIGluZGljYXRpdmVDb25kaXRpb25hbFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUluZGljYXRpdmVDb25kaXRpb25hbCIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlIiwicHJvb2ZDb250ZXh0IiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsVmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMiLCJldmVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztnRUFOZTtxQkFFWjs7Ozs7O0FBRTNCLElBQU1DLGlDQUFpQ0MsSUFBQUEsaUJBQVUsRUFBQztBQUVuQyxTQUFTRiw0QkFBNEJHLHlCQUF5QixFQUFFQyxZQUFZLEVBQUU7SUFDM0YsSUFBSUM7SUFFSkQsYUFBYUUsS0FBSyxDQUFDSDtJQUVuQixJQUFNSSw0QkFBNEJOLCtCQUErQkU7SUFFakVFLGdDQUFnQ0UsMEJBQTBCQyxLQUFLLENBQUMsU0FBQ0MsMEJBQTZCO1FBQzVGLElBQU1DLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNGLDBCQUEwQkw7UUFFMUYsSUFBSU0sOEJBQThCO1lBQ2hDLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVBTCxnQ0FDRUQsYUFBYVEsUUFBUSxDQUFDVCw2QkFDcEJDLGFBQWFTLElBQUksQ0FBQ1YsMEJBQTBCO0lBRWhELE9BQU9FO0FBQ1QifQ==
|
|
@@ -23,7 +23,6 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, proofContext) {
|
|
|
23
23
|
if (statementNode !== null) {
|
|
24
24
|
var statementVerified = (0, _statement.default)(statementNode, proofContext);
|
|
25
25
|
if (statementVerified) {
|
|
26
|
-
debugger;
|
|
27
26
|
unqualifiedStatementVerified = true;
|
|
28
27
|
}
|
|
29
28
|
}
|
|
@@ -31,4 +30,4 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, proofContext) {
|
|
|
31
30
|
return unqualifiedStatementVerified;
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInByb29mQ29udGV4dCIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsInN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVN0YXRlbWVudCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7Ozs4REFOSTtxQkFFRjs7Ozs7O0FBRTFCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixTQUFTRiwyQkFBMkJHLHdCQUF3QixFQUFFQyxZQUFZLEVBQUU7SUFDekYsSUFBSUMsK0JBQStCLEtBQUs7SUFFeENELGFBQWFFLEtBQUssQ0FBQ0g7SUFFbkIsSUFBTUksZ0JBQWdCTixtQkFBbUJFO0lBRXpDLElBQUlJLGtCQUFrQixJQUFJLEVBQUU7UUFDMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDRixlQUFlSDtRQUV6RCxJQUFJSSxtQkFBbUI7WUFDckJILCtCQUErQixJQUFJO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRURBLCtCQUNFRCxhQUFhTSxRQUFRLENBQUNQLDRCQUNwQkMsYUFBYU8sSUFBSSxDQUFDUix5QkFBeUI7SUFFL0MsT0FBT0U7QUFDVCJ9
|
package/lib/verify/variable.js
CHANGED
|
@@ -38,7 +38,7 @@ function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
if (variable !== null) {
|
|
41
|
-
var variableString = (0, _string.nodeAsString)(
|
|
41
|
+
var variableString = (0, _string.nodeAsString)(variableNode);
|
|
42
42
|
fileContext.info("Verified the '".concat(variableString, "' variable."));
|
|
43
43
|
fileContext.addVariable(variable);
|
|
44
44
|
variableVerified = true;
|
|
@@ -48,4 +48,4 @@ function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
48
48
|
return variableVerified;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlLCB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlWYXJpYWJsZSh2YXJpYWJsZU5vZGUsIHR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHZhcmlhYmxlTm9kZSk7XG5cbiAgbGV0IHZhcmlhYmxlID0gbnVsbDtcblxuICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSksXG4gICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICBpZiAodmFyaWFibGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB2YXJpYWJsZSAnJHt2YXJpYWJsZU5hbWV9JyBpcyBhbHJlYWR5IHByZXNlbnQuYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSk7XG4gICAgXG4gICAgaWYgKHR5cGVOYW1lID09PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSB2YXJpYWJsZU5hbWU7ICAvLy9cblxuICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICBmaWxlQ29udGV4dC5lcnJvcihgVGhlICcke3ZhcmlhYmxlTmFtZX0nIHZhcmlhYmxlJ3MgJyR7dHlwZU5hbWV9JyB0eXBlIGlzIG1pc3NpbmcuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuYW1lID0gdmFyaWFibGVOYW1lOyAgLy8vXG5cbiAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IG5vZGVBc1N0cmluZyh2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS5gKTtcblxuICAgICAgZmlsZUNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgICB2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXJpYWJsZVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh2YXJpYWJsZU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmhhbHQodmFyaWFibGVOb2RlKTtcblxuICByZXR1cm4gdmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlWYXJpYWJsZSIsInZhcmlhYmxlTm9kZSIsInR5cGVOb2RlIiwiZmlsZUNvbnRleHQiLCJ2YXJpYWJsZVZlcmlmaWVkIiwiYmVnaW4iLCJ2YXJpYWJsZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwiZXJyb3IiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZSIsIm5hbWUiLCJWYXJpYWJsZSIsImZyb21UeXBlQW5kTmFtZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiaW5mbyIsImFkZFZhcmlhYmxlIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXdCQTs7OzZEQUxIO3NCQUVRO3FCQUNzQzs7Ozs7O0FBRXBELFNBQVNBLGVBQWVDLFlBQVksRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUU7SUFDMUUsSUFBSUMsbUJBQW1CLEtBQUs7SUFFNUJELFlBQVlFLEtBQUssQ0FBQ0o7SUFFbEIsSUFBSUssV0FBVyxJQUFJO0lBRW5CLElBQU1DLGVBQWVDLElBQUFBLG1DQUE0QixFQUFDUCxlQUM1Q1Esa0JBQWtCTixZQUFZTywrQkFBK0IsQ0FBQ0g7SUFFcEUsSUFBSUUsaUJBQWlCO1FBQ25CTixZQUFZUSxLQUFLLENBQUMsQUFBQyxpQkFBNkIsT0FBYkosY0FBYTtJQUNsRCxPQUFPO1FBQ0wsSUFBTUssV0FBV0MsSUFBQUEsMkJBQW9CLEVBQUNYO1FBRXRDLElBQUlVLGFBQWEsSUFBSSxFQUFFO1lBQ3JCLElBQU1FLE9BQU8sSUFBSSxFQUNYQyxPQUFPUixjQUFlLEdBQUc7WUFFL0JELFdBQVdVLGlCQUFRLENBQUNDLGVBQWUsQ0FBQ0gsTUFBTUM7UUFDNUMsT0FBTztZQUNMLElBQU1ELFFBQU9YLFlBQVllLGtCQUFrQixDQUFDTjtZQUU1QyxJQUFJRSxVQUFTLElBQUksRUFBRTtnQkFDakJYLFlBQVlRLEtBQUssQ0FBQyxBQUFDLFFBQW9DQyxPQUE3QkwsY0FBYSxrQkFBeUIsT0FBVEssVUFBUztZQUNsRSxPQUFPO2dCQUNMLElBQU1HLFFBQU9SLGNBQWUsR0FBRztnQkFFL0JELFdBQVdVLGlCQUFRLENBQUNDLGVBQWUsQ0FBQ0gsT0FBTUM7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJVCxhQUFhLElBQUksRUFBRTtZQUNyQixJQUFNYSxpQkFBaUJDLElBQUFBLG9CQUFZLEVBQUNuQjtZQUVwQ0UsWUFBWWtCLElBQUksQ0FBQyxBQUFDLGlCQUErQixPQUFmRixnQkFBZTtZQUVqRGhCLFlBQVltQixXQUFXLENBQUNoQjtZQUV4QkYsbUJBQW1CLElBQUk7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFREEsbUJBQ0VELFlBQVlvQixRQUFRLENBQUN0QixnQkFDbkJFLFlBQVlxQixJQUFJLENBQUN2QixhQUFhO0lBRWxDLE9BQU9HO0FBQ1QifQ==
|
package/package.json
CHANGED
package/src/context/proof.js
CHANGED
|
@@ -4,10 +4,13 @@ import fileMixins from "../mixins/file";
|
|
|
4
4
|
import loggingMixins from "../mixins/logging";
|
|
5
5
|
import callbacksMixins from "../mixins/callbacks";
|
|
6
6
|
|
|
7
|
+
import { push } from "../utilities/array";
|
|
8
|
+
|
|
7
9
|
class ProofContext {
|
|
8
|
-
constructor(context, derived, assertions) {
|
|
10
|
+
constructor(context, derived, variables, assertions) {
|
|
9
11
|
this.context = context;
|
|
10
12
|
this.derived = derived;
|
|
13
|
+
this.variables = variables;
|
|
11
14
|
this.assertions = assertions;
|
|
12
15
|
}
|
|
13
16
|
|
|
@@ -30,6 +33,26 @@ class ProofContext {
|
|
|
30
33
|
return assertions;
|
|
31
34
|
}
|
|
32
35
|
|
|
36
|
+
getTypes() { return this.context.getTypes(); }
|
|
37
|
+
|
|
38
|
+
getAxioms() { return this.context.getAxioms(); }
|
|
39
|
+
|
|
40
|
+
getCombinators() { return this.context.getCombinators(); }
|
|
41
|
+
|
|
42
|
+
getConstructors() { return this.context.getConstructors(); }
|
|
43
|
+
|
|
44
|
+
getVariables() {
|
|
45
|
+
const variables = [];
|
|
46
|
+
|
|
47
|
+
push(variables, this.variables);
|
|
48
|
+
|
|
49
|
+
const contextVariables = this.context.getVariables();
|
|
50
|
+
|
|
51
|
+
push(variables, contextVariables);
|
|
52
|
+
|
|
53
|
+
return variables;
|
|
54
|
+
}
|
|
55
|
+
|
|
33
56
|
setDerived(derived) {
|
|
34
57
|
if (derived) {
|
|
35
58
|
this.statementNodes.pop();
|
|
@@ -38,6 +61,10 @@ class ProofContext {
|
|
|
38
61
|
this.derived = derived;
|
|
39
62
|
}
|
|
40
63
|
|
|
64
|
+
addVariable(variable) {
|
|
65
|
+
this.variables.push(variable);
|
|
66
|
+
}
|
|
67
|
+
|
|
41
68
|
addAssertion(assertion) {
|
|
42
69
|
this.assertions.push(assertion);
|
|
43
70
|
}
|
|
@@ -63,11 +90,45 @@ class ProofContext {
|
|
|
63
90
|
return assertionMatches;
|
|
64
91
|
}
|
|
65
92
|
|
|
93
|
+
findVariableByVariableName(variableName) {
|
|
94
|
+
const name = variableName, ///
|
|
95
|
+
variables = this.getVariables(),
|
|
96
|
+
variable = variables.find((variable) => {
|
|
97
|
+
const matches = variable.matchName(name);
|
|
98
|
+
|
|
99
|
+
if (matches) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
}) || null;
|
|
103
|
+
|
|
104
|
+
return variable;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
isVariablePresentByVariableName(variableName) {
|
|
108
|
+
const variable = this.findVariableByVariableName(variableName),
|
|
109
|
+
variablePresent = (variable !== null);
|
|
110
|
+
|
|
111
|
+
return variablePresent;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
findTypeByTypeName(typeName) { return this.context.findTypeByTypeName(typeName); }
|
|
115
|
+
|
|
116
|
+
findLabelByTypeName(labelName) { return this.context.findLabelByTypeName(labelName); }
|
|
117
|
+
|
|
118
|
+
findRuleByReferenceName(referenceName) { return this.context.findRuleByReferenceName(referenceName); }
|
|
119
|
+
|
|
120
|
+
findAxiomByReferenceName(referenceName) { return this.context.findAxiomByReferenceName(referenceName); }
|
|
121
|
+
|
|
122
|
+
isLabelPresentByLabelName(labelName) { return this.context.isLabelPresentByLabelName(labelName); }
|
|
123
|
+
|
|
124
|
+
isTypePresentByTypeName(typeName) { return this.context.isTypePresentByTypeName(typeName); }
|
|
125
|
+
|
|
66
126
|
static fromFileContext(fileContext) {
|
|
67
127
|
const context = fileContext, ///
|
|
68
128
|
derived = false,
|
|
129
|
+
variables = [],
|
|
69
130
|
assertions = [],
|
|
70
|
-
proofContext = new ProofContext(context, derived, assertions);
|
|
131
|
+
proofContext = new ProofContext(context, derived, variables, assertions);
|
|
71
132
|
|
|
72
133
|
return proofContext;
|
|
73
134
|
}
|
|
@@ -75,9 +136,10 @@ class ProofContext {
|
|
|
75
136
|
static fromProofContext(proofContext) {
|
|
76
137
|
const context = proofContext, ///
|
|
77
138
|
derived = false,
|
|
139
|
+
variables = [],
|
|
78
140
|
assertions = [];
|
|
79
141
|
|
|
80
|
-
proofContext = new ProofContext(context, derived, assertions);
|
|
142
|
+
proofContext = new ProofContext(context, derived, variables, assertions);
|
|
81
143
|
|
|
82
144
|
return proofContext;
|
|
83
145
|
}
|
|
@@ -31,13 +31,13 @@ export default function verifyTypeAssertion(typeAssertionNode, proofContext) {
|
|
|
31
31
|
values = [],
|
|
32
32
|
context = proofContext, ///
|
|
33
33
|
termNode = termNodeQuery(typeAssertionNode),
|
|
34
|
-
|
|
34
|
+
termVerifiedAsVariable = verifyTermAsVariable(termNode, types, names, values, context);
|
|
35
35
|
|
|
36
|
-
if (
|
|
36
|
+
if (termVerifiedAsVariable) {
|
|
37
37
|
const firstName = first(names),
|
|
38
38
|
firstValue = first(values),
|
|
39
39
|
variableName = firstName, ///
|
|
40
|
-
value = firstValue;
|
|
40
|
+
value = firstValue; ///
|
|
41
41
|
|
|
42
42
|
if (value !== undefined) {
|
|
43
43
|
proofContext.error(`The value of the ${variableName} variable is not undefined.`);
|
package/src/verify/axiom.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Axiom from "../axiom";
|
|
3
4
|
import ProofContext from "../context/proof";
|
|
4
5
|
import verifyUnqualifiedStatement from "../verify/statement/unqualified";
|
|
5
6
|
import verifyIndicativeConditional from "../verify/indicativeConditional";
|
|
@@ -9,7 +10,8 @@ import { nodesAsString } from "../utilities/string";
|
|
|
9
10
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
10
11
|
|
|
11
12
|
const labelNodesQuery = nodesQuery("/axiom/label"),
|
|
12
|
-
statementNodeQuery = nodeQuery("
|
|
13
|
+
statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
14
|
+
statementNodesQuery = nodesQuery("/indicativeConditional/unqualifiedStatement/statement!"),
|
|
13
15
|
unqualifiedStatementNodeQuery = nodeQuery("/axiom/unqualifiedStatement!"),
|
|
14
16
|
indicativeConditionalNodeQuery = nodeQuery("/axiom/indicativeConditional!");
|
|
15
17
|
|
|
@@ -41,15 +43,15 @@ export default function verifyAxiom(axiomNode, fileContext) {
|
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
if (indicativeConditionalNode !== null) {
|
|
44
|
-
const
|
|
45
|
-
indicativeConditionalVerified = verifyIndicativeConditional(indicativeConditionalNode, statementNodes, proofContext);
|
|
46
|
+
const indicativeConditionalVerified = verifyIndicativeConditional(indicativeConditionalNode, proofContext);
|
|
46
47
|
|
|
47
48
|
if (indicativeConditionalVerified !== null) {
|
|
48
49
|
const labels = labelsString, ///
|
|
50
|
+
statementNodes = statementNodesQuery(indicativeConditionalNode),
|
|
49
51
|
firstStatementNode = first(statementNodes),
|
|
50
52
|
secondStatementNode = second(statementNodes),
|
|
51
|
-
suppositionStatementNode = firstStatementNode, ///
|
|
52
53
|
consequentStatementNode = secondStatementNode, ///
|
|
54
|
+
suppositionStatementNode = firstStatementNode, ///
|
|
53
55
|
axiom = Axiom.fromSuppositionStatementNodeConsequentStatementNodeAndLabels(suppositionStatementNode, consequentStatementNode, labels);
|
|
54
56
|
|
|
55
57
|
fileContext.addAxiom(axiom);
|
|
@@ -6,7 +6,7 @@ import { nodesQuery } from "../utilities/query";
|
|
|
6
6
|
|
|
7
7
|
const unqualifiedStatementNodesQuery = nodesQuery("/indicativeConditional/unqualifiedStatement");
|
|
8
8
|
|
|
9
|
-
export default function verifyIndicativeConditional(indicativeConditionalNode,
|
|
9
|
+
export default function verifyIndicativeConditional(indicativeConditionalNode, proofContext) {
|
|
10
10
|
let indicativeConditionalVerified;
|
|
11
11
|
|
|
12
12
|
proofContext.begin(indicativeConditionalNode);
|
package/src/verify/variable.js
CHANGED
|
@@ -38,7 +38,7 @@ export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
if (variable !== null) {
|
|
41
|
-
const variableString = nodeAsString(
|
|
41
|
+
const variableString = nodeAsString(variableNode);
|
|
42
42
|
|
|
43
43
|
fileContext.info(`Verified the '${variableString}' variable.`);
|
|
44
44
|
|