occam-verify-cli 1.0.633 → 1.0.635
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/nominal.js +9 -1
- package/lib/element/conclusion.js +156 -19
- package/lib/element/deduction.js +156 -19
- package/lib/element/hypothesis.js +158 -21
- package/lib/element/section.js +31 -18
- package/lib/element/subDerivation.js +170 -15
- package/lib/element/subproof.js +194 -18
- package/package.json +4 -4
- package/src/context/nominal.js +8 -0
- package/src/element/conclusion.js +3 -1
- package/src/element/deduction.js +3 -1
- package/src/element/hypothesis.js +3 -1
- package/src/element/section.js +1 -1
- package/src/element/subDerivation.js +8 -7
- package/src/element/subproof.js +9 -7
package/lib/element/subproof.js
CHANGED
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _occamlanguages = require("occam-languages");
|
|
12
|
-
var _context = require("../utilities/context");
|
|
13
12
|
var _elements = require("../elements");
|
|
13
|
+
var _context = require("../utilities/context");
|
|
14
14
|
function _array_like_to_array(arr, len) {
|
|
15
15
|
if (len == null || len > arr.length) len = arr.length;
|
|
16
16
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -25,6 +25,35 @@ function _assert_this_initialized(self) {
|
|
|
25
25
|
}
|
|
26
26
|
return self;
|
|
27
27
|
}
|
|
28
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
29
|
+
try {
|
|
30
|
+
var info = gen[key](arg);
|
|
31
|
+
var value = info.value;
|
|
32
|
+
} catch (error) {
|
|
33
|
+
reject(error);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (info.done) {
|
|
37
|
+
resolve(value);
|
|
38
|
+
} else {
|
|
39
|
+
Promise.resolve(value).then(_next, _throw);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function _async_to_generator(fn) {
|
|
43
|
+
return function() {
|
|
44
|
+
var self = this, args = arguments;
|
|
45
|
+
return new Promise(function(resolve, reject) {
|
|
46
|
+
var gen = fn.apply(self, args);
|
|
47
|
+
function _next(value) {
|
|
48
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
49
|
+
}
|
|
50
|
+
function _throw(err) {
|
|
51
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
52
|
+
}
|
|
53
|
+
_next(undefined);
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
}
|
|
28
57
|
function _call_super(_this, derived, args) {
|
|
29
58
|
derived = _get_prototype_of(derived);
|
|
30
59
|
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
@@ -168,7 +197,99 @@ function _is_native_reflect_construct() {
|
|
|
168
197
|
return !!result;
|
|
169
198
|
})();
|
|
170
199
|
}
|
|
200
|
+
function _ts_generator(thisArg, body) {
|
|
201
|
+
var f, y, t, _ = {
|
|
202
|
+
label: 0,
|
|
203
|
+
sent: function() {
|
|
204
|
+
if (t[0] & 1) throw t[1];
|
|
205
|
+
return t[1];
|
|
206
|
+
},
|
|
207
|
+
trys: [],
|
|
208
|
+
ops: []
|
|
209
|
+
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
210
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
211
|
+
return this;
|
|
212
|
+
}), g;
|
|
213
|
+
function verb(n) {
|
|
214
|
+
return function(v) {
|
|
215
|
+
return step([
|
|
216
|
+
n,
|
|
217
|
+
v
|
|
218
|
+
]);
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function step(op) {
|
|
222
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
223
|
+
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
224
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
225
|
+
if (y = 0, t) op = [
|
|
226
|
+
op[0] & 2,
|
|
227
|
+
t.value
|
|
228
|
+
];
|
|
229
|
+
switch(op[0]){
|
|
230
|
+
case 0:
|
|
231
|
+
case 1:
|
|
232
|
+
t = op;
|
|
233
|
+
break;
|
|
234
|
+
case 4:
|
|
235
|
+
_.label++;
|
|
236
|
+
return {
|
|
237
|
+
value: op[1],
|
|
238
|
+
done: false
|
|
239
|
+
};
|
|
240
|
+
case 5:
|
|
241
|
+
_.label++;
|
|
242
|
+
y = op[1];
|
|
243
|
+
op = [
|
|
244
|
+
0
|
|
245
|
+
];
|
|
246
|
+
continue;
|
|
247
|
+
case 7:
|
|
248
|
+
op = _.ops.pop();
|
|
249
|
+
_.trys.pop();
|
|
250
|
+
continue;
|
|
251
|
+
default:
|
|
252
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
253
|
+
_ = 0;
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
257
|
+
_.label = op[1];
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
261
|
+
_.label = t[1];
|
|
262
|
+
t = op;
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
if (t && _.label < t[2]) {
|
|
266
|
+
_.label = t[2];
|
|
267
|
+
_.ops.push(op);
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
if (t[2]) _.ops.pop();
|
|
271
|
+
_.trys.pop();
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
op = body.call(thisArg, _);
|
|
275
|
+
} catch (e) {
|
|
276
|
+
op = [
|
|
277
|
+
6,
|
|
278
|
+
e
|
|
279
|
+
];
|
|
280
|
+
y = 0;
|
|
281
|
+
} finally{
|
|
282
|
+
f = t = 0;
|
|
283
|
+
}
|
|
284
|
+
if (op[0] & 5) throw op[1];
|
|
285
|
+
return {
|
|
286
|
+
value: op[0] ? op[1] : void 0,
|
|
287
|
+
done: true
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
171
291
|
var _Subproof;
|
|
292
|
+
var asyncEvery = _occamlanguages.asynchronousUtilities.asyncEvery;
|
|
172
293
|
var _default = (0, _elements.define)((_Subproof = /*#__PURE__*/ function(Element) {
|
|
173
294
|
_inherits(Subproof, Element);
|
|
174
295
|
function Subproof(context, string, node, suppositions, subDerivation) {
|
|
@@ -230,24 +351,79 @@ var _default = (0, _elements.define)((_Subproof = /*#__PURE__*/ function(Element
|
|
|
230
351
|
},
|
|
231
352
|
{
|
|
232
353
|
key: "verify",
|
|
233
|
-
value: function verify(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
354
|
+
value: function verify(assignments, context) {
|
|
355
|
+
return _async_to_generator(function() {
|
|
356
|
+
var _this, verifies;
|
|
357
|
+
return _ts_generator(this, function(_state) {
|
|
358
|
+
switch(_state.label){
|
|
359
|
+
case 0:
|
|
360
|
+
_this = this;
|
|
361
|
+
verifies = false;
|
|
362
|
+
return [
|
|
363
|
+
4,
|
|
364
|
+
(0, _context.asyncScope)(function() {
|
|
365
|
+
return _async_to_generator(function() {
|
|
366
|
+
var suppositionsVerify, subDerivationVerifies;
|
|
367
|
+
return _ts_generator(this, function(_state) {
|
|
368
|
+
switch(_state.label){
|
|
369
|
+
case 0:
|
|
370
|
+
suppositionsVerify = asyncEvery(this.suppositions, function(supposition) {
|
|
371
|
+
return _async_to_generator(function() {
|
|
372
|
+
var suppositionVerifies;
|
|
373
|
+
return _ts_generator(this, function(_state) {
|
|
374
|
+
switch(_state.label){
|
|
375
|
+
case 0:
|
|
376
|
+
return [
|
|
377
|
+
4,
|
|
378
|
+
supposition.verify(assignments, context)
|
|
379
|
+
];
|
|
380
|
+
case 1:
|
|
381
|
+
suppositionVerifies = _state.sent();
|
|
382
|
+
if (suppositionVerifies) {
|
|
383
|
+
return [
|
|
384
|
+
2,
|
|
385
|
+
true
|
|
386
|
+
];
|
|
387
|
+
}
|
|
388
|
+
return [
|
|
389
|
+
2
|
|
390
|
+
];
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
})();
|
|
394
|
+
});
|
|
395
|
+
if (!suppositionsVerify) return [
|
|
396
|
+
3,
|
|
397
|
+
2
|
|
398
|
+
];
|
|
399
|
+
return [
|
|
400
|
+
4,
|
|
401
|
+
this.subDerivation.verify(context)
|
|
402
|
+
];
|
|
403
|
+
case 1:
|
|
404
|
+
subDerivationVerifies = _state.sent();
|
|
405
|
+
if (subDerivationVerifies) {
|
|
406
|
+
verifies = true;
|
|
407
|
+
}
|
|
408
|
+
_state.label = 2;
|
|
409
|
+
case 2:
|
|
410
|
+
return [
|
|
411
|
+
2
|
|
412
|
+
];
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
}).call(_this);
|
|
416
|
+
}, context)
|
|
417
|
+
];
|
|
418
|
+
case 1:
|
|
419
|
+
_state.sent();
|
|
420
|
+
return [
|
|
421
|
+
2,
|
|
422
|
+
verifies
|
|
423
|
+
];
|
|
241
424
|
}
|
|
242
425
|
});
|
|
243
|
-
|
|
244
|
-
var subDerivationVerifies = _this.subDerivation.verify(substitutions, context);
|
|
245
|
-
if (subDerivationVerifies) {
|
|
246
|
-
verifies = true;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}, context);
|
|
250
|
-
return verifies;
|
|
426
|
+
}).call(this);
|
|
251
427
|
}
|
|
252
428
|
},
|
|
253
429
|
{
|
|
@@ -286,4 +462,4 @@ var _default = (0, _elements.define)((_Subproof = /*#__PURE__*/ function(Element
|
|
|
286
462
|
return Subproof;
|
|
287
463
|
}(_wrap_native_super(_occamlanguages.Element)), _define_property(_Subproof, "name", "Subproof"), _Subproof));
|
|
288
464
|
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
465
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3N1YnByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgYXN5bmNTY29wZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCB7IGFzeW5jRXZlcnkgfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFN1YnByb29mIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgc3VwcG9zaXRpb25zLCBzdWJEZXJpdmF0aW9uKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlKTtcblxuICAgIHRoaXMuc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zO1xuICAgIHRoaXMuc3ViRGVyaXZhdGlvbiA9IHN1YkRlcml2YXRpb247XG4gIH1cblxuICBnZXRTdXBwb3NpdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25zO1xuICB9XG5cbiAgZ2V0U3ViRGVyaXZhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJEZXJpdmF0aW9uO1xuICB9XG5cbiAgZ2V0U3VicHJvb2ZOb2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBzdWJwcm9vZk5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICByZXR1cm4gc3VicHJvb2ZOb2RlO1xuICB9XG5cbiAgZ2V0TGFzdFByb29mQXNzZXJ0aW9uKCkgeyByZXR1cm4gdGhpcy5zdWJEZXJpdmF0aW9uLmdldExhc3RQcm9vZkFzc2VydGlvbigpOyB9XG5cbiAgZ2V0U3RhdGVtZW50cygpIHtcbiAgICBjb25zdCBsYXN0UHJvb2ZBc3NlcnRpb24gPSB0aGlzLmdldExhc3RQcm9vZkFzc2VydGlvbigpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50cyA9IHRoaXMuc3VwcG9zaXRpb25zLm1hcCgoc3VwcG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50ID0gc3VwcG9zaXRpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvblN0YXRlbWVudDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBsYXN0UHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnQgPSBsYXN0UHJvb2ZBc3NlcnRpb24uZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgc3RhdGVtZW50cyA9IFtcbiAgICAgICAgICAgIC4uLnN1cHBvc2l0aW9uU3RhdGVtZW50cyxcbiAgICAgICAgICAgIGxhc3RQcm9vZkFzc2VydGlvblN0YXRlbWVudFxuICAgICAgICAgIF07XG5cbiAgICByZXR1cm4gc3RhdGVtZW50cztcbiAgfVxuXG4gIGlzUHJvb2ZBc3NlcnRpb24oKSB7XG4gICAgY29uc3QgcHJvb2ZBc3NlcnRpb24gPSBmYWxzZTtcblxuICAgIHJldHVybiBwcm9vZkFzc2VydGlvbjtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeShhc3NpZ25tZW50cywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgYXdhaXQgYXN5bmNTY29wZShhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBzdXBwb3NpdGlvbnNWZXJpZnkgPSBhc3luY0V2ZXJ5KHRoaXMuc3VwcG9zaXRpb25zLCBhc3luYyAoc3VwcG9zaXRpb24pID0+IHtcbiAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllcyA9IGF3YWl0IHN1cHBvc2l0aW9uLnZlcmlmeShhc3NpZ25tZW50cywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN1cHBvc2l0aW9uVmVyaWZpZXMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZnkpIHtcbiAgICAgICAgY29uc3Qgc3ViRGVyaXZhdGlvblZlcmlmaWVzID0gYXdhaXQgdGhpcy5zdWJEZXJpdmF0aW9uLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgICBpZiAoc3ViRGVyaXZhdGlvblZlcmlmaWVzKSB7XG4gICAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICBjb21wYXJlU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZXMgPSBmYWxzZTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uKHNhdGlzZmllc0Fzc2VydGlvbiwgY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbiA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmcgPSBzYXRpc2ZpZXNBc3NlcnRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLi4uYClcblxuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHNhdGlzZmllc0Fzc2VydGlvbi5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgICBheGlvbSA9IGNvbnRleHQuZmluZEF4aW9tQnlSZWZlcmVuY2UocmVmZXJlbmNlKTtcblxuICAgIGlmIChheGlvbSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYXhpb21TYXRpc2ZpYWJsZSA9IGF4aW9tLmlzU2F0aXNmaWFibGUoKTtcblxuICAgICAgaWYgKGF4aW9tU2F0aXNmaWFibGUpIHtcbiAgICAgICAgY29uc3Qgc3VicHJvb2YgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IGF4aW9tLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uc0NvbXBhcmUgPSBzYXRpc2ZpZXNBc3NlcnRpb24uY29tcGFyZVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICAgICAgICBpZiAoc3Vic3RpdHV0aW9uc0NvbXBhcmUpIHtcbiAgICAgICAgICAgIHVuaWZpZXNXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb24pIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgJyR7c2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nfScgc2F0aXNmaWVzIGFzc2VydGlvbi5gKVxuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTdWJwcm9vZlwiO1xufSk7XG4iXSwibmFtZXMiOlsiYXN5bmNFdmVyeSIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImRlZmluZSIsIlN1YnByb29mIiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJzdXBwb3NpdGlvbnMiLCJzdWJEZXJpdmF0aW9uIiwiZ2V0U3VwcG9zaXRpb25zIiwiZ2V0U3ViRGVyaXZhdGlvbiIsImdldFN1YnByb29mTm9kZSIsImdldE5vZGUiLCJzdWJwcm9vZk5vZGUiLCJnZXRMYXN0UHJvb2ZBc3NlcnRpb24iLCJnZXRTdGF0ZW1lbnRzIiwibGFzdFByb29mQXNzZXJ0aW9uIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRzIiwibWFwIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvblN0YXRlbWVudCIsImdldFN0YXRlbWVudCIsImxhc3RQcm9vZkFzc2VydGlvblN0YXRlbWVudCIsInN0YXRlbWVudHMiLCJpc1Byb29mQXNzZXJ0aW9uIiwicHJvb2ZBc3NlcnRpb24iLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInZlcmlmaWVzIiwiYXN5bmNTY29wZSIsInN1cHBvc2l0aW9uc1ZlcmlmeSIsInN1YkRlcml2YXRpb25WZXJpZmllcyIsInN1cHBvc2l0aW9uVmVyaWZpZXMiLCJjb21wYXJlU3RhdGVtZW50Iiwic3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllcyIsInVuaWZ5V2l0aFNhdGlzZmllc0Fzc2VydGlvbiIsInNhdGlzZmllc0Fzc2VydGlvbiIsInVuaWZpZXNXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uIiwic3VicHJvb2ZTdHJpbmciLCJnZXRTdHJpbmciLCJzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmciLCJ0cmFjZSIsInJlZmVyZW5jZSIsImdldFJlZmVyZW5jZSIsImF4aW9tIiwiZmluZEF4aW9tQnlSZWZlcmVuY2UiLCJheGlvbVNhdGlzZmlhYmxlIiwiaXNTYXRpc2ZpYWJsZSIsInN1YnByb29mIiwic3Vic3RpdHV0aW9ucyIsInVuaWZ5U3VicHJvb2YiLCJzdWJzdGl0dXRpb25zQ29tcGFyZSIsImNvbXBhcmVTdWJzdGl0dXRpb25zIiwiZGVidWciLCJFbGVtZW50IiwibmFtZSJdLCJtYXBwaW5ncyI6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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.635",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
"argumentative": "^2.0.36",
|
|
14
14
|
"necessary": "^17.0.9",
|
|
15
15
|
"occam-file-system": "^6.0.505",
|
|
16
|
-
"occam-furtle": "^3.0.
|
|
16
|
+
"occam-furtle": "^3.0.116",
|
|
17
17
|
"occam-grammars": "^1.3.510",
|
|
18
|
-
"occam-languages": "^0.0.
|
|
18
|
+
"occam-languages": "^0.0.88",
|
|
19
19
|
"occam-lexers": "^23.1.34",
|
|
20
20
|
"occam-model": "^1.0.494",
|
|
21
|
-
"occam-nominal": "^1.0.
|
|
21
|
+
"occam-nominal": "^1.0.42",
|
|
22
22
|
"occam-parsers": "^23.1.37"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
package/src/context/nominal.js
CHANGED
|
@@ -6,6 +6,8 @@ import { lexersUtilities, parsersUtilities } from "occam-nominal";
|
|
|
6
6
|
import NominalLexer from "../nominal/lexer";
|
|
7
7
|
import NominalParser from "../nominal/parser";
|
|
8
8
|
|
|
9
|
+
import { findMetaTypeByMetaTypeName } from "../metaTypes";
|
|
10
|
+
|
|
9
11
|
const { nominalLexerFromNothing } = lexersUtilities,
|
|
10
12
|
{ nominalParserFromNothing } = parsersUtilities;
|
|
11
13
|
|
|
@@ -28,6 +30,12 @@ class NominalContext extends Context {
|
|
|
28
30
|
return this.parser;
|
|
29
31
|
}
|
|
30
32
|
|
|
33
|
+
findMetaTypeByMetaTypeName(metaTypeName) {
|
|
34
|
+
const metaType = findMetaTypeByMetaTypeName(metaTypeName);
|
|
35
|
+
|
|
36
|
+
return metaType;
|
|
37
|
+
}
|
|
38
|
+
|
|
31
39
|
static fromNothing() {
|
|
32
40
|
const context = null,
|
|
33
41
|
lexer = nominalLexer, ///
|
|
@@ -24,9 +24,11 @@ export default define(class Conclusion extends Element {
|
|
|
24
24
|
return conclusionNode;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
verify(context) {
|
|
27
|
+
async verify(context) {
|
|
28
28
|
let verifies = false;
|
|
29
29
|
|
|
30
|
+
await this.break(context);
|
|
31
|
+
|
|
30
32
|
const conclusionString = this.getString(); ///
|
|
31
33
|
|
|
32
34
|
context.trace(`Verifying the '${conclusionString}' conclusion...`);
|
package/src/element/deduction.js
CHANGED
|
@@ -24,9 +24,11 @@ export default define(class Deduction extends Element {
|
|
|
24
24
|
return deductionNode;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
verify(context) {
|
|
27
|
+
async verify(context) {
|
|
28
28
|
let verifies = false;
|
|
29
29
|
|
|
30
|
+
await this.break(context);
|
|
31
|
+
|
|
30
32
|
const deductionString = this.getString(); ///
|
|
31
33
|
|
|
32
34
|
context.trace(`Verifying the '${deductionString}' deduction...`);
|
|
@@ -25,9 +25,11 @@ export default define(class Hypothesis extends Element {
|
|
|
25
25
|
return hypothesisNode;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
verify(context) {
|
|
28
|
+
async verify(context) {
|
|
29
29
|
let verifies = false;
|
|
30
30
|
|
|
31
|
+
await this.break(context);
|
|
32
|
+
|
|
31
33
|
const hypothesisString = this.getString(); ///
|
|
32
34
|
|
|
33
35
|
context.trace(`Verifying the '${hypothesisString}' hypothesis...`);
|
package/src/element/section.js
CHANGED
|
@@ -66,7 +66,7 @@ export default define(class Section extends Element {
|
|
|
66
66
|
|
|
67
67
|
if (hypothesesVerify) {
|
|
68
68
|
const topLevelAssertion = (this.axiom || this.lemma || this.theorem || this.conjecture),
|
|
69
|
-
topLevelAssertionVerifies = topLevelAssertion.verify(context);
|
|
69
|
+
topLevelAssertionVerifies = await topLevelAssertion.verify(context);
|
|
70
70
|
|
|
71
71
|
if (topLevelAssertionVerifies) {
|
|
72
72
|
topLevelAssertion.setHypotheses(this.hypotheses);
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element } from "occam-languages";
|
|
4
3
|
import { arrayUtilities } from "necessary";
|
|
5
|
-
|
|
6
|
-
import assignAssignments from "../process/assign";
|
|
4
|
+
import { Element, asynchronousUtilities } from "occam-languages";
|
|
7
5
|
|
|
8
6
|
import { define } from "../elements";
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
import assignAssignments from "../process/assign";
|
|
9
|
+
|
|
10
|
+
const { last } = arrayUtilities,
|
|
11
|
+
{ asyncEvery } = asynchronousUtilities;
|
|
11
12
|
|
|
12
13
|
export default define(class SubDerivation extends Element {
|
|
13
14
|
constructor(context, string, node, subproofOrProofAssertions) {
|
|
@@ -34,12 +35,12 @@ export default define(class SubDerivation extends Element {
|
|
|
34
35
|
return lastProofAssertion;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
verify(
|
|
38
|
+
async verify(context) {
|
|
38
39
|
let verifies;
|
|
39
40
|
|
|
40
|
-
verifies = this.subproofOrProofAssertions
|
|
41
|
+
verifies = await asyncEvery(this.subproofOrProofAssertions, async (subproofOrProofAssertion) => { ///
|
|
41
42
|
const assignments = [],
|
|
42
|
-
subproofOrProofAssertionVarifies = subproofOrProofAssertion.verify(
|
|
43
|
+
subproofOrProofAssertionVarifies = await subproofOrProofAssertion.verify(assignments, context);
|
|
43
44
|
|
|
44
45
|
if (subproofOrProofAssertionVarifies) {
|
|
45
46
|
assignAssignments(assignments, context);
|
package/src/element/subproof.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element } from "occam-languages";
|
|
3
|
+
import { Element, asynchronousUtilities } from "occam-languages";
|
|
4
4
|
|
|
5
|
-
import { scope } from "../utilities/context";
|
|
6
5
|
import { define } from "../elements";
|
|
6
|
+
import { asyncScope } from "../utilities/context";
|
|
7
|
+
|
|
8
|
+
const { asyncEvery } = asynchronousUtilities;
|
|
7
9
|
|
|
8
10
|
export default define(class Subproof extends Element {
|
|
9
11
|
constructor(context, string, node, suppositions, subDerivation) {
|
|
@@ -52,12 +54,12 @@ export default define(class Subproof extends Element {
|
|
|
52
54
|
return proofAssertion;
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
verify(
|
|
57
|
+
async verify(assignments, context) {
|
|
56
58
|
let verifies = false;
|
|
57
59
|
|
|
58
|
-
|
|
59
|
-
const suppositionsVerify = this.suppositions
|
|
60
|
-
const suppositionVerifies = supposition.verify(context);
|
|
60
|
+
await asyncScope(async () => {
|
|
61
|
+
const suppositionsVerify = asyncEvery(this.suppositions, async (supposition) => {
|
|
62
|
+
const suppositionVerifies = await supposition.verify(assignments, context);
|
|
61
63
|
|
|
62
64
|
if (suppositionVerifies) {
|
|
63
65
|
return true;
|
|
@@ -65,7 +67,7 @@ export default define(class Subproof extends Element {
|
|
|
65
67
|
});
|
|
66
68
|
|
|
67
69
|
if (suppositionsVerify) {
|
|
68
|
-
const subDerivationVerifies = this.subDerivation.verify(
|
|
70
|
+
const subDerivationVerifies = await this.subDerivation.verify(context);
|
|
69
71
|
|
|
70
72
|
if (subDerivationVerifies) {
|
|
71
73
|
verifies = true;
|