occam-verify-cli 0.0.317 → 0.0.319
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/bin/callbacks.js +27 -0
- package/bin/main.js +2 -5
- package/bin/messages.js +11 -0
- package/bin/utilities/logging.js +2 -10
- package/bin/utilities/release.js +47 -46
- package/lib/callbacks.js +68 -0
- package/lib/context/file.js +58 -81
- package/lib/context/metaproof.js +30 -118
- package/lib/context/proof.js +73 -137
- package/lib/context/release.js +81 -15
- package/lib/index.js +9 -1
- package/lib/mixins/callbacks.js +27 -0
- package/lib/mixins/file.js +23 -0
- package/lib/mixins/logging.js +39 -0
- package/lib/rule.js +3 -3
- package/lib/utilities/verification.js +45 -0
- package/lib/verify/IndicativeConditional.js +9 -5
- package/lib/verify/assertion/type.js +12 -10
- package/lib/verify/axiom.js +10 -14
- package/lib/verify/conclusion.js +5 -3
- package/lib/verify/conditinalInference.js +7 -5
- package/lib/verify/declaration/combinator.js +7 -3
- package/lib/verify/declaration/constructor.js +7 -3
- package/lib/verify/declaration/topLevel.js +11 -9
- package/lib/verify/declaration/type.js +8 -3
- package/lib/verify/declaration/variable.js +7 -3
- package/lib/verify/equality.js +8 -6
- package/lib/verify/file.js +7 -9
- package/lib/verify/label.js +6 -4
- package/lib/verify/labels.js +5 -4
- package/lib/verify/metaDerivation.js +21 -18
- package/lib/verify/metaproof.js +6 -4
- package/lib/verify/metastatement/qualified.js +7 -5
- package/lib/verify/metastatement/unqualified.js +7 -5
- package/lib/verify/premiseOrPremises.js +11 -12
- package/lib/verify/release.js +28 -18
- package/lib/verify/rule.js +11 -14
- package/lib/verify/statement/qualified.js +7 -3
- package/lib/verify/statement/unqualified.js +6 -4
- package/lib/verify/statement.js +8 -10
- package/lib/verify/statementAsCombinator.js +33 -36
- package/lib/verify/term.js +4 -2
- package/lib/verify/termAsConstructor.js +38 -39
- package/lib/verify/termAsVariable.js +4 -2
- package/lib/verify/type.js +18 -14
- package/lib/verify/unconditionalInference.js +5 -3
- package/lib/verify/variable.js +13 -10
- package/package.json +1 -1
- package/src/callbacks.js +27 -0
- package/src/context/file.js +62 -61
- package/src/context/metaproof.js +29 -44
- package/src/context/proof.js +51 -64
- package/src/context/release.js +33 -11
- package/src/index.js +3 -0
- package/src/mixins/callbacks.js +15 -0
- package/src/mixins/file.js +12 -0
- package/src/mixins/logging.js +24 -0
- package/src/rule.js +2 -2
- package/src/utilities/verification.js +41 -0
- package/src/verify/IndicativeConditional.js +18 -9
- package/src/verify/assertion/type.js +15 -8
- package/src/verify/axiom.js +15 -17
- package/src/verify/conclusion.js +8 -2
- package/src/verify/conditinalInference.js +10 -4
- package/src/verify/declaration/combinator.js +12 -3
- package/src/verify/declaration/constructor.js +12 -3
- package/src/verify/declaration/topLevel.js +15 -9
- package/src/verify/declaration/type.js +14 -4
- package/src/verify/declaration/variable.js +12 -3
- package/src/verify/equality.js +11 -4
- package/src/verify/file.js +6 -8
- package/src/verify/label.js +9 -3
- package/src/verify/labels.js +5 -3
- package/src/verify/metaDerivation.js +26 -19
- package/src/verify/metaproof.js +9 -3
- package/src/verify/metastatement/qualified.js +10 -4
- package/src/verify/metastatement/unqualified.js +10 -4
- package/src/verify/premiseOrPremises.js +18 -14
- package/src/verify/release.js +45 -27
- package/src/verify/rule.js +15 -16
- package/src/verify/statement/qualified.js +12 -3
- package/src/verify/statement/unqualified.js +9 -3
- package/src/verify/statement.js +10 -9
- package/src/verify/statementAsCombinator.js +45 -46
- package/src/verify/term.js +7 -1
- package/src/verify/termAsConstructor.js +48 -45
- package/src/verify/termAsVariable.js +7 -1
- package/src/verify/type.js +25 -21
- package/src/verify/unconditionalInference.js +8 -2
- package/src/verify/variable.js +18 -11
- package/lib/mixins/log.js +0 -41
- package/lib/verify/supposition.js +0 -29
- package/src/mixins/log.js +0 -28
- package/src/verify/supposition.js +0 -22
package/lib/context/metaproof.js
CHANGED
|
@@ -5,9 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _file = /*#__PURE__*/ _interopRequireDefault(require("../mixins/file"));
|
|
12
|
+
var _logging = /*#__PURE__*/ _interopRequireDefault(require("../mixins/logging"));
|
|
13
|
+
var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("../mixins/callbacks"));
|
|
11
14
|
function _arrayLikeToArray(arr, len) {
|
|
12
15
|
if (len == null || len > arr.length) len = arr.length;
|
|
13
16
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -35,6 +38,11 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
35
38
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
36
39
|
return Constructor;
|
|
37
40
|
}
|
|
41
|
+
function _interopRequireDefault(obj) {
|
|
42
|
+
return obj && obj.__esModule ? obj : {
|
|
43
|
+
default: obj
|
|
44
|
+
};
|
|
45
|
+
}
|
|
38
46
|
function _iterableToArray(iter) {
|
|
39
47
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
40
48
|
}
|
|
@@ -81,63 +89,15 @@ var MetaproofContext = /*#__PURE__*/ function() {
|
|
|
81
89
|
}
|
|
82
90
|
},
|
|
83
91
|
{
|
|
84
|
-
key: "
|
|
85
|
-
value: function
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
key: "getTypes",
|
|
91
|
-
value: function getTypes() {
|
|
92
|
-
return this.context.getTypes();
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
key: "getAxioms",
|
|
97
|
-
value: function getAxioms() {
|
|
98
|
-
return this.context.getAxioms();
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
key: "getCombinators",
|
|
103
|
-
value: function getCombinators() {
|
|
104
|
-
return this.context.getCombinators();
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: "getConstructors",
|
|
109
|
-
value: function getConstructors() {
|
|
110
|
-
return this.context.getConstructors();
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
key: "findTypeByTypeName",
|
|
115
|
-
value: function findTypeByTypeName(typeName) {
|
|
116
|
-
return this.context.findTypeByTypeName(typeName);
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
key: "findRuleByReferenceName",
|
|
121
|
-
value: function findRuleByReferenceName(referenceName) {
|
|
122
|
-
return this.context.findRuleByReferenceName(referenceName);
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
key: "findVariableByVariableName",
|
|
127
|
-
value: function findVariableByVariableName(variableName) {
|
|
128
|
-
return this.context.findVariableByVariableName(variableName);
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
key: "isLabelPresent",
|
|
133
|
-
value: function isLabelPresent(label) {
|
|
134
|
-
return this.context.isLabelPresent(label);
|
|
92
|
+
key: "setDerived",
|
|
93
|
+
value: function setDerived(derived) {
|
|
94
|
+
this.derived = derived;
|
|
135
95
|
}
|
|
136
96
|
},
|
|
137
97
|
{
|
|
138
|
-
key: "
|
|
139
|
-
value: function
|
|
140
|
-
|
|
98
|
+
key: "addMetaAssertion",
|
|
99
|
+
value: function addMetaAssertion(metaAssertion) {
|
|
100
|
+
this.metaAssertions.push(metaAssertion);
|
|
141
101
|
}
|
|
142
102
|
},
|
|
143
103
|
{
|
|
@@ -156,77 +116,29 @@ var MetaproofContext = /*#__PURE__*/ function() {
|
|
|
156
116
|
}
|
|
157
117
|
return metaAssertionMatches;
|
|
158
118
|
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
key: "isVariablePresentByVariableName",
|
|
162
|
-
value: function isVariablePresentByVariableName(variableName) {
|
|
163
|
-
return this.context.isVariablePresentByVariableName(variableName);
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
key: "setDerived",
|
|
168
|
-
value: function setDerived(derived) {
|
|
169
|
-
this.derived = derived;
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
key: "addRule",
|
|
174
|
-
value: function addRule(rule) {
|
|
175
|
-
this.context.addRule(rule);
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
key: "addMetaAssertion",
|
|
180
|
-
value: function addMetaAssertion(metaAssertion) {
|
|
181
|
-
this.metaAssertions.push(metaAssertion);
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
key: "trace",
|
|
186
|
-
value: function trace(message, node) {
|
|
187
|
-
this.context.trace(message, node);
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
key: "debug",
|
|
192
|
-
value: function debug(message, node) {
|
|
193
|
-
this.context.debug(message, node);
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
key: "info",
|
|
198
|
-
value: function info(message, node) {
|
|
199
|
-
this.context.info(message, node);
|
|
200
|
-
}
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
key: "warning",
|
|
204
|
-
value: function warning(message, node) {
|
|
205
|
-
this.context.warning(message, node);
|
|
206
|
-
}
|
|
207
|
-
},
|
|
119
|
+
}
|
|
120
|
+
], [
|
|
208
121
|
{
|
|
209
|
-
key: "
|
|
210
|
-
value: function
|
|
211
|
-
|
|
122
|
+
key: "fromFileContext",
|
|
123
|
+
value: function fromFileContext(fileContext) {
|
|
124
|
+
var context = fileContext, derived = false, metaAssertions = [], metaproofContext = new MetaproofContext(context, derived, metaAssertions);
|
|
125
|
+
return metaproofContext;
|
|
212
126
|
}
|
|
213
127
|
},
|
|
214
128
|
{
|
|
215
|
-
key: "
|
|
216
|
-
value: function
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
], [
|
|
221
|
-
{
|
|
222
|
-
key: "fromContext",
|
|
223
|
-
value: function fromContext(context) {
|
|
224
|
-
var derived = false, metaAssertions = [], metaproofContext = new MetaproofContext(context, derived, metaAssertions);
|
|
129
|
+
key: "fromMetaproofContext",
|
|
130
|
+
value: function fromMetaproofContext(metaproofContext) {
|
|
131
|
+
var context = metaproofContext, derived = false, metaAssertions = [];
|
|
132
|
+
metaproofContext = new MetaproofContext(context, derived, metaAssertions); ///
|
|
225
133
|
return metaproofContext;
|
|
226
134
|
}
|
|
227
135
|
}
|
|
228
136
|
]);
|
|
229
137
|
return MetaproofContext;
|
|
230
138
|
}();
|
|
139
|
+
Object.assign(MetaproofContext.prototype, _file.default);
|
|
140
|
+
Object.assign(MetaproofContext.prototype, _logging.default);
|
|
141
|
+
Object.assign(MetaproofContext.prototype, _callbacks.default);
|
|
142
|
+
var _default = MetaproofContext;
|
|
231
143
|
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZpbGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9maWxlXCI7XG5pbXBvcnQgbG9nZ2luZ01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2xvZ2dpbmdcIjtcbmltcG9ydCBjYWxsYmFja3NNaXhpbnMgZnJvbSBcIi4uL21peGlucy9jYWxsYmFja3NcIjtcblxuY2xhc3MgTWV0YXByb29mQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIGRlcml2ZWQsIG1ldGFBc3NlcnRpb25zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICAgIHRoaXMubWV0YUFzc2VydGlvbnMgPSBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGlzRGVyaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZXJpdmVkO1xuICB9XG5cbiAgZ2V0TWV0YUFzc2VydGlvbnMoKSB7XG4gICAgbGV0IG1ldGFBc3NlcnRpb25zID0gdGhpcy5jb250ZXh0LmdldE1ldGFBc3NlcnRpb25zKCk7XG5cbiAgICBtZXRhQXNzZXJ0aW9ucyA9IFsgIC8vL1xuICAgICAgLi4ubWV0YUFzc2VydGlvbnMsXG4gICAgICAuLi50aGlzLm1ldGFBc3NlcnRpb25zXG4gICAgXTtcblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIHNldERlcml2ZWQoZGVyaXZlZCkge1xuICAgIHRoaXMuZGVyaXZlZCA9IGRlcml2ZWQ7XG4gIH1cblxuICBhZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pIHtcbiAgICB0aGlzLm1ldGFBc3NlcnRpb25zLnB1c2gobWV0YUFzc2VydGlvbik7XG4gIH1cblxuICBtYXRjaE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbikge1xuICAgIGxldCBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGFBc3NlcnRpb25CID0gbWV0YUFzc2VydGlvbjsgLy8vXG5cbiAgICBtZXRhQXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMubWV0YUFzc2VydGlvbnMuc29tZSgobWV0YUFzc2VydGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbkEgPSBtZXRhQXNzZXJ0aW9uLCAvLy9cbiAgICAgICAgICAgIG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uQS5tYXRjaChtZXRhQXNzZXJ0aW9uQik7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFtZXRhQXNzZXJ0aW9uTWF0Y2hlcykge1xuICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgbWV0YUFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpO1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZkNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFwcm9vZkNvbnRleHQobWV0YXByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBtZXRhcHJvb2ZDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25zID0gW107XG5cbiAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXByb29mQ29udGV4dDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE1ldGFwcm9vZkNvbnRleHQucHJvdG90eXBlLCBmaWxlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oTWV0YXByb29mQ29udGV4dC5wcm90b3R5cGUsIGxvZ2dpbmdNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihNZXRhcHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgY2FsbGJhY2tzTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXByb29mQ29udGV4dDsiXSwibmFtZXMiOlsiTWV0YXByb29mQ29udGV4dCIsImNvbnRleHQiLCJkZXJpdmVkIiwibWV0YUFzc2VydGlvbnMiLCJnZXRDb250ZXh0IiwiaXNEZXJpdmVkIiwiZ2V0TWV0YUFzc2VydGlvbnMiLCJzZXREZXJpdmVkIiwiYWRkTWV0YUFzc2VydGlvbiIsIm1ldGFBc3NlcnRpb24iLCJwdXNoIiwibWF0Y2hNZXRhQXNzZXJ0aW9uIiwibWV0YUFzc2VydGlvbk1hdGNoZXMiLCJtZXRhQXNzZXJ0aW9uQiIsInNvbWUiLCJtZXRhQXNzZXJ0aW9uQSIsIm1hdGNoZXMiLCJtYXRjaCIsImZyb21GaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwibWV0YXByb29mQ29udGV4dCIsImZyb21NZXRhcHJvb2ZDb250ZXh0IiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZmlsZU1peGlucyIsImxvZ2dpbmdNaXhpbnMiLCJjYWxsYmFja3NNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXFGQTs7O2VBQUE7Ozt5REFuRnVCOzREQUNHOzhEQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/context/proof.js
CHANGED
|
@@ -5,9 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _file = /*#__PURE__*/ _interopRequireDefault(require("../mixins/file"));
|
|
12
|
+
var _logging = /*#__PURE__*/ _interopRequireDefault(require("../mixins/logging"));
|
|
13
|
+
var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("../mixins/callbacks"));
|
|
14
|
+
function _arrayLikeToArray(arr, len) {
|
|
15
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
16
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
17
|
+
return arr2;
|
|
18
|
+
}
|
|
19
|
+
function _arrayWithoutHoles(arr) {
|
|
20
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
21
|
+
}
|
|
11
22
|
function _classCallCheck(instance, Constructor) {
|
|
12
23
|
if (!(instance instanceof Constructor)) {
|
|
13
24
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -27,13 +38,34 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
27
38
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
39
|
return Constructor;
|
|
29
40
|
}
|
|
41
|
+
function _interopRequireDefault(obj) {
|
|
42
|
+
return obj && obj.__esModule ? obj : {
|
|
43
|
+
default: obj
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function _iterableToArray(iter) {
|
|
47
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
48
|
+
}
|
|
49
|
+
function _nonIterableSpread() {
|
|
50
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
51
|
+
}
|
|
52
|
+
function _toConsumableArray(arr) {
|
|
53
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
54
|
+
}
|
|
55
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
56
|
+
if (!o) return;
|
|
57
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
58
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
59
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
60
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
61
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
62
|
+
}
|
|
30
63
|
var ProofContext = /*#__PURE__*/ function() {
|
|
31
|
-
function ProofContext(context, derived,
|
|
64
|
+
function ProofContext(context, derived, assertions) {
|
|
32
65
|
_classCallCheck(this, ProofContext);
|
|
33
66
|
this.context = context;
|
|
34
67
|
this.derived = derived;
|
|
35
|
-
this.
|
|
36
|
-
this.statementNodes = statementNodes;
|
|
68
|
+
this.assertions = assertions;
|
|
37
69
|
}
|
|
38
70
|
_createClass(ProofContext, [
|
|
39
71
|
{
|
|
@@ -49,88 +81,11 @@ var ProofContext = /*#__PURE__*/ function() {
|
|
|
49
81
|
}
|
|
50
82
|
},
|
|
51
83
|
{
|
|
52
|
-
key: "
|
|
53
|
-
value: function
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
key: "getStatementNodes",
|
|
59
|
-
value: function getStatementNodes() {
|
|
60
|
-
return this.statementNodes;
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
key: "getRules",
|
|
65
|
-
value: function getRules() {
|
|
66
|
-
return this.context.getRules();
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
key: "getTypes",
|
|
71
|
-
value: function getTypes() {
|
|
72
|
-
return this.context.getTypes();
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
key: "getAxioms",
|
|
77
|
-
value: function getAxioms() {
|
|
78
|
-
return this.context.getAxioms();
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
key: "getCombinators",
|
|
83
|
-
value: function getCombinators() {
|
|
84
|
-
return this.context.getCombinators();
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
key: "getConstructors",
|
|
89
|
-
value: function getConstructors() {
|
|
90
|
-
return this.context.getConstructors();
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
key: "findTypeByTypeName",
|
|
95
|
-
value: function findTypeByTypeName(typeName) {
|
|
96
|
-
return this.context.findTypeByTypeName(typeName);
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
key: "findRuleByReferenceName",
|
|
101
|
-
value: function findRuleByReferenceName(referenceName) {
|
|
102
|
-
return this.context.findRuleByReferenceName(referenceName);
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
key: "findVariableByVariableName",
|
|
107
|
-
value: function findVariableByVariableName(variableName) {
|
|
108
|
-
var name = variableName, variable = this.variables.find(function(variable) {
|
|
109
|
-
var matches = variable.matchName(name);
|
|
110
|
-
if (matches) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
}) || this.context.findVariableByVariableName(variableName); ///
|
|
114
|
-
return variable;
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
key: "isLabelPresent",
|
|
119
|
-
value: function isLabelPresent(label) {
|
|
120
|
-
return this.context.isLabelPresent(label);
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
key: "isTypePresentByTypeName",
|
|
125
|
-
value: function isTypePresentByTypeName(typeName) {
|
|
126
|
-
return this.context.isTypePresentByTypeName(typeName);
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
key: "isVariablePresentByVariableName",
|
|
131
|
-
value: function isVariablePresentByVariableName(variableName) {
|
|
132
|
-
var variable = this.findVariableByVariableName(variableName), variablePresent = variable !== null;
|
|
133
|
-
return variablePresent;
|
|
84
|
+
key: "getAssertions",
|
|
85
|
+
value: function getAssertions() {
|
|
86
|
+
var assertions = this.context.getAssertions();
|
|
87
|
+
assertions = _toConsumableArray(assertions).concat(_toConsumableArray(this.assertions));
|
|
88
|
+
return assertions;
|
|
134
89
|
}
|
|
135
90
|
},
|
|
136
91
|
{
|
|
@@ -143,69 +98,50 @@ var ProofContext = /*#__PURE__*/ function() {
|
|
|
143
98
|
}
|
|
144
99
|
},
|
|
145
100
|
{
|
|
146
|
-
key: "
|
|
147
|
-
value: function
|
|
148
|
-
this.
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
key: "addVariable",
|
|
153
|
-
value: function addVariable(variable) {
|
|
154
|
-
this.variables.push(variable);
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
key: "addStatementNode",
|
|
159
|
-
value: function addStatementNode(statementNode) {
|
|
160
|
-
this.statementNodes.push(statementNode);
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
key: "trace",
|
|
165
|
-
value: function trace(message, node) {
|
|
166
|
-
this.context.trace(message, node);
|
|
101
|
+
key: "addAssertion",
|
|
102
|
+
value: function addAssertion(assertion) {
|
|
103
|
+
this.assertions.push(assertion);
|
|
167
104
|
}
|
|
168
105
|
},
|
|
169
106
|
{
|
|
170
|
-
key: "
|
|
171
|
-
value: function
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
this.context.warning(message, node);
|
|
107
|
+
key: "matchAssertion",
|
|
108
|
+
value: function matchAssertion(assertion) {
|
|
109
|
+
var assertionMatches;
|
|
110
|
+
var assertionB = assertion; ///
|
|
111
|
+
assertionMatches = this.assertions.some(function(assertion) {
|
|
112
|
+
var assertionA = assertion, matches = assertionA.match(assertionB);
|
|
113
|
+
if (matches) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
if (!assertionMatches) {
|
|
118
|
+
assertionMatches = this.context.matchAssertion(assertion);
|
|
119
|
+
}
|
|
120
|
+
return assertionMatches;
|
|
185
121
|
}
|
|
186
|
-
}
|
|
122
|
+
}
|
|
123
|
+
], [
|
|
187
124
|
{
|
|
188
|
-
key: "
|
|
189
|
-
value: function
|
|
190
|
-
|
|
125
|
+
key: "fromFileContext",
|
|
126
|
+
value: function fromFileContext(fileContext) {
|
|
127
|
+
var context = fileContext, derived = false, assertions = [], proofContext = new ProofContext(context, derived, assertions);
|
|
128
|
+
return proofContext;
|
|
191
129
|
}
|
|
192
130
|
},
|
|
193
131
|
{
|
|
194
|
-
key: "
|
|
195
|
-
value: function
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
], [
|
|
200
|
-
{
|
|
201
|
-
key: "fromContext",
|
|
202
|
-
value: function fromContext(context) {
|
|
203
|
-
var derived = false, variables = [], statementNodes = [], proofContext = new ProofContext(context, derived, variables, statementNodes);
|
|
132
|
+
key: "fromProofContext",
|
|
133
|
+
value: function fromProofContext(proofContext) {
|
|
134
|
+
var context = proofContext, derived = false, assertions = [];
|
|
135
|
+
proofContext = new ProofContext(context, derived, assertions); ///
|
|
204
136
|
return proofContext;
|
|
205
137
|
}
|
|
206
138
|
}
|
|
207
139
|
]);
|
|
208
140
|
return ProofContext;
|
|
209
141
|
}();
|
|
142
|
+
Object.assign(ProofContext.prototype, _file.default);
|
|
143
|
+
Object.assign(ProofContext.prototype, _logging.default);
|
|
144
|
+
Object.assign(ProofContext.prototype, _callbacks.default);
|
|
145
|
+
var _default = ProofContext;
|
|
210
146
|
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3Byb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZmlsZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2ZpbGVcIjtcbmltcG9ydCBsb2dnaW5nTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbG9nZ2luZ1wiO1xuaW1wb3J0IGNhbGxiYWNrc01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2NhbGxiYWNrc1wiO1xuXG5jbGFzcyBQcm9vZkNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBkZXJpdmVkLCBhc3NlcnRpb25zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICAgIHRoaXMuYXNzZXJ0aW9ucyA9IGFzc2VydGlvbnM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBpc0Rlcml2ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVyaXZlZDtcbiAgfVxuXG4gIGdldEFzc2VydGlvbnMoKSB7XG4gICAgbGV0IGFzc2VydGlvbnMgPSB0aGlzLmNvbnRleHQuZ2V0QXNzZXJ0aW9ucygpO1xuXG4gICAgYXNzZXJ0aW9ucyA9IFtcbiAgICAgIC4uLmFzc2VydGlvbnMsXG4gICAgICAuLi50aGlzLmFzc2VydGlvbnNcbiAgICBdO1xuXG4gICAgcmV0dXJuIGFzc2VydGlvbnM7XG4gIH1cblxuICBzZXREZXJpdmVkKGRlcml2ZWQpIHtcbiAgICBpZiAoZGVyaXZlZCkge1xuICAgICAgdGhpcy5zdGF0ZW1lbnROb2Rlcy5wb3AoKTtcbiAgICB9XG5cbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICB9XG5cbiAgYWRkQXNzZXJ0aW9uKGFzc2VydGlvbikge1xuICAgIHRoaXMuYXNzZXJ0aW9ucy5wdXNoKGFzc2VydGlvbik7XG4gIH1cblxuICBtYXRjaEFzc2VydGlvbihhc3NlcnRpb24pIHtcbiAgICBsZXQgYXNzZXJ0aW9uTWF0Y2hlcztcblxuICAgIGNvbnN0IGFzc2VydGlvbkIgPSBhc3NlcnRpb247IC8vL1xuXG4gICAgYXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMuYXNzZXJ0aW9ucy5zb21lKChhc3NlcnRpb24pID0+IHtcbiAgICAgIGNvbnN0IGFzc2VydGlvbkEgPSBhc3NlcnRpb24sIC8vL1xuICAgICAgICAgICAgbWF0Y2hlcyA9IGFzc2VydGlvbkEubWF0Y2goYXNzZXJ0aW9uQik7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhc3NlcnRpb25NYXRjaGVzKSB7XG4gICAgICBhc3NlcnRpb25NYXRjaGVzID0gdGhpcy5jb250ZXh0Lm1hdGNoQXNzZXJ0aW9uKGFzc2VydGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2VydGlvbk1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIGFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBwcm9vZkNvbnRleHQgPSBuZXcgUHJvb2ZDb250ZXh0KGNvbnRleHQsIGRlcml2ZWQsIGFzc2VydGlvbnMpO1xuXG4gICAgcmV0dXJuIHByb29mQ29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJvb2ZDb250ZXh0KHByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBwcm9vZkNvbnRleHQsICAvLy9cbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzZXJ0aW9ucyA9IFtdO1xuXG4gICAgcHJvb2ZDb250ZXh0ID0gbmV3IFByb29mQ29udGV4dChjb250ZXh0LCBkZXJpdmVkLCBhc3NlcnRpb25zKTsgIC8vL1xuXG4gICAgcmV0dXJuIHByb29mQ29udGV4dDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKFByb29mQ29udGV4dC5wcm90b3R5cGUsIGZpbGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihQcm9vZkNvbnRleHQucHJvdG90eXBlLCBsb2dnaW5nTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oUHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgY2FsbGJhY2tzTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgUHJvb2ZDb250ZXh0O1xuIl0sIm5hbWVzIjpbIlByb29mQ29udGV4dCIsImNvbnRleHQiLCJkZXJpdmVkIiwiYXNzZXJ0aW9ucyIsImdldENvbnRleHQiLCJpc0Rlcml2ZWQiLCJnZXRBc3NlcnRpb25zIiwic2V0RGVyaXZlZCIsInN0YXRlbWVudE5vZGVzIiwicG9wIiwiYWRkQXNzZXJ0aW9uIiwiYXNzZXJ0aW9uIiwicHVzaCIsIm1hdGNoQXNzZXJ0aW9uIiwiYXNzZXJ0aW9uTWF0Y2hlcyIsImFzc2VydGlvbkIiLCJzb21lIiwiYXNzZXJ0aW9uQSIsIm1hdGNoZXMiLCJtYXRjaCIsImZyb21GaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwicHJvb2ZDb250ZXh0IiwiZnJvbVByb29mQ29udGV4dCIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImZpbGVNaXhpbnMiLCJsb2dnaW5nTWl4aW5zIiwiY2FsbGJhY2tzTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5RkE7OztlQUFBOzs7eURBdkZ1Qjs0REFDRzs4REFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsSUFBQSxBQUFNQSw2QkErRUgsQUEvRUg7YUFBTUEsYUFDUUMsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7OEJBRHBDSDtRQUVGLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7aUJBSmhCSDs7WUFPSkksS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWE7Z0JBQ1gsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixPQUFPLElBQUksQ0FBQ0gsT0FBTztZQUNyQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxnQkFBZ0I7Z0JBQ2QsSUFBSUgsYUFBYSxJQUFJLENBQUNGLE9BQU8sQ0FBQ0ssYUFBYTtnQkFFM0NILGFBQWEsQUFDWCxtQkFBR0EsbUJBQ0gsbUJBQUcsSUFBSSxDQUFDQSxVQUFVO2dCQUdwQixPQUFPQTtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdMLE9BQU8sRUFBRTtnQkFDbEIsSUFBSUEsU0FBUztvQkFDWCxJQUFJLENBQUNNLGNBQWMsQ0FBQ0MsR0FBRztnQkFDekIsQ0FBQztnQkFFRCxJQUFJLENBQUNQLE9BQU8sR0FBR0E7WUFDakI7OztZQUVBUSxLQUFBQTttQkFBQUEsU0FBQUEsYUFBYUMsU0FBUyxFQUFFO2dCQUN0QixJQUFJLENBQUNSLFVBQVUsQ0FBQ1MsSUFBSSxDQUFDRDtZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlRixTQUFTLEVBQUU7Z0JBQ3hCLElBQUlHO2dCQUVKLElBQU1DLGFBQWFKLFdBQVcsR0FBRztnQkFFakNHLG1CQUFtQixJQUFJLENBQUNYLFVBQVUsQ0FBQ2EsSUFBSSxDQUFDLFNBQUNMLFdBQWM7b0JBQ3JELElBQU1NLGFBQWFOLFdBQ2JPLFVBQVVELFdBQVdFLEtBQUssQ0FBQ0o7b0JBRWpDLElBQUlHLFNBQVM7d0JBQ1gsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsSUFBSSxDQUFDSixrQkFBa0I7b0JBQ3JCQSxtQkFBbUIsSUFBSSxDQUFDYixPQUFPLENBQUNZLGNBQWMsQ0FBQ0Y7Z0JBQ2pELENBQUM7Z0JBRUQsT0FBT0c7WUFDVDs7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSxnQkFBZ0JDLFdBQVcsRUFBRTtnQkFDbEMsSUFBTXBCLFVBQVVvQixhQUNWbkIsVUFBVSxLQUFLLEVBQ2ZDLGFBQWEsRUFBRSxFQUNmbUIsZUFBZSxJQS9EbkJ0QixhQStEb0NDLFNBQVNDLFNBQVNDO2dCQUV4RCxPQUFPbUI7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQkQsWUFBWSxFQUFFO2dCQUNwQyxJQUFNckIsVUFBVXFCLGNBQ1ZwQixVQUFVLEtBQUssRUFDZkMsYUFBYSxFQUFFO2dCQUVyQm1CLGVBQWUsSUF6RWJ0QixhQXlFOEJDLFNBQVNDLFNBQVNDLGFBQWMsR0FBRztnQkFFbkUsT0FBT21CO1lBQ1Q7OztXQTVFSXRCOztBQStFTndCLE9BQU9DLE1BQU0sQ0FBQ3pCLGFBQWEwQixTQUFTLEVBQUVDLGFBQVU7QUFDaERILE9BQU9DLE1BQU0sQ0FBQ3pCLGFBQWEwQixTQUFTLEVBQUVFLGdCQUFhO0FBQ25ESixPQUFPQyxNQUFNLENBQUN6QixhQUFhMEIsU0FBUyxFQUFFRyxrQkFBZTtJQUVyRCxXQUFlN0IifQ==
|