occam-verify-cli 1.0.951 → 1.0.956
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/aphasic.js +27 -0
- package/lib/context/ephemeral.js +28 -0
- package/lib/context/liminal.js +2 -2
- package/lib/context/synoptic.js +6 -2
- package/lib/element/assertion/signature.js +2 -2
- package/lib/element/assertion/subproof.js +2 -2
- package/lib/element/conclusion.js +2 -2
- package/lib/element/constructor.js +2 -2
- package/lib/element/deduction.js +2 -2
- package/lib/element/label.js +8 -6
- package/lib/element/metavariable.js +3 -3
- package/lib/element/parameter.js +2 -2
- package/lib/element/procedureCall.js +1 -1
- package/lib/element/proofAssertion/step.js +3 -3
- package/lib/element/property.js +1 -2
- package/lib/element/reference.js +7 -5
- package/lib/element/section.js +1 -1
- package/lib/element/signature.js +7 -5
- package/lib/element/statement.js +2 -2
- package/lib/element/substitution/frame.js +87 -13
- package/lib/element/substitution/reference.js +3 -3
- package/lib/element/substitution/statement.js +53 -58
- package/lib/element/substitution/term.js +75 -4
- package/lib/element/substitution.js +1 -5
- package/lib/element/variable.js +2 -2
- package/lib/process/unify.js +2 -51
- package/lib/utilities/context.js +50 -14
- package/package.json +4 -4
- package/src/context/aphasic.js +15 -0
- package/src/context/ephemeral.js +17 -0
- package/src/context/liminal.js +1 -1
- package/src/context/synoptic.js +9 -1
- package/src/element/assertion/signature.js +1 -1
- package/src/element/assertion/subproof.js +1 -2
- package/src/element/conclusion.js +2 -2
- package/src/element/constructor.js +1 -1
- package/src/element/deduction.js +2 -2
- package/src/element/label.js +9 -7
- package/src/element/metavariable.js +2 -2
- package/src/element/parameter.js +1 -1
- package/src/element/procedureCall.js +1 -1
- package/src/element/proofAssertion/step.js +3 -2
- package/src/element/property.js +0 -1
- package/src/element/reference.js +8 -6
- package/src/element/section.js +1 -1
- package/src/element/signature.js +8 -6
- package/src/element/statement.js +1 -1
- package/src/element/substitution/frame.js +159 -22
- package/src/element/substitution/reference.js +3 -3
- package/src/element/substitution/statement.js +84 -83
- package/src/element/substitution/term.js +137 -4
- package/src/element/substitution.js +0 -6
- package/src/element/variable.js +1 -1
- package/src/process/unify.js +0 -76
- package/src/utilities/context.js +68 -19
package/lib/utilities/context.js
CHANGED
|
@@ -51,9 +51,15 @@ _export(exports, {
|
|
|
51
51
|
get manifest () {
|
|
52
52
|
return manifest;
|
|
53
53
|
},
|
|
54
|
+
get posit () {
|
|
55
|
+
return posit;
|
|
56
|
+
},
|
|
54
57
|
get reconcile () {
|
|
55
58
|
return reconcile;
|
|
56
59
|
},
|
|
60
|
+
get sequester () {
|
|
61
|
+
return sequester;
|
|
62
|
+
},
|
|
57
63
|
get serialise () {
|
|
58
64
|
return serialise;
|
|
59
65
|
},
|
|
@@ -70,6 +76,7 @@ _export(exports, {
|
|
|
70
76
|
const _mnemic = /*#__PURE__*/ _interop_require_default(require("../context/mnemic"));
|
|
71
77
|
const _nested = /*#__PURE__*/ _interop_require_default(require("../context/nested"));
|
|
72
78
|
const _thetic = /*#__PURE__*/ _interop_require_default(require("../context/thetic"));
|
|
79
|
+
const _aphasic = /*#__PURE__*/ _interop_require_default(require("../context/aphasic"));
|
|
73
80
|
const _bounded = /*#__PURE__*/ _interop_require_default(require("../context/bounded"));
|
|
74
81
|
const _nominal = /*#__PURE__*/ _interop_require_default(require("../context/nominal"));
|
|
75
82
|
const _literal = /*#__PURE__*/ _interop_require_default(require("../context/literal"));
|
|
@@ -77,6 +84,7 @@ const _liminal = /*#__PURE__*/ _interop_require_default(require("../context/limi
|
|
|
77
84
|
const _phaneric = /*#__PURE__*/ _interop_require_default(require("../context/phaneric"));
|
|
78
85
|
const _synoptic = /*#__PURE__*/ _interop_require_default(require("../context/synoptic"));
|
|
79
86
|
const _illative = /*#__PURE__*/ _interop_require_default(require("../context/illative"));
|
|
87
|
+
const _ephemeral = /*#__PURE__*/ _interop_require_default(require("../context/ephemeral"));
|
|
80
88
|
const _branching = /*#__PURE__*/ _interop_require_default(require("../context/branching"));
|
|
81
89
|
const _nominal1 = /*#__PURE__*/ _interop_require_default(require("../context/file/nominal"));
|
|
82
90
|
const _json = require("../utilities/json");
|
|
@@ -94,6 +102,11 @@ function join(innerFunction, ...contexts) {
|
|
|
94
102
|
const synopticContext = _synoptic.default.fromContexts(contexts), context = synopticContext; ///
|
|
95
103
|
return innerFunction(context);
|
|
96
104
|
}
|
|
105
|
+
function posit(innerFunction, context) {
|
|
106
|
+
const ephemeralContext = _ephemeral.default.fromNothing(context);
|
|
107
|
+
context = ephemeralContext; ///
|
|
108
|
+
return innerFunction(context);
|
|
109
|
+
}
|
|
97
110
|
function ground(innerFunction) {
|
|
98
111
|
let context;
|
|
99
112
|
const nominalContext = _nominal.default.fromNothing();
|
|
@@ -102,14 +115,14 @@ function ground(innerFunction) {
|
|
|
102
115
|
context = literalContext; ///
|
|
103
116
|
return innerFunction(context);
|
|
104
117
|
}
|
|
105
|
-
function ablate(innerFunction, context) {
|
|
118
|
+
function ablate(innerFunction, forced, context) {
|
|
119
|
+
if (context === undefined) {
|
|
120
|
+
context = forced; ///
|
|
121
|
+
forced = false;
|
|
122
|
+
}
|
|
106
123
|
const released = context.isReleased();
|
|
107
|
-
if (!released) {
|
|
108
|
-
|
|
109
|
-
while(contextExtraneousContext){
|
|
110
|
-
context = context.getContext();
|
|
111
|
-
contextExtraneousContext = isContextExtraneousContext(context);
|
|
112
|
-
}
|
|
124
|
+
if (forced || !released) {
|
|
125
|
+
context = ablateContext(context);
|
|
113
126
|
}
|
|
114
127
|
return innerFunction(context);
|
|
115
128
|
}
|
|
@@ -159,6 +172,11 @@ function reconcile(innerFunction, context) {
|
|
|
159
172
|
context = liminalContext; ///
|
|
160
173
|
return innerFunction(context);
|
|
161
174
|
}
|
|
175
|
+
function sequester(innerFunction, context) {
|
|
176
|
+
const aphasicContext = _aphasic.default.fromNothing(context);
|
|
177
|
+
context = aphasicContext; ///
|
|
178
|
+
return innerFunction(context);
|
|
179
|
+
}
|
|
162
180
|
function serialise(innerFunction, context) {
|
|
163
181
|
const mnemicContext = context, mnemicContextJSON = (0, _json.mnemicContextToMnemicContextJSON)(mnemicContext), contextJSON = mnemicContextJSON; ///
|
|
164
182
|
context = contextJSON; ///
|
|
@@ -178,11 +196,7 @@ function ablates(innerFunction, ...contexts) {
|
|
|
178
196
|
contexts = contexts.map((context)=>{
|
|
179
197
|
const released = context.isReleased();
|
|
180
198
|
if (!released) {
|
|
181
|
-
|
|
182
|
-
while(contextExtraneousContext){
|
|
183
|
-
context = context.getContext();
|
|
184
|
-
contextExtraneousContext = isContextExtraneousContext(context);
|
|
185
|
-
}
|
|
199
|
+
context = ablateContext(context);
|
|
186
200
|
}
|
|
187
201
|
return context;
|
|
188
202
|
});
|
|
@@ -212,9 +226,31 @@ function evaluate(procedure, terms) {
|
|
|
212
226
|
const context = procedure.getContext();
|
|
213
227
|
return procedure.call(terms, context);
|
|
214
228
|
}
|
|
229
|
+
function ablateContext(context) {
|
|
230
|
+
const stated = context.isStated();
|
|
231
|
+
let contextExtraneousContext = isContextExtraneousContext(context);
|
|
232
|
+
while(contextExtraneousContext){
|
|
233
|
+
context = context.getContext();
|
|
234
|
+
contextExtraneousContext = isContextExtraneousContext(context);
|
|
235
|
+
}
|
|
236
|
+
const Context = stated ? _thetic.default : _illative.default;
|
|
237
|
+
context = augmentContext(context, Context);
|
|
238
|
+
return context;
|
|
239
|
+
}
|
|
240
|
+
function augmentContext(context, Context) {
|
|
241
|
+
const contextContext = context instanceof Context;
|
|
242
|
+
if (!contextContext) {
|
|
243
|
+
context = Context.fromNothing(context);
|
|
244
|
+
}
|
|
245
|
+
return context;
|
|
246
|
+
}
|
|
215
247
|
function isContextExtraneousContext(context) {
|
|
216
|
-
const
|
|
248
|
+
const contextSubstantiveContext = isContextSubstantiveContext(context), contextExtraneousContext = !contextSubstantiveContext;
|
|
217
249
|
return contextExtraneousContext;
|
|
218
250
|
}
|
|
251
|
+
function isContextSubstantiveContext(context) {
|
|
252
|
+
const contextTheticContext = context instanceof _thetic.default, contextIllativeContext = context instanceof _illative.default, contextBoundedContext = context instanceof _bounded.default, contextNominalFileContext = context instanceof _nominal1.default, contextSubstantiveContext = contextTheticContext || contextIllativeContext || contextBoundedContext || contextNominalFileContext;
|
|
253
|
+
return contextSubstantiveContext;
|
|
254
|
+
}
|
|
219
255
|
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1lbm1pY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbW5lbWljXCI7XG5pbXBvcnQgTmVzdGVkQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9uZXN0ZWRcIjtcbmltcG9ydCBUaGV0aWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3RoZXRpY1wiO1xuaW1wb3J0IEJvdW5kZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JvdW5kZWRcIjtcbmltcG9ydCBOb21pbmFsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ub21pbmFsXCI7XG5pbXBvcnQgTGl0ZXJhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbGl0ZXJhbFwiO1xuaW1wb3J0IExpbWluYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpbWluYWxcIjtcbmltcG9ydCBQaGFuZXJpY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcGhhbmVyaWNcIjtcbmltcG9ydCBTeW5vcHRpY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvc3lub3B0aWNcIjtcbmltcG9ydCBJbGxhdGl2ZUNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvaWxsYXRpdmVcIjtcbmltcG9ydCBCcmFuY2hpbmdDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYW5jaGluZ1wiO1xuaW1wb3J0IE5vbWluYWxGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlL25vbWluYWxcIjtcblxuaW1wb3J0IHsgbW5lbWljQ29udGV4dEZyb21KU09OLCBtbmVtaWNDb250ZXh0c0Zyb21KU09OLCBtbmVtaWNDb250ZXh0VG9NbmVtaWNDb250ZXh0SlNPTiwgbW5lbWljQ29udGV4dHNUb01uZW1pY0NvbnRleHRzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gam9pbihpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLmZpbHRlcigoY29udGV4dCkgPT4ge1xuICAgIGlmIChjb250ZXh0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHN5bm9wdGljQ29udGV4dCA9IFN5bm9wdGljQ29udGV4dC5mcm9tQ29udGV4dHMoY29udGV4dHMpLFxuICAgICAgICBjb250ZXh0ID0gc3lub3B0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncm91bmQoaW5uZXJGdW5jdGlvbikge1xuICBsZXQgY29udGV4dDtcblxuICBjb25zdCBub21pbmFsQ29udGV4dCA9IE5vbWluYWxDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbiAgY29udGV4dCA9IG5vbWluYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWJsYXRlKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgcmVsZWFzZWQgPSBjb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgbGV0IGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCA9IGlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0KGNvbnRleHQpO1xuXG4gICAgd2hpbGUgKGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCkge1xuICAgICAgY29udGV4dCA9IGNvbnRleHQuZ2V0Q29udGV4dCgpO1xuXG4gICAgICBjb250ZXh0RXh0cmFuZW91c0NvbnRleHQgPSBpc0NvbnRleHRFeHRyYW5lb3VzQ29udGV4dChjb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNob29zZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGJyYW5jaGluZ0NvbnRleHQgPSBCcmFuY2hpbmdDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBicmFuY2hpbmdDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBpbGxhdGl2ZUNvbnRleHQgPSBJbGxhdGl2ZUNvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGlsbGF0aXZlQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjbGFyZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IHRoZXRpY0NvbnRleHQgPSBUaGV0aWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSB0aGV0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNjZW5kKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbmVzdGVkQ29udGV4dCA9IE5lc3RlZENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IG5lc3RlZENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGVtcHQoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCByZWxlYXNlZCA9IGNvbnRleHQuaXNSZWxlYXNlZCgpO1xuXG4gIGlmICghcmVsZWFzZWQpIHtcbiAgICBjb25zdCBtbmVtaWNDb250ZXh0ID0gTWVubWljQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICAgIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAgLy8vXG4gIH1cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY2xvc2UoaW5uZXJGdW5jdGlvbiwgbWV0YUxldmVsQXNzdW1wdGlvbnMsIGNvbnRleHQpIHtcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnRleHQgPSBtZXRhTGV2ZWxBc3N1bXB0aW9uczsgIC8vL1xuXG4gICAgbWV0YUxldmVsQXNzdW1wdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgY29uc3QgYm91bmRlZENvbnRleHQgPSBCb3VuZGVkQ29udGV4dC5mcm9tTWV0YUxldmVsQXNzdW1wdGlvbnMobWV0YUxldmVsQXNzdW1wdGlvbnMsIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBib3VuZGVkQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFuaWZlc3QoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29uc3QgcGhhbmVyaWNDb250ZXh0ID0gUGhhbmVyaWNDb250ZXh0LmZyb21Db250ZXh0cyhjb250ZXh0cyksXG4gICAgICAgIGNvbnRleHQgPSBwaGFuZXJpY0NvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY29uY2lsZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxpbWluYWxDb250ZXh0ID0gTGltaW5hbENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGxpbWluYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgIG1uZW1pY0NvbnRleHRKU09OID0gbW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04obW5lbWljQ29udGV4dCksXG4gICAgICAgIGNvbnRleHRKU09OID0gbW5lbWljQ29udGV4dEpTT047IC8vL1xuXG4gIGNvbnRleHQgPSBjb250ZXh0SlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5zZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwganNvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gbW5lbWljQ29udGV4dEZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihqc29uLCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFibGF0ZXMoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29udGV4dHMgPSBjb250ZXh0cy5tYXAoKGNvbnRleHQpID0+IHsgIC8vL1xuICAgIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgICBsZXQgY29udGV4dEV4dHJhbmVvdXNDb250ZXh0ID0gaXNDb250ZXh0RXh0cmFuZW91c0NvbnRleHQoY29udGV4dCk7XG5cbiAgICAgIHdoaWxlIChjb250ZXh0RXh0cmFuZW91c0NvbnRleHQpIHtcbiAgICAgICAgY29udGV4dCA9IGNvbnRleHQuZ2V0Q29udGV4dCgpO1xuXG4gICAgICAgIGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCA9IGlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0KGNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdHRlbXB0cyhpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLm1hcCgoY29udGV4dCkgPT4geyAgLy8vXG4gICAgY29uc3QgcmVsZWFzZWQgPSBjb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICAgIGlmICghcmVsZWFzZWQpIHtcbiAgICAgIGNvbnN0IG1uZW1pY0NvbnRleHQgPSBNZW5taWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbW5lbWljQ29udGV4dDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2VzKGlubmVyRnVuY3Rpb24sIC4uLmNvbnRleHRzKSB7XG4gIGNvbnN0IG1uZW1pY0NvbnRleHRzID0gY29udGV4dHMsIC8vL1xuICAgICAgICBtbmVtaWNDb250ZXh0c0pTT04gPSBtbmVtaWNDb250ZXh0c1RvTW5lbWljQ29udGV4dHNKU09OKG1uZW1pY0NvbnRleHRzKSxcbiAgICAgICAgY29udGV4dHNKU09OID0gbW5lbWljQ29udGV4dHNKU09OOyAvLy9cblxuICBjb250ZXh0cyA9IGNvbnRleHRzSlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKC4uLmNvbnRleHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2VyaWFsaXNlcyhpbm5lckZ1bmN0aW9uLCBqc29uLCBjb250ZXh0KSB7XG4gIGNvbnN0IG1uZW1pY0NvbnRleHRzID0gbW5lbWljQ29udGV4dHNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgY29udGV4dHMgPSBtbmVtaWNDb250ZXh0czsgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oanNvbiwgLi4uY29udGV4dHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZhbHVhdGUocHJvY2VkdXJlLCB0ZXJtcykge1xuICBjb25zdCBjb250ZXh0ID0gcHJvY2VkdXJlLmdldENvbnRleHQoKTtcblxuICByZXR1cm4gcHJvY2VkdXJlLmNhbGwodGVybXMsIGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRFeHRyYW5lb3VzQ29udGV4dChjb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRleHRCb3VuZGVkQ29udGV4dCA9IChjb250ZXh0IGluc3RhbmNlb2YgQm91bmRlZENvbnRleHQpLFxuICAgICAgICBjb250ZXh0Tm9taW5hbEZpbGVDb250ZXh0ID0gKGNvbnRleHQgaW5zdGFuY2VvZiBOb21pbmFsRmlsZUNvbnRleHQpLFxuICAgICAgICBjb250ZXh0RXh0cmFuZW91c0NvbnRleHQgPSAoIWNvbnRleHRCb3VuZGVkQ29udGV4dCAmJiAhY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dDtcbn0iXSwibmFtZXMiOlsiYWJsYXRlIiwiYWJsYXRlcyIsImF0dGVtcHQiLCJhdHRlbXB0cyIsImNob29zZSIsImRlY2xhcmUiLCJkZXJpdmUiLCJkZXNjZW5kIiwiZW5jbG9zZSIsImV2YWx1YXRlIiwiZ3JvdW5kIiwiaW5zdGFudGlhdGUiLCJqb2luIiwibWFuaWZlc3QiLCJyZWNvbmNpbGUiLCJzZXJpYWxpc2UiLCJzZXJpYWxpc2VzIiwidW5zZXJpYWxpc2UiLCJ1bnNlcmlhbGlzZXMiLCJpbm5lckZ1bmN0aW9uIiwiY29udGV4dHMiLCJmaWx0ZXIiLCJjb250ZXh0Iiwic3lub3B0aWNDb250ZXh0IiwiU3lub3B0aWNDb250ZXh0IiwiZnJvbUNvbnRleHRzIiwibm9taW5hbENvbnRleHQiLCJOb21pbmFsQ29udGV4dCIsImZyb21Ob3RoaW5nIiwibGl0ZXJhbENvbnRleHQiLCJMaXRlcmFsQ29udGV4dCIsInJlbGVhc2VkIiwiaXNSZWxlYXNlZCIsImNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCIsImlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0IiwiZ2V0Q29udGV4dCIsImJyYW5jaGluZ0NvbnRleHQiLCJCcmFuY2hpbmdDb250ZXh0IiwiaWxsYXRpdmVDb250ZXh0IiwiSWxsYXRpdmVDb250ZXh0IiwidGhldGljQ29udGV4dCIsIlRoZXRpY0NvbnRleHQiLCJuZXN0ZWRDb250ZXh0IiwiTmVzdGVkQ29udGV4dCIsIm1uZW1pY0NvbnRleHQiLCJNZW5taWNDb250ZXh0IiwibWV0YUxldmVsQXNzdW1wdGlvbnMiLCJ1bmRlZmluZWQiLCJib3VuZGVkQ29udGV4dCIsIkJvdW5kZWRDb250ZXh0IiwiZnJvbU1ldGFMZXZlbEFzc3VtcHRpb25zIiwicGhhbmVyaWNDb250ZXh0IiwiUGhhbmVyaWNDb250ZXh0IiwibGltaW5hbENvbnRleHQiLCJMaW1pbmFsQ29udGV4dCIsIm1uZW1pY0NvbnRleHRKU09OIiwibW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04iLCJjb250ZXh0SlNPTiIsImpzb24iLCJtbmVtaWNDb250ZXh0RnJvbUpTT04iLCJtYXAiLCJtbmVtaWNDb250ZXh0cyIsIm1uZW1pY0NvbnRleHRzSlNPTiIsIm1uZW1pY0NvbnRleHRzVG9NbmVtaWNDb250ZXh0c0pTT04iLCJjb250ZXh0c0pTT04iLCJtbmVtaWNDb250ZXh0c0Zyb21KU09OIiwicHJvY2VkdXJlIiwidGVybXMiLCJjYWxsIiwiY29udGV4dEJvdW5kZWRDb250ZXh0IiwiY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCIsIk5vbWluYWxGaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNENnQkE7ZUFBQUE7O1FBbUhBQztlQUFBQTs7UUFuRUFDO2VBQUFBOztRQXVGQUM7ZUFBQUE7O1FBdkhBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQVJBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQW9CQUM7ZUFBQUE7O1FBNEdBQztlQUFBQTs7UUF0TEFDO2VBQUFBOztRQWlIQUM7ZUFBQUE7O1FBOUhBQztlQUFBQTs7UUFxR0FDO2VBQUFBOztRQU9BQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBOERBQztlQUFBQTs7UUE1Q0FDO2VBQUFBOztRQXNEQUM7ZUFBQUE7OzsrREEzTVU7K0RBQ0E7K0RBQ0E7Z0VBQ0M7Z0VBQ0E7Z0VBQ0E7Z0VBQ0E7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7aUVBQ0U7c0JBRXFHOzs7Ozs7QUFFN0gsU0FBU04sS0FBS08sYUFBYSxFQUFFLEdBQUdDLFFBQVE7SUFDN0NBLFdBQVdBLFNBQVNDLE1BQU0sQ0FBQyxDQUFDQztRQUMxQixJQUFJQSxZQUFZLE1BQU07WUFDcEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxNQUFNQyxrQkFBa0JDLGlCQUFlLENBQUNDLFlBQVksQ0FBQ0wsV0FDL0NFLFVBQVVDLGlCQUFrQixHQUFHO0lBRXJDLE9BQU9KLGNBQWNHO0FBQ3ZCO0FBRU8sU0FBU1osT0FBT1MsYUFBYTtJQUNsQyxJQUFJRztJQUVKLE1BQU1JLGlCQUFpQkMsZ0JBQWMsQ0FBQ0MsV0FBVztJQUVqRE4sVUFBVUksZ0JBQWdCLEdBQUc7SUFFN0IsTUFBTUcsaUJBQWlCQyxnQkFBYyxDQUFDRixXQUFXLENBQUNOO0lBRWxEQSxVQUFVTyxnQkFB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
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1lbm1pY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbW5lbWljXCI7XG5pbXBvcnQgTmVzdGVkQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9uZXN0ZWRcIjtcbmltcG9ydCBUaGV0aWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3RoZXRpY1wiO1xuaW1wb3J0IEFwaGFzaWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2FwaGFzaWNcIjtcbmltcG9ydCBCb3VuZGVkQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ib3VuZGVkXCI7XG5pbXBvcnQgTm9taW5hbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbm9taW5hbFwiO1xuaW1wb3J0IExpdGVyYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpdGVyYWxcIjtcbmltcG9ydCBMaW1pbmFsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9saW1pbmFsXCI7XG5pbXBvcnQgUGhhbmVyaWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3BoYW5lcmljXCI7XG5pbXBvcnQgU3lub3B0aWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3N5bm9wdGljXCI7XG5pbXBvcnQgSWxsYXRpdmVDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2lsbGF0aXZlXCI7XG5pbXBvcnQgRXBoZW1lcmFsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9lcGhlbWVyYWxcIjtcbmltcG9ydCBCcmFuY2hpbmdDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYW5jaGluZ1wiO1xuaW1wb3J0IE5vbWluYWxGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlL25vbWluYWxcIjtcblxuaW1wb3J0IHsgbW5lbWljQ29udGV4dEZyb21KU09OLCBtbmVtaWNDb250ZXh0c0Zyb21KU09OLCBtbmVtaWNDb250ZXh0VG9NbmVtaWNDb250ZXh0SlNPTiwgbW5lbWljQ29udGV4dHNUb01uZW1pY0NvbnRleHRzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gam9pbihpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLmZpbHRlcigoY29udGV4dCkgPT4ge1xuICAgIGlmIChjb250ZXh0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHN5bm9wdGljQ29udGV4dCA9IFN5bm9wdGljQ29udGV4dC5mcm9tQ29udGV4dHMoY29udGV4dHMpLFxuICAgICAgICBjb250ZXh0ID0gc3lub3B0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3NpdChpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGVwaGVtZXJhbENvbnRleHQgPSBFcGhlbWVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBlcGhlbWVyYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncm91bmQoaW5uZXJGdW5jdGlvbikge1xuICBsZXQgY29udGV4dDtcblxuICBjb25zdCBub21pbmFsQ29udGV4dCA9IE5vbWluYWxDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbiAgY29udGV4dCA9IG5vbWluYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWJsYXRlKGlubmVyRnVuY3Rpb24sIGZvcmNlZCwgY29udGV4dCkge1xuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29udGV4dCA9IGZvcmNlZDsgLy8vXG5cbiAgICBmb3JjZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgaWYgKGZvcmNlZCB8fCAhcmVsZWFzZWQpIHtcbiAgICBjb250ZXh0ID0gYWJsYXRlQ29udGV4dChjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hvb3NlKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgYnJhbmNoaW5nQ29udGV4dCA9IEJyYW5jaGluZ0NvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGJyYW5jaGluZ0NvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGlsbGF0aXZlQ29udGV4dCA9IElsbGF0aXZlQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gaWxsYXRpdmVDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNsYXJlKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgdGhldGljQ29udGV4dCA9IFRoZXRpY0NvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IHRoZXRpY0NvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2NlbmQoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBuZXN0ZWRDb250ZXh0ID0gTmVzdGVkQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gbmVzdGVkQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXR0ZW1wdChpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgaWYgKCFyZWxlYXNlZCkge1xuICAgIGNvbnN0IG1uZW1pY0NvbnRleHQgPSBNZW5taWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gICAgY29udGV4dCA9IG1uZW1pY0NvbnRleHQ7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jbG9zZShpbm5lckZ1bmN0aW9uLCBtZXRhTGV2ZWxBc3N1bXB0aW9ucywgY29udGV4dCkge1xuICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29udGV4dCA9IG1ldGFMZXZlbEFzc3VtcHRpb25zOyAgLy8vXG5cbiAgICBtZXRhTGV2ZWxBc3N1bXB0aW9ucyA9IG51bGw7XG4gIH1cblxuICBjb25zdCBib3VuZGVkQ29udGV4dCA9IEJvdW5kZWRDb250ZXh0LmZyb21NZXRhTGV2ZWxBc3N1bXB0aW9ucyhtZXRhTGV2ZWxBc3N1bXB0aW9ucywgY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGJvdW5kZWRDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYW5pZmVzdChpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb25zdCBwaGFuZXJpY0NvbnRleHQgPSBQaGFuZXJpY0NvbnRleHQuZnJvbUNvbnRleHRzKGNvbnRleHRzKSxcbiAgICAgICAgY29udGV4dCA9IHBoYW5lcmljQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjb25jaWxlKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbGltaW5hbENvbnRleHQgPSBMaW1pbmFsQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gbGltaW5hbENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcXVlc3Rlcihpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGFwaGFzaWNDb250ZXh0ID0gQXBoYXNpY0NvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGFwaGFzaWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgIG1uZW1pY0NvbnRleHRKU09OID0gbW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04obW5lbWljQ29udGV4dCksXG4gICAgICAgIGNvbnRleHRKU09OID0gbW5lbWljQ29udGV4dEpTT047IC8vL1xuXG4gIGNvbnRleHQgPSBjb250ZXh0SlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5zZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwganNvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gbW5lbWljQ29udGV4dEZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihqc29uLCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFibGF0ZXMoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29udGV4dHMgPSBjb250ZXh0cy5tYXAoKGNvbnRleHQpID0+IHsgIC8vL1xuICAgIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgICBjb250ZXh0ID0gYWJsYXRlQ29udGV4dChjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udGV4dDtcbiAgfSk7XG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oLi4uY29udGV4dHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXR0ZW1wdHMoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29udGV4dHMgPSBjb250ZXh0cy5tYXAoKGNvbnRleHQpID0+IHsgIC8vL1xuICAgIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgICBjb25zdCBtbmVtaWNDb250ZXh0ID0gTWVubWljQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICAgICAgY29udGV4dCA9IG1uZW1pY0NvbnRleHQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gY29udGV4dDtcbiAgfSk7XG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oLi4uY29udGV4dHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXNlcyhpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb25zdCBtbmVtaWNDb250ZXh0cyA9IGNvbnRleHRzLCAvLy9cbiAgICAgICAgbW5lbWljQ29udGV4dHNKU09OID0gbW5lbWljQ29udGV4dHNUb01uZW1pY0NvbnRleHRzSlNPTihtbmVtaWNDb250ZXh0cyksXG4gICAgICAgIGNvbnRleHRzSlNPTiA9IG1uZW1pY0NvbnRleHRzSlNPTjsgLy8vXG5cbiAgY29udGV4dHMgPSBjb250ZXh0c0pTT047ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnNlcmlhbGlzZXMoaW5uZXJGdW5jdGlvbiwganNvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0cyA9IG1uZW1pY0NvbnRleHRzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgIGNvbnRleHRzID0gbW5lbWljQ29udGV4dHM7IC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGpzb24sIC4uLmNvbnRleHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2YWx1YXRlKHByb2NlZHVyZSwgdGVybXMpIHtcbiAgY29uc3QgY29udGV4dCA9IHByb2NlZHVyZS5nZXRDb250ZXh0KCk7XG5cbiAgcmV0dXJuIHByb2NlZHVyZS5jYWxsKHRlcm1zLCBjb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gYWJsYXRlQ29udGV4dChjb250ZXh0KSB7XG4gIGNvbnN0IHN0YXRlZCA9IGNvbnRleHQuaXNTdGF0ZWQoKTtcblxuICBsZXQgY29udGV4dEV4dHJhbmVvdXNDb250ZXh0ID0gaXNDb250ZXh0RXh0cmFuZW91c0NvbnRleHQoY29udGV4dCk7XG5cbiAgd2hpbGUgKGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCkge1xuICAgIGNvbnRleHQgPSBjb250ZXh0LmdldENvbnRleHQoKTtcblxuICAgIGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCA9IGlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgY29uc3QgQ29udGV4dCA9IHN0YXRlZCA/IFRoZXRpY0NvbnRleHQgOiBJbGxhdGl2ZUNvbnRleHQ7XG5cbiAgY29udGV4dCA9IGF1Z21lbnRDb250ZXh0KGNvbnRleHQsIENvbnRleHQpO1xuXG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBhdWdtZW50Q29udGV4dChjb250ZXh0LCBDb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRleHRDb250ZXh0ID0gKGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0KTtcblxuICBpZiAoIWNvbnRleHRDb250ZXh0KSB7XG4gICAgY29udGV4dCA9IENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cblxuZnVuY3Rpb24gaXNDb250ZXh0RXh0cmFuZW91c0NvbnRleHQoY29udGV4dCkge1xuICBjb25zdCBjb250ZXh0U3Vic3RhbnRpdmVDb250ZXh0ID0gaXNDb250ZXh0U3Vic3RhbnRpdmVDb250ZXh0KGNvbnRleHQpLFxuICAgICAgICBjb250ZXh0RXh0cmFuZW91c0NvbnRleHQgPSAhY29udGV4dFN1YnN0YW50aXZlQ29udGV4dDtcblxuICByZXR1cm4gY29udGV4dEV4dHJhbmVvdXNDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRTdWJzdGFudGl2ZUNvbnRleHQoY29udGV4dCkge1xuICBjb25zdCBjb250ZXh0VGhldGljQ29udGV4dCA9IChjb250ZXh0IGluc3RhbmNlb2YgVGhldGljQ29udGV4dCksXG4gICAgICAgIGNvbnRleHRJbGxhdGl2ZUNvbnRleHQgPSAoY29udGV4dCBpbnN0YW5jZW9mIElsbGF0aXZlQ29udGV4dCksXG4gICAgICAgIGNvbnRleHRCb3VuZGVkQ29udGV4dCA9IChjb250ZXh0IGluc3RhbmNlb2YgQm91bmRlZENvbnRleHQpLFxuICAgICAgICBjb250ZXh0Tm9taW5hbEZpbGVDb250ZXh0ID0gKGNvbnRleHQgaW5zdGFuY2VvZiBOb21pbmFsRmlsZUNvbnRleHQpLFxuICAgICAgICBjb250ZXh0U3Vic3RhbnRpdmVDb250ZXh0ID0gKGNvbnRleHRUaGV0aWNDb250ZXh0IHx8IGNvbnRleHRJbGxhdGl2ZUNvbnRleHQgfHwgY29udGV4dEJvdW5kZWRDb250ZXh0IHx8IGNvbnRleHROb21pbmFsRmlsZUNvbnRleHQpO1xuXG4gIHJldHVybiBjb250ZXh0U3Vic3RhbnRpdmVDb250ZXh0O1xufVxuIl0sIm5hbWVzIjpbImFibGF0ZSIsImFibGF0ZXMiLCJhdHRlbXB0IiwiYXR0ZW1wdHMiLCJjaG9vc2UiLCJkZWNsYXJlIiwiZGVyaXZlIiwiZGVzY2VuZCIsImVuY2xvc2UiLCJldmFsdWF0ZSIsImdyb3VuZCIsImluc3RhbnRpYXRlIiwiam9pbiIsIm1hbmlmZXN0IiwicG9zaXQiLCJyZWNvbmNpbGUiLCJzZXF1ZXN0ZXIiLCJzZXJpYWxpc2UiLCJzZXJpYWxpc2VzIiwidW5zZXJpYWxpc2UiLCJ1bnNlcmlhbGlzZXMiLCJpbm5lckZ1bmN0aW9uIiwiY29udGV4dHMiLCJmaWx0ZXIiLCJjb250ZXh0Iiwic3lub3B0aWNDb250ZXh0IiwiU3lub3B0aWNDb250ZXh0IiwiZnJvbUNvbnRleHRzIiwiZXBoZW1lcmFsQ29udGV4dCIsIkVwaGVtZXJhbENvbnRleHQiLCJmcm9tTm90aGluZyIsIm5vbWluYWxDb250ZXh0IiwiTm9taW5hbENvbnRleHQiLCJsaXRlcmFsQ29udGV4dCIsIkxpdGVyYWxDb250ZXh0IiwiZm9yY2VkIiwidW5kZWZpbmVkIiwicmVsZWFzZWQiLCJpc1JlbGVhc2VkIiwiYWJsYXRlQ29udGV4dCIsImJyYW5jaGluZ0NvbnRleHQiLCJCcmFuY2hpbmdDb250ZXh0IiwiaWxsYXRpdmVDb250ZXh0IiwiSWxsYXRpdmVDb250ZXh0IiwidGhldGljQ29udGV4dCIsIlRoZXRpY0NvbnRleHQiLCJuZXN0ZWRDb250ZXh0IiwiTmVzdGVkQ29udGV4dCIsIm1uZW1pY0NvbnRleHQiLCJNZW5taWNDb250ZXh0IiwibWV0YUxldmVsQXNzdW1wdGlvbnMiLCJib3VuZGVkQ29udGV4dCIsIkJvdW5kZWRDb250ZXh0IiwiZnJvbU1ldGFMZXZlbEFzc3VtcHRpb25zIiwicGhhbmVyaWNDb250ZXh0IiwiUGhhbmVyaWNDb250ZXh0IiwibGltaW5hbENvbnRleHQiLCJMaW1pbmFsQ29udGV4dCIsImFwaGFzaWNDb250ZXh0IiwiQXBoYXNpY0NvbnRleHQiLCJtbmVtaWNDb250ZXh0SlNPTiIsIm1uZW1pY0NvbnRleHRUb01uZW1pY0NvbnRleHRKU09OIiwiY29udGV4dEpTT04iLCJqc29uIiwibW5lbWljQ29udGV4dEZyb21KU09OIiwibWFwIiwibW5lbWljQ29udGV4dHMiLCJtbmVtaWNDb250ZXh0c0pTT04iLCJtbmVtaWNDb250ZXh0c1RvTW5lbWljQ29udGV4dHNKU09OIiwiY29udGV4dHNKU09OIiwibW5lbWljQ29udGV4dHNGcm9tSlNPTiIsInByb2NlZHVyZSIsInRlcm1zIiwiZ2V0Q29udGV4dCIsImNhbGwiLCJzdGF0ZWQiLCJpc1N0YXRlZCIsImNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCIsImlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0IiwiQ29udGV4dCIsImF1Z21lbnRDb250ZXh0IiwiY29udGV4dENvbnRleHQiLCJjb250ZXh0U3Vic3RhbnRpdmVDb250ZXh0IiwiaXNDb250ZXh0U3Vic3RhbnRpdmVDb250ZXh0IiwiY29udGV4dFRoZXRpY0NvbnRleHQiLCJjb250ZXh0SWxsYXRpdmVDb250ZXh0IiwiY29udGV4dEJvdW5kZWRDb250ZXh0IiwiY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCIsIk5vbWluYWxGaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBc0RnQkE7ZUFBQUE7O1FBMkhBQztlQUFBQTs7UUEzRUFDO2VBQUFBOztRQXlGQUM7ZUFBQUE7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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.956",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.47",
|
|
14
14
|
"necessary": "^17.1.7",
|
|
15
|
-
"occam-furtle": "^3.0.
|
|
15
|
+
"occam-furtle": "^3.0.207",
|
|
16
16
|
"occam-grammars": "^1.3.524",
|
|
17
|
-
"occam-languages": "^0.0.
|
|
17
|
+
"occam-languages": "^0.0.214",
|
|
18
18
|
"occam-lexers": "^23.1.44",
|
|
19
19
|
"occam-model": "^1.0.506",
|
|
20
|
-
"occam-nominal": "^1.0.
|
|
20
|
+
"occam-nominal": "^1.0.111",
|
|
21
21
|
"occam-parsers": "^23.1.50",
|
|
22
22
|
"occam-server": "^7.0.7"
|
|
23
23
|
},
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import Context from "../context";
|
|
4
|
+
|
|
5
|
+
export default class AphasicContext extends Context {
|
|
6
|
+
addAssignment(assignment) {
|
|
7
|
+
///
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static fromNothing(context) {
|
|
11
|
+
const aphasicContext = new AphasicContext(context);
|
|
12
|
+
|
|
13
|
+
return aphasicContext;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import Context from "../context";
|
|
4
|
+
|
|
5
|
+
export default class EphemeralContext extends Context {
|
|
6
|
+
isStated() {
|
|
7
|
+
const stated = true;
|
|
8
|
+
|
|
9
|
+
return stated;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static fromNothing(context) {
|
|
13
|
+
const ephemeralContext = new EphemeralContext(context);
|
|
14
|
+
|
|
15
|
+
return ephemeralContext;
|
|
16
|
+
}
|
|
17
|
+
}
|
package/src/context/liminal.js
CHANGED
|
@@ -163,7 +163,7 @@ export default class LiminalContext extends Context {
|
|
|
163
163
|
context = this.getContext();
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
context.debug(`Committing the
|
|
166
|
+
context.debug(`Committing the liminal context`);
|
|
167
167
|
|
|
168
168
|
context.addDerivedSubstitutions(this.derivedSubstitutions);
|
|
169
169
|
}
|
package/src/context/synoptic.js
CHANGED
|
@@ -18,7 +18,7 @@ import { compressTerms,
|
|
|
18
18
|
compressSubstitutions,
|
|
19
19
|
compressPropertyRelations,} from "../utilities/synoptic";
|
|
20
20
|
|
|
21
|
-
const { last } = arrayUtilities;
|
|
21
|
+
const { first, last } = arrayUtilities;
|
|
22
22
|
|
|
23
23
|
export default class SynopticContext extends Context {
|
|
24
24
|
constructor(context, contexts) {
|
|
@@ -31,6 +31,14 @@ export default class SynopticContext extends Context {
|
|
|
31
31
|
return this.contexts;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
isStated() {
|
|
35
|
+
const firstContext = first(this.contexts),
|
|
36
|
+
context = firstContext, ///
|
|
37
|
+
stated = context.isStated();
|
|
38
|
+
|
|
39
|
+
return stated;
|
|
40
|
+
}
|
|
41
|
+
|
|
34
42
|
getTerms(terms = []) {
|
|
35
43
|
this.contexts.forEach((context) => {
|
|
36
44
|
context.getTerms(terms);
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import Assertion from "../assertion";
|
|
4
4
|
|
|
5
5
|
import { define } from "../../elements";
|
|
6
|
-
import { join, reconcile, instantiate } from "../../utilities/context";
|
|
7
6
|
import { breakPointFromJSON } from "../../utilities/breakPoint";
|
|
7
|
+
import { join, reconcile, instantiate } from "../../utilities/context";
|
|
8
8
|
import { instantiateSignatureAssertion } from "../../process/instantiate";
|
|
9
9
|
import { signatureFromSignatureAssertionNode, referenceFromSignatureAssertionNode, signatureAssertionFromStatementNode } from "../../utilities/element";
|
|
10
10
|
|
|
@@ -5,11 +5,10 @@ import { arrayUtilities } from "necessary";
|
|
|
5
5
|
import Assertion from "../assertion";
|
|
6
6
|
|
|
7
7
|
import { define } from "../../elements";
|
|
8
|
-
import { reconcile } from "../../utilities/context";
|
|
9
|
-
import { join, descend, instantiate } from "../../utilities/context";
|
|
10
8
|
import { breakPointFromJSON } from "../../utilities/breakPoint";
|
|
11
9
|
import { instantiateSubproofAssertion } from "../../process/instantiate";
|
|
12
10
|
import { subproofAssertionFromStatementNode } from "../../utilities/element";
|
|
11
|
+
import { join, descend, reconcile, instantiate } from "../../utilities/context";
|
|
13
12
|
|
|
14
13
|
const { last, front, backwardsEvery } = arrayUtilities;
|
|
15
14
|
|
|
@@ -5,7 +5,7 @@ import { Element } from "occam-languages";
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
import { instantiateConclusion } from "../process/instantiate";
|
|
7
7
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
8
|
-
import { declare, attempt,
|
|
8
|
+
import { declare, attempt, sequester, serialise, unserialise, instantiate } from "../utilities/context";
|
|
9
9
|
|
|
10
10
|
export default define(class Conclusion extends Element {
|
|
11
11
|
constructor(context, string, node, breakPoint, statement) {
|
|
@@ -86,7 +86,7 @@ export default define(class Conclusion extends Element {
|
|
|
86
86
|
|
|
87
87
|
context.trace(`Validating the '${conclusionString}' conclusion's statement...`);
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
sequester((context) => {
|
|
90
90
|
const statement = this.statement.validate(context);
|
|
91
91
|
|
|
92
92
|
if (statement !== null) {
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import { Element } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
|
-
import { typeFromJSON, typeToTypeJSON } from "../utilities/json";
|
|
7
6
|
import { instantiateConstructor } from "../process/instantiate";
|
|
8
7
|
import { termFromConstructorNode } from "../utilities/element";
|
|
9
8
|
import { unifyTermWithConstructor } from "../process/unify";
|
|
10
9
|
import { validateTermAsConstructor } from "../process/validate";
|
|
10
|
+
import { typeFromJSON, typeToTypeJSON } from "../utilities/json";
|
|
11
11
|
import { attempt, serialise, unserialise, instantiate } from "../utilities/context";
|
|
12
12
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
13
13
|
|
package/src/element/deduction.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Element } from "occam-languages";
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
import { instantiateDeduction } from "../process/instantiate";
|
|
7
7
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
8
|
-
import { declare, attempt,
|
|
8
|
+
import { declare, attempt, sequester, serialise, unserialise, instantiate } from "../utilities/context";
|
|
9
9
|
|
|
10
10
|
export default define(class Deduction extends Element {
|
|
11
11
|
constructor(context, string, node, breakPoint, statement) {
|
|
@@ -86,7 +86,7 @@ export default define(class Deduction extends Element {
|
|
|
86
86
|
|
|
87
87
|
context.trace(`Validating the '${deductionnString}' deductionn's statement...`);
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
sequester((context) => {
|
|
90
90
|
const statement = this.statement.validate(context);
|
|
91
91
|
|
|
92
92
|
if (statement !== null) {
|
package/src/element/label.js
CHANGED
|
@@ -4,9 +4,9 @@ import { Element } from "occam-languages";
|
|
|
4
4
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
import { instantiateLabel } from "../process/instantiate";
|
|
7
|
-
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
8
7
|
import { labelFromLabelNode, metavariableFromLabelNode } from "../utilities/element";
|
|
9
|
-
import {
|
|
8
|
+
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
9
|
+
import { posit, ablate, attempt, serialise, unserialise, instantiate } from "../utilities/context";
|
|
10
10
|
|
|
11
11
|
export default define(class Label extends Element {
|
|
12
12
|
constructor(context, string, node, breakPoint, metavariable) {
|
|
@@ -172,12 +172,14 @@ export default define(class Label extends Element {
|
|
|
172
172
|
static fromLabelString(labelString, context) {
|
|
173
173
|
let label;
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
175
|
+
posit((context) => {
|
|
176
|
+
ablate((context) => {
|
|
177
|
+
instantiate((context) => {
|
|
178
|
+
const string = labelString, ///
|
|
179
|
+
labelNode = instantiateLabel(string, context);
|
|
179
180
|
|
|
180
|
-
|
|
181
|
+
label = labelFromLabelNode(labelNode, context);
|
|
182
|
+
}, context);
|
|
181
183
|
}, context);
|
|
182
184
|
}, context);
|
|
183
185
|
|
|
@@ -5,12 +5,12 @@ import { Element } from "occam-languages";
|
|
|
5
5
|
import elements from "../elements";
|
|
6
6
|
|
|
7
7
|
import { define } from "../elements";
|
|
8
|
-
import { EMPTY_STRING } from "../constants";
|
|
9
8
|
import { instantiate } from "../utilities/context";
|
|
9
|
+
import { EMPTY_STRING } from "../constants";
|
|
10
10
|
import { instantiateMetavariable } from "../process/instantiate";
|
|
11
11
|
import { metaTypeFromJSON, metaTypeToMetaTypeJSON } from "../utilities/json";
|
|
12
|
-
import { unifyMetavariable, unifyMetavariableIntrinsically } from "../process/unify";
|
|
13
12
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
13
|
+
import { unifyMetavariable, unifyMetavariableIntrinsically } from "../process/unify";
|
|
14
14
|
import { nameFromMetavariableNode, termFromMetavariableNode, typeFromMetavariableNode, metavariableFromStatementNode } from "../utilities/element";
|
|
15
15
|
|
|
16
16
|
export default define(class Metavariable extends Element {
|
package/src/element/parameter.js
CHANGED
|
@@ -5,8 +5,8 @@ import { Element } from "occam-languages";
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
import { instantiate } from "../utilities/context";
|
|
7
7
|
import { instantiateParameter } from "../process/instantiate";
|
|
8
|
-
import { nameFromParaneterNode, identifierFromParameterNode } from "../utilities/element";
|
|
9
8
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
9
|
+
import { nameFromParaneterNode, identifierFromParameterNode } from "../utilities/element";
|
|
10
10
|
|
|
11
11
|
export default define(class Parameter extends Element {
|
|
12
12
|
constructor(context, string, node, breakPoint, name, identifier) {
|
|
@@ -4,7 +4,7 @@ import { Element } from "occam-languages";
|
|
|
4
4
|
import { termsUtilities } from "occam-furtle";
|
|
5
5
|
|
|
6
6
|
import { define } from "../elements";
|
|
7
|
-
import {
|
|
7
|
+
import { evaluate, instantiate } from "../utilities/context";
|
|
8
8
|
import { instantiateProcedureCall } from "../process/instantiate";
|
|
9
9
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
10
10
|
import { parametersFromProcedureCallNode, procedureReferenceFromProcedureCallNode } from "../utilities/element";
|
|
@@ -127,9 +127,10 @@ export default define(class Step extends ProofAssertion {
|
|
|
127
127
|
|
|
128
128
|
context.trace(`Validating the '${stepString}' step...`);
|
|
129
129
|
|
|
130
|
-
const qualified = this.isQualified()
|
|
130
|
+
const qualified = this.isQualified(),
|
|
131
|
+
stated = qualified; ///
|
|
131
132
|
|
|
132
|
-
(
|
|
133
|
+
(stated ? declare : derive)((context) => {
|
|
133
134
|
attempt((context) => {
|
|
134
135
|
const statementValidates = this.validateStatement(context);
|
|
135
136
|
|
package/src/element/property.js
CHANGED
|
@@ -8,7 +8,6 @@ import { instantiateProperty } from "../process/instantiate";
|
|
|
8
8
|
import { nameFromPropertyNode } from "../utilities/element";
|
|
9
9
|
import { typeFromJSON, typeToTypeJSON } from "../utilities/json";
|
|
10
10
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
11
|
-
import {validateTerms} from "../utilities/validation";
|
|
12
11
|
|
|
13
12
|
export default define(class Property extends Element {
|
|
14
13
|
constructor(context, string, node, breakPoint, name, type) {
|
package/src/element/reference.js
CHANGED
|
@@ -6,7 +6,7 @@ import { define } from "../elements";
|
|
|
6
6
|
import { instantiateReference } from "../process/instantiate";
|
|
7
7
|
import { REFERENCE_META_TYPE_NAME } from "../metaTypeNames";
|
|
8
8
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
9
|
-
import { join, ablate, attempt, serialise, reconcile, unserialise, instantiate } from "../utilities/context";
|
|
9
|
+
import { join, posit, ablate, attempt, serialise, reconcile, unserialise, instantiate } from "../utilities/context";
|
|
10
10
|
import { referenceFromReferenceNode, metavariableFromReferenceNode, topLevelMetaAssertionFromReferenceNode } from "../utilities/element";
|
|
11
11
|
|
|
12
12
|
export default define(class Reference extends Element {
|
|
@@ -340,12 +340,14 @@ export default define(class Reference extends Element {
|
|
|
340
340
|
static fromReferenceString(referenceString, context) {
|
|
341
341
|
let reference;
|
|
342
342
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
343
|
+
posit((context) => {
|
|
344
|
+
ablate((context) => {
|
|
345
|
+
instantiate((context) => {
|
|
346
|
+
const string = referenceString, ///
|
|
347
|
+
referenceNode = instantiateReference(string, context);
|
|
347
348
|
|
|
348
|
-
|
|
349
|
+
reference = referenceFromReferenceNode(referenceNode, context);
|
|
350
|
+
}, context);
|
|
349
351
|
}, context);
|
|
350
352
|
}, context);
|
|
351
353
|
|
package/src/element/section.js
CHANGED
package/src/element/signature.js
CHANGED
|
@@ -6,7 +6,7 @@ import { arrayUtilities } from "necessary";
|
|
|
6
6
|
import { define } from "../elements";
|
|
7
7
|
import { signatureFromSignatureNode } from "../utilities/element";
|
|
8
8
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
9
|
-
import { join, ablate, attempt, reconcile, serialise, unserialise, instantiate } from "../utilities/context";
|
|
9
|
+
import { join, posit, ablate, attempt, reconcile, serialise, unserialise, instantiate } from "../utilities/context";
|
|
10
10
|
|
|
11
11
|
const { match } = arrayUtilities;
|
|
12
12
|
|
|
@@ -276,12 +276,14 @@ export default define(class Signature extends Element {
|
|
|
276
276
|
static fromSignatureString(signatureString, context) {
|
|
277
277
|
let signature;
|
|
278
278
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
279
|
+
posit((context) => {
|
|
280
|
+
ablate((context) => {
|
|
281
|
+
instantiate((context) => {
|
|
282
|
+
const string = signatureString, ///
|
|
283
|
+
signatureNode = instantiateSignature(string, context);
|
|
283
284
|
|
|
284
|
-
|
|
285
|
+
signature = signatureFromSignatureNode(signatureNode, context);
|
|
286
|
+
}, context);
|
|
285
287
|
}, context);
|
|
286
288
|
}, context);
|
|
287
289
|
|
package/src/element/statement.js
CHANGED
|
@@ -5,8 +5,8 @@ import { Element } from "occam-languages";
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
import { unifyStatement } from "../process/unify";
|
|
7
7
|
import { validateStatements } from "../utilities/validation";
|
|
8
|
-
import { reconcile, instantiate } from "../utilities/context";
|
|
9
8
|
import { instantiateStatement } from "../process/instantiate";
|
|
9
|
+
import { reconcile, instantiate } from "../utilities/context";
|
|
10
10
|
import { breakPointFromJSON, breakPointToBreakPointJSON } from "../utilities/breakPoint";
|
|
11
11
|
|
|
12
12
|
export default define(class Statement extends Element {
|