occam-verify-cli 0.0.1068 → 0.0.1069
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/action/verify.js +3 -2
- package/lib/assertion/subproof.js +3 -3
- package/lib/axiom.js +11 -6
- package/lib/combinator.js +9 -9
- package/lib/conclusion.js +10 -7
- package/lib/conjecture.js +11 -6
- package/lib/consequent.js +10 -7
- package/lib/constructor.js +9 -9
- package/lib/context/file.js +34 -126
- package/lib/context/local.js +16 -5
- package/lib/context/release.js +2 -3
- package/lib/declaration.js +50 -43
- package/lib/equivalence.js +2 -2
- package/lib/frame.js +100 -80
- package/lib/index.js +22 -6
- package/lib/judgement.js +3 -3
- package/lib/label.js +12 -8
- package/lib/lemma.js +12 -12
- package/lib/metaLemma.js +120 -8
- package/lib/metatheorem.js +145 -9
- package/lib/metavariable.js +39 -22
- package/lib/mixins/statement/qualified/unify.js +6 -10
- package/lib/mixins/statement/unify.js +3 -3
- package/lib/mixins/term/unify.js +2 -2
- package/lib/premise.js +12 -8
- package/lib/reference.js +7 -9
- package/lib/rule.js +24 -39
- package/lib/ruleNames.js +1 -5
- package/lib/statement/unqualified.js +9 -8
- package/lib/statement.js +4 -4
- package/lib/substitution/frameForMetavariable.js +30 -26
- package/lib/substitution/statementForMetavariable.js +44 -26
- package/lib/substitution/termForVariable.js +33 -37
- package/lib/substitution.js +24 -21
- package/lib/substitutions.js +7 -1
- package/lib/supposition.js +12 -8
- package/lib/term.js +6 -11
- package/lib/theorem.js +11 -6
- package/lib/topLevelAssertion.js +24 -42
- package/lib/type.js +5 -12
- package/lib/unifier/metaLevel.js +3 -3
- package/lib/unifier/metavariable.js +6 -6
- package/lib/unifier/statementWithCombinator.js +16 -16
- package/lib/unifier/termWithConstructor.js +7 -7
- package/lib/utilities/brackets.js +10 -10
- package/lib/utilities/json.js +493 -0
- package/lib/utilities/node.js +15 -22
- package/lib/utilities/release.js +53 -0
- package/lib/utilities/releaseContext.js +4 -15
- package/lib/utilities/tokens.js +7 -7
- package/lib/variable.js +6 -11
- package/lib/verifier/topLevel.js +5 -5
- package/package.json +1 -1
- package/src/assertion/subproof.js +2 -3
- package/src/axiom.js +14 -6
- package/src/combinator.js +12 -13
- package/src/conclusion.js +12 -9
- package/src/conjecture.js +14 -6
- package/src/consequent.js +12 -9
- package/src/constructor.js +11 -13
- package/src/context/file.js +94 -202
- package/src/context/local.js +8 -6
- package/src/context/release.js +2 -3
- package/src/declaration.js +72 -44
- package/src/equivalence.js +2 -2
- package/src/frame.js +111 -86
- package/src/index.js +17 -1
- package/src/judgement.js +2 -2
- package/src/label.js +15 -10
- package/src/lemma.js +17 -10
- package/src/metaLemma.js +102 -1
- package/src/metatheorem.js +143 -2
- package/src/metavariable.js +50 -30
- package/src/mixins/statement/qualified/unify.js +7 -19
- package/src/mixins/statement/unify.js +2 -2
- package/src/mixins/term/unify.js +1 -1
- package/src/premise.js +18 -10
- package/src/reference.js +7 -11
- package/src/rule.js +33 -57
- package/src/ruleNames.js +0 -1
- package/src/statement/unqualified.js +10 -10
- package/src/statement.js +3 -2
- package/src/substitution/frameForMetavariable.js +39 -33
- package/src/substitution/statementForMetavariable.js +64 -31
- package/src/substitution/termForVariable.js +47 -37
- package/src/substitution.js +18 -16
- package/src/substitutions.js +2 -0
- package/src/supposition.js +18 -10
- package/src/term.js +5 -15
- package/src/theorem.js +14 -6
- package/src/topLevelAssertion.js +38 -64
- package/src/type.js +5 -20
- package/src/unifier/metaLevel.js +2 -2
- package/src/unifier/metavariable.js +5 -5
- package/src/unifier/statementWithCombinator.js +18 -18
- package/src/unifier/termWithConstructor.js +7 -7
- package/src/utilities/brackets.js +5 -5
- package/src/utilities/json.js +551 -0
- package/src/utilities/node.js +15 -26
- package/src/{verify → utilities}/release.js +5 -1
- package/src/utilities/releaseContext.js +2 -2
- package/src/utilities/tokens.js +10 -7
- package/src/variable.js +4 -14
- package/src/verifier/topLevel.js +6 -4
- package/lib/argument.js +0 -106
- package/lib/metaTypes.js +0 -19
- package/lib/unify/statementWithSttaemetnGivenEquivalences.js +0 -45
- package/lib/verify/metaLemma.js +0 -49
- package/lib/verify/metatheorem.js +0 -48
- package/lib/verify/release.js +0 -50
- package/src/argument.js +0 -79
- package/src/metaTypes.js +0 -11
- package/src/unify/statementWithSttaemetnGivenEquivalences.js +0 -51
- package/src/verify/metaLemma.js +0 -72
- package/src/verify/metatheorem.js +0 -67
package/lib/label.js
CHANGED
|
@@ -5,11 +5,14 @@ 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 _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
11
13
|
var _metavariable = /*#__PURE__*/ _interop_require_default(require("./metavariable"));
|
|
12
14
|
var _query = require("./utilities/query");
|
|
15
|
+
var _json = require("./utilities/json");
|
|
13
16
|
function _class_call_check(instance, Constructor) {
|
|
14
17
|
if (!(instance instanceof Constructor)) {
|
|
15
18
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -80,7 +83,7 @@ var Label = /*#__PURE__*/ function() {
|
|
|
80
83
|
{
|
|
81
84
|
key: "toJSON",
|
|
82
85
|
value: function toJSON() {
|
|
83
|
-
var metavariableJSON = this.metavariable
|
|
86
|
+
var metavariableJSON = (0, _json.metavariableToMetavariableJSON)(this.metavariable), metavariable = metavariableJSON, json = {
|
|
84
87
|
metavariable: metavariable
|
|
85
88
|
};
|
|
86
89
|
return json;
|
|
@@ -90,22 +93,23 @@ var Label = /*#__PURE__*/ function() {
|
|
|
90
93
|
{
|
|
91
94
|
key: "fromJSON",
|
|
92
95
|
value: function fromJSON(json, fileContext) {
|
|
93
|
-
var metavariable = json
|
|
94
|
-
json = metavariable; ///
|
|
95
|
-
metavariable = _metavariable.default.fromJSON(json, fileContext);
|
|
96
|
-
var label = new Label(metavariable);
|
|
96
|
+
var metavariable = (0, _json.metavariableFromJSON)(json, fileContext), label = new Label(metavariable);
|
|
97
97
|
return label;
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
key: "fromLabelNode",
|
|
102
102
|
value: function fromLabelNode(labelNode, fileContext) {
|
|
103
|
-
var metavariableNode = metavariableNodeQuery(labelNode), metavariable = _metavariable.default.fromMetavariableNode(metavariableNode,
|
|
103
|
+
var metavariableNode = metavariableNodeQuery(labelNode), localContext = _local.default.fromFileContext(fileContext), metavariable = _metavariable.default.fromMetavariableNode(metavariableNode, localContext), label = new Label(metavariable);
|
|
104
104
|
return label;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
]);
|
|
108
108
|
return Label;
|
|
109
109
|
}();
|
|
110
|
+
Object.assign(_shim.default, {
|
|
111
|
+
Label: Label
|
|
112
|
+
});
|
|
113
|
+
var _default = Label;
|
|
110
114
|
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgTWV0YXZhcmlhYmxlIGZyb20gXCIuL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZUZyb21KU09OLCBtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvL2xhYmVsL21ldGF2YXJpYWJsZVwiKTtcblxuY2xhc3MgTGFiZWwge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGUpIHtcbiAgICB0aGlzLm1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZS5nZXRTdHJpbmcoKTsgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZS5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7IH1cblxuICB2ZXJpZnlBdFRvcExldmVsKGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkQXRUb3BMZXZlbCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsU3RyaW5nfScgbGFiZWwgYXQgdG9wIGxldmVsLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5tZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGxhYmVsUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzTGFiZWxQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKGxhYmVsUHJlc2VudCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtsYWJlbFN0cmluZ30nIGxhYmVsIGlzIGFscmVhZHkgcHJlc2VudC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmVyaWZpZWRBdFRvcExldmVsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWRBdFRvcExldmVsKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2xhYmVsU3RyaW5nfScgbGFiZWwgYXQgdG9wIGxldmVsLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZEF0VG9wTGV2ZWw7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlSlNPTiA9IG1ldGF2YXJpYWJsZVRvTWV0YXZhcmlhYmxlSlNPTih0aGlzLm1ldGF2YXJpYWJsZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gbWV0YXZhcmlhYmxlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBtZXRhdmFyaWFibGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgbGFiZWwgPSBuZXcgTGFiZWwobWV0YXZhcmlhYmxlKTtcblxuICAgIHJldHVybiBsYWJlbDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxOb2RlKGxhYmVsTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGxhYmVsTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgbGFiZWwgPSBuZXcgTGFiZWwobWV0YXZhcmlhYmxlKTtcblxuICAgIHJldHVybiBsYWJlbDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgTGFiZWxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBMYWJlbDtcbiJdLCJuYW1lcyI6WyJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJMYWJlbCIsIm1ldGF2YXJpYWJsZSIsImdldE1ldGF2YXJpYWJsZSIsImdldFN0cmluZyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJ2ZXJpZnlBdFRvcExldmVsIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZEF0VG9wTGV2ZWwiLCJsYWJlbFN0cmluZyIsInRyYWNlIiwiZ2V0Tm9kZSIsImxhYmVsUHJlc2VudCIsImlzTGFiZWxQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlIiwiZGVidWciLCJ0b0pTT04iLCJtZXRhdmFyaWFibGVKU09OIiwibWV0YXZhcmlhYmxlVG9NZXRhdmFyaWFibGVKU09OIiwianNvbiIsImZyb21KU09OIiwibWV0YXZhcmlhYmxlRnJvbUpTT04iLCJsYWJlbCIsImZyb21MYWJlbE5vZGUiLCJsYWJlbE5vZGUiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJNZXRhdmFyaWFibGUiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQThFQTs7O2VBQUE7OzsyREE1RWlCOzREQUNRO21FQUNBO3FCQUVDO29CQUMyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVyRSxJQUFNQSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFeEMsSUFBQSxBQUFNQyxzQkFBTjthQUFNQSxNQUNRQyxZQUFZO2dDQURwQkQ7UUFFRixJQUFJLENBQUNDLFlBQVksR0FBR0E7O2tCQUZsQkQ7O1lBS0pFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsWUFBWTtZQUMxQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsWUFBWSxDQUFDRSxTQUFTO1lBQUk7OztZQUVwREMsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsZ0JBQWdCO2dCQUFJLE9BQU8sSUFBSSxDQUFDSixZQUFZLENBQUNHLHFCQUFxQixDQUFDQztZQUFtQjs7O1lBRTVHQyxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCQyxXQUFXO2dCQUMxQixJQUFJQyxxQkFBcUI7Z0JBRXpCLElBQU1DLGNBQWMsSUFBSSxDQUFDTixTQUFTLElBQUksR0FBRztnQkFFekNJLFlBQVlHLEtBQUssQ0FBQyxBQUFDLGtCQUE2QixPQUFaRCxhQUFZO2dCQUVoRCxJQUFNSixtQkFBbUIsSUFBSSxDQUFDSixZQUFZLENBQUNVLE9BQU8sSUFDNUNDLGVBQWVMLFlBQVlNLGdDQUFnQyxDQUFDUjtnQkFFbEUsSUFBSU8sY0FBYztvQkFDaEJMLFlBQVlPLEtBQUssQ0FBQyxBQUFDLFFBQW1CLE9BQVpMLGFBQVk7Z0JBQ3hDLE9BQU87b0JBQ0xELHFCQUFxQjtnQkFDdkI7Z0JBRUEsSUFBSUEsb0JBQW9CO29CQUN0QkQsWUFBWU8sS0FBSyxDQUFDLEFBQUMsb0JBQStCLE9BQVpMLGFBQVk7Z0JBQ3BEO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsbUJBQW1CQyxJQUFBQSxvQ0FBOEIsRUFBQyxJQUFJLENBQUNoQixZQUFZLEdBQ25FQSxlQUFlZSxrQkFDZkUsT0FBTztvQkFDTGpCLGNBQUFBO2dCQUNGO2dCQUVOLE9BQU9pQjtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRVgsV0FBVztnQkFDL0IsSUFBTU4sZUFBZW1CLElBQUFBLDBCQUFvQixFQUFDRixNQUFNWCxjQUMxQ2MsUUFBUSxJQWhEWnJCLE1BZ0RzQkM7Z0JBRXhCLE9BQU9vQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsY0FBY0MsU0FBUyxFQUFFaEIsV0FBVztnQkFDekMsSUFBTUYsbUJBQW1CUCxzQkFBc0J5QixZQUN6Q0MsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNuQixjQUM1Q04sZUFBZTBCLHFCQUFZLENBQUNDLG9CQUFvQixDQUFDdkIsa0JBQWtCbUIsZUFDbkVILFFBQVEsSUF6RFpyQixNQXlEc0JDO2dCQUV4QixPQUFPb0I7WUFDVDs7O1dBNURJckI7O0FBK0RONkIsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEIvQixPQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|
package/lib/lemma.js
CHANGED
|
@@ -5,9 +5,10 @@ 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 _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
11
12
|
var _label = /*#__PURE__*/ _interop_require_default(require("./label"));
|
|
12
13
|
var _proof = /*#__PURE__*/ _interop_require_default(require("./proof"));
|
|
13
14
|
var _consequent = /*#__PURE__*/ _interop_require_default(require("./consequent"));
|
|
@@ -15,6 +16,7 @@ var _supposition = /*#__PURE__*/ _interop_require_default(require("./supposition
|
|
|
15
16
|
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
16
17
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("./substitutions"));
|
|
17
18
|
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
19
|
+
var _constants = require("./constants");
|
|
18
20
|
var _query = require("./utilities/query");
|
|
19
21
|
function _assert_this_initialized(self) {
|
|
20
22
|
if (self === void 0) {
|
|
@@ -148,8 +150,8 @@ var Lemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
148
150
|
value: function verify() {
|
|
149
151
|
var _this = this;
|
|
150
152
|
var verified = false;
|
|
151
|
-
var
|
|
152
|
-
|
|
153
|
+
var lemmaString = this.string; ///
|
|
154
|
+
lemmaString === _constants.EMPTY_STRING ? this.fileContext.trace("Verifying a lemma...") : this.fileContext.trace("Verifying the '".concat(lemmaString, "' lemma..."));
|
|
153
155
|
var labelsVerifiedAtTopLevel = this.labels.every(function(label) {
|
|
154
156
|
var labelVVerifiedAtTopLevel = label.verifyAtTopLevel(_this.fileContext);
|
|
155
157
|
if (labelVVerifiedAtTopLevel) {
|
|
@@ -176,18 +178,12 @@ var Lemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
if (verified) {
|
|
179
|
-
|
|
181
|
+
lemmaString === _constants.EMPTY_STRING ? this.fileContext.debug("...verified a lemma.") : this.fileContext.debug("...verified the '".concat(lemmaString, "' lemma."));
|
|
180
182
|
}
|
|
181
183
|
return verified;
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
186
|
], [
|
|
185
|
-
{
|
|
186
|
-
key: "fromJSON",
|
|
187
|
-
value: function fromJSON(json, fileContext) {
|
|
188
|
-
return _topLevelAssertion.default.fromJSON(Lemma, json, fileContext);
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
187
|
{
|
|
192
188
|
key: "fromLemmaNode",
|
|
193
189
|
value: function fromLemmaNode(lemmaNode, fileContext) {
|
|
@@ -197,12 +193,16 @@ var Lemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
197
193
|
}), suppositions = suppositionNodes.map(function(suppositionNode) {
|
|
198
194
|
var supposition = _supposition.default.fromSuppositionNode(suppositionNode, fileContext);
|
|
199
195
|
return supposition;
|
|
200
|
-
}), consequent = _consequent.default.fromConsequentNode(consequentNode, fileContext), proof = _proof.default.fromProofNode(proofNode, fileContext), lemma = new Lemma(fileContext, labels, suppositions, consequent, proof);
|
|
196
|
+
}), consequent = _consequent.default.fromConsequentNode(consequentNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), proof = _proof.default.fromProofNode(proofNode, fileContext), lemma = new Lemma(fileContext, string, labels, suppositions, consequent, proof);
|
|
201
197
|
return lemma;
|
|
202
198
|
}
|
|
203
199
|
}
|
|
204
200
|
]);
|
|
205
201
|
return Lemma;
|
|
206
202
|
}(_topLevelAssertion.default);
|
|
203
|
+
Object.assign(_shim.default, {
|
|
204
|
+
Lemma: Lemma
|
|
205
|
+
});
|
|
206
|
+
var _default = Lemma;
|
|
207
207
|
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sZW1tYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgUHJvb2YgZnJvbSBcIi4vcHJvb2ZcIjtcbmltcG9ydCBDb25zZXF1ZW50IGZyb20gXCIuL2NvbnNlcXVlbnRcIjtcbmltcG9ydCBTdXBwb3NpdGlvbiBmcm9tIFwiLi9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgVG9wTGV2ZWxBc3NlcnRpb24gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tTGFiZWxzIH0gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYS9wcm9vZlwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL2NvbnNlcXVlbnRcIiksXG4gICAgICBzdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2xlbW1hL3N1cHBvc2l0aW9uXCIpO1xuXG5jbGFzcyBMZW1tYSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbGVtbWFTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgKGxlbW1hU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyBhIGxlbW1hLi4uYCkgOlxuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xlbW1hU3RyaW5nfScgbGVtbWEuLi5gKTtcblxuICAgIGNvbnN0IGxhYmVsc1ZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMubGFiZWxzLmV2ZXJ5KChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxWVmVyaWZpZWRBdFRvcExldmVsID0gbGFiZWwudmVyaWZ5QXRUb3BMZXZlbCh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgICAgaWYgKGxhYmVsVlZlcmlmaWVkQXRUb3BMZXZlbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChsYWJlbHNWZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQodGhpcy5maWxlQ29udGV4dCksXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHRoaXMuc3VwcG9zaXRpb25zLmV2ZXJ5KChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblZlcmlmaWVkID0gc3VwcG9zaXRpb24udmVyaWZ5KGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKHN1cHBvc2l0aW9uVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBjb25zZXF1ZW50VmVyaWZpZWQgPSB0aGlzLmNvbnNlcXVlbnQudmVyaWZ5KGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgICAgICAgcHJvb2ZWZXJpZmllZCA9IHRoaXMucHJvb2YudmVyaWZ5KHN1YnN0aXR1dGlvbnMsIHRoaXMuY29uc2VxdWVudCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgICBjb25zdCBsZW1tYSA9IHRoaXM7ICAvLy9cblxuICAgICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRMZW1tYShsZW1tYSk7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIChsZW1tYVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIGEgbGVtbWEuYCkgOlxuICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsZW1tYVN0cmluZ30nIGxlbW1hLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGVtbWFOb2RlKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICAgIGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxOb2Rlcy5tYXAoKGxhYmVsTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBMYWJlbC5mcm9tTGFiZWxOb2RlKGxhYmVsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25Ob2Rlcy5tYXAoKHN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb24gPSBTdXBwb3NpdGlvbi5mcm9tU3VwcG9zaXRpb25Ob2RlKHN1cHBvc2l0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uc2VxdWVudCA9IENvbnNlcXVlbnQuZnJvbUNvbnNlcXVlbnROb2RlKGNvbnNlcXVlbnROb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUxhYmVscyhsYWJlbHMpLFxuICAgICAgICAgIHByb29mID0gUHJvb2YuZnJvbVByb29mTm9kZShwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBsZW1tYSA9IG5ldyBMZW1tYShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgcHJvb2YpO1xuXG4gICAgcmV0dXJuIGxlbW1hO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBMZW1tYVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IExlbW1hO1xuIl0sIm5hbWVzIjpbInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJMZW1tYSIsInZlcmlmeSIsInZlcmlmaWVkIiwibGVtbWFTdHJpbmciLCJzdHJpbmciLCJFTVBUWV9TVFJJTkciLCJmaWxlQ29udGV4dCIsInRyYWNlIiwibGFiZWxzVmVyaWZpZWRBdFRvcExldmVsIiwibGFiZWxzIiwiZXZlcnkiLCJsYWJlbCIsImxhYmVsVlZlcmlmaWVkQXRUb3BMZXZlbCIsInZlcmlmeUF0VG9wTGV2ZWwiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25WZXJpZmllZCIsImNvbnNlcXVlbnRWZXJpZmllZCIsImNvbnNlcXVlbnQiLCJzdWJzdGl0dXRpb25zIiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwicHJvb2ZWZXJpZmllZCIsInByb29mIiwibGVtbWEiLCJhZGRMZW1tYSIsImRlYnVnIiwiZnJvbUxlbW1hTm9kZSIsImxlbW1hTm9kZSIsInByb29mTm9kZSIsImxhYmVsTm9kZXMiLCJjb25zZXF1ZW50Tm9kZSIsInN1cHBvc2l0aW9uTm9kZXMiLCJtYXAiLCJsYWJlbE5vZGUiLCJMYWJlbCIsImZyb21MYWJlbE5vZGUiLCJzdXBwb3NpdGlvbk5vZGUiLCJTdXBwb3NpdGlvbiIsImZyb21TdXBwb3NpdGlvbk5vZGUiLCJDb25zZXF1ZW50IiwiZnJvbUNvbnNlcXVlbnROb2RlIiwic3RyaW5nRnJvbUxhYmVscyIsIlByb29mIiwiZnJvbVByb29mTm9kZSIsIlRvcExldmVsQXNzZXJ0aW9uIiwiT2JqZWN0IiwiYXNzaWduIiwic2hpbSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBdUdBOzs7ZUFBQTs7OzJEQXJHaUI7NERBQ0M7NERBQ0E7aUVBQ0s7a0VBQ0M7NERBQ0M7b0VBQ0M7eUVBQ0k7eUJBRUQ7cUJBRVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/metaLemma.js
CHANGED
|
@@ -8,7 +8,15 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return MetaLemma;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _label = /*#__PURE__*/ _interop_require_default(require("./label"));
|
|
12
|
+
var _proof = /*#__PURE__*/ _interop_require_default(require("./proof"));
|
|
13
|
+
var _consequent = /*#__PURE__*/ _interop_require_default(require("./consequent"));
|
|
14
|
+
var _supposition = /*#__PURE__*/ _interop_require_default(require("./supposition"));
|
|
15
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
16
|
+
var _substitutions = /*#__PURE__*/ _interop_require_default(require("./substitutions"));
|
|
17
|
+
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
18
|
+
var _constants = require("./constants");
|
|
19
|
+
var _query = require("./utilities/query");
|
|
12
20
|
function _assert_this_initialized(self) {
|
|
13
21
|
if (self === void 0) {
|
|
14
22
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -62,6 +70,47 @@ function _interop_require_default(obj) {
|
|
|
62
70
|
default: obj
|
|
63
71
|
};
|
|
64
72
|
}
|
|
73
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
74
|
+
if (typeof WeakMap !== "function") return null;
|
|
75
|
+
var cacheBabelInterop = new WeakMap();
|
|
76
|
+
var cacheNodeInterop = new WeakMap();
|
|
77
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
78
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
79
|
+
})(nodeInterop);
|
|
80
|
+
}
|
|
81
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
82
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
83
|
+
return obj;
|
|
84
|
+
}
|
|
85
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
86
|
+
return {
|
|
87
|
+
default: obj
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
91
|
+
if (cache && cache.has(obj)) {
|
|
92
|
+
return cache.get(obj);
|
|
93
|
+
}
|
|
94
|
+
var newObj = {
|
|
95
|
+
__proto__: null
|
|
96
|
+
};
|
|
97
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
98
|
+
for(var key in obj){
|
|
99
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
100
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
101
|
+
if (desc && (desc.get || desc.set)) {
|
|
102
|
+
Object.defineProperty(newObj, key, desc);
|
|
103
|
+
} else {
|
|
104
|
+
newObj[key] = obj[key];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
newObj.default = obj;
|
|
109
|
+
if (cache) {
|
|
110
|
+
cache.set(obj, newObj);
|
|
111
|
+
}
|
|
112
|
+
return newObj;
|
|
113
|
+
}
|
|
65
114
|
function _possible_constructor_return(self, call) {
|
|
66
115
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
67
116
|
return call;
|
|
@@ -87,21 +136,84 @@ function _is_native_reflect_construct() {
|
|
|
87
136
|
return !!result;
|
|
88
137
|
})();
|
|
89
138
|
}
|
|
139
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/metaLemma/proof"), labelNodesQuery = (0, _query.nodesQuery)("/metaLemma/label"), consequentNodeQuery = (0, _query.nodeQuery)("/metaLemma/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/metaLemma/supposition");
|
|
90
140
|
var MetaLemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
91
141
|
_inherits(MetaLemma, TopLevelAssertion);
|
|
92
|
-
function MetaLemma() {
|
|
142
|
+
function MetaLemma(fileContext, string, labels, suppositions, consequent, proof, substitutions) {
|
|
93
143
|
_class_call_check(this, MetaLemma);
|
|
94
|
-
|
|
144
|
+
var _this;
|
|
145
|
+
_this = _call_super(this, MetaLemma, [
|
|
146
|
+
fileContext,
|
|
147
|
+
string,
|
|
148
|
+
labels,
|
|
149
|
+
suppositions,
|
|
150
|
+
consequent,
|
|
151
|
+
proof
|
|
152
|
+
]);
|
|
153
|
+
_this.substitutions = substitutions;
|
|
154
|
+
return _this;
|
|
95
155
|
}
|
|
96
|
-
_create_class(MetaLemma,
|
|
156
|
+
_create_class(MetaLemma, [
|
|
157
|
+
{
|
|
158
|
+
key: "getSubstitutions",
|
|
159
|
+
value: function getSubstitutions() {
|
|
160
|
+
return this.substitutions;
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
key: "verify",
|
|
165
|
+
value: function verify() {
|
|
166
|
+
var _this = this;
|
|
167
|
+
var verified = false;
|
|
168
|
+
var metaLemmaString = this.string; ///
|
|
169
|
+
metaLemmaString === _constants.EMPTY_STRING ? this.fileContext.trace("Verifying a meta-lemma...") : this.fileContext.trace("Verifying the '".concat(metaLemmaString, "' meta-lemma..."));
|
|
170
|
+
var labelsVerifiedAtTopLevel = this.labels.every(function(label) {
|
|
171
|
+
var labelVVerifiedAtTopLevel = label.verifyAtTopLevel(_this.fileContext);
|
|
172
|
+
if (labelVVerifiedAtTopLevel) {
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
if (labelsVerifiedAtTopLevel) {
|
|
177
|
+
var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
|
|
178
|
+
var suppositionVerified = supposition.verify(localContext);
|
|
179
|
+
if (suppositionVerified) {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
if (suppositionsVerified) {
|
|
184
|
+
var consequentVerified = this.consequent.verify(localContext);
|
|
185
|
+
if (consequentVerified) {
|
|
186
|
+
var proofVerified = this.proof.verify(this.substitutions, this.consequent, localContext);
|
|
187
|
+
if (proofVerified) {
|
|
188
|
+
var metaLemma = this; ///
|
|
189
|
+
this.fileContext.addMetaLemma(metaLemma);
|
|
190
|
+
verified = true;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (verified) {
|
|
196
|
+
metaLemmaString === _constants.EMPTY_STRING ? this.fileContext.debug("...verified a meta-lemma.") : this.fileContext.debug("...verified the '".concat(metaLemmaString, "' meta-lemma."));
|
|
197
|
+
}
|
|
198
|
+
return verified;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
], [
|
|
97
202
|
{
|
|
98
|
-
key: "
|
|
99
|
-
value: function
|
|
100
|
-
|
|
203
|
+
key: "fromMetaLemmaNode",
|
|
204
|
+
value: function fromMetaLemmaNode(metaLemmaNode, fileContext) {
|
|
205
|
+
var proofNode = proofNodeQuery(metaLemmaNode), labelNodes = labelNodesQuery(metaLemmaNode), consequentNode = consequentNodeQuery(metaLemmaNode), suppositionNodes = suppositionNodesQuery(metaLemmaNode), labels = labelNodes.map(function(labelNode) {
|
|
206
|
+
var label = _label.default.fromLabelNode(labelNode, fileContext);
|
|
207
|
+
return label;
|
|
208
|
+
}), suppositions = suppositionNodes.map(function(suppositionNode) {
|
|
209
|
+
var supposition = _supposition.default.fromSuppositionNode(suppositionNode, fileContext);
|
|
210
|
+
return supposition;
|
|
211
|
+
}), consequent = _consequent.default.fromConsequentNode(consequentNode, fileContext), proof = _proof.default.fromProofNode(proofNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), substitutions = _substitutions.default.fromNothing(), metaLemma = new MetaLemma(fileContext, string, labels, suppositions, consequent, proof, substitutions);
|
|
212
|
+
return metaLemma;
|
|
101
213
|
}
|
|
102
214
|
}
|
|
103
215
|
]);
|
|
104
216
|
return MetaLemma;
|
|
105
217
|
}(_topLevelAssertion.default);
|
|
106
218
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhTGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMYWJlbCBmcm9tIFwiLi9sYWJlbFwiO1xuaW1wb3J0IFByb29mIGZyb20gXCIuL3Byb29mXCI7XG5pbXBvcnQgQ29uc2VxdWVudCBmcm9tIFwiLi9jb25zZXF1ZW50XCI7XG5pbXBvcnQgU3VwcG9zaXRpb24gZnJvbSBcIi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4vc3Vic3RpdHV0aW9uc1wiO1xuaW1wb3J0IFRvcExldmVsQXNzZXJ0aW9uIGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nRnJvbUxhYmVscyB9IGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YUxlbW1hL3Byb29mXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhTGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYS9jb25zZXF1ZW50XCIpLFxuICAgICAgc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhTGVtbWEvc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFMZW1tYSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3IoZmlsZUNvbnRleHQsIHN0cmluZywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHByb29mLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgc3VwZXIoZmlsZUNvbnRleHQsIHN0cmluZywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHByb29mKTtcblxuICAgIHRoaXMuc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnM7XG4gIH1cblxuICBnZXRTdWJzdGl0dXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnN0aXR1dGlvbnM7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhTGVtbWFTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgKG1ldGFMZW1tYVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgYSBtZXRhLWxlbW1hLi4uYCkgOlxuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFMZW1tYVN0cmluZ30nIG1ldGEtbGVtbWEuLi5gKTtcblxuICAgIGNvbnN0IGxhYmVsc1ZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMubGFiZWxzLmV2ZXJ5KChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxWVmVyaWZpZWRBdFRvcExldmVsID0gbGFiZWwudmVyaWZ5QXRUb3BMZXZlbCh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgICAgaWYgKGxhYmVsVlZlcmlmaWVkQXRUb3BMZXZlbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChsYWJlbHNWZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQodGhpcy5maWxlQ29udGV4dCksXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHRoaXMuc3VwcG9zaXRpb25zLmV2ZXJ5KChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblZlcmlmaWVkID0gc3VwcG9zaXRpb24udmVyaWZ5KGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKHN1cHBvc2l0aW9uVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBjb25zZXF1ZW50VmVyaWZpZWQgPSB0aGlzLmNvbnNlcXVlbnQudmVyaWZ5KGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHByb29mVmVyaWZpZWQgPSB0aGlzLnByb29mLnZlcmlmeSh0aGlzLnN1YnN0aXR1dGlvbnMsIHRoaXMuY29uc2VxdWVudCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgICBjb25zdCBtZXRhTGVtbWEgPSB0aGlzOyAgLy8vXG5cbiAgICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuYWRkTWV0YUxlbW1hKG1ldGFMZW1tYSk7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIChtZXRhTGVtbWFTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCBhIG1ldGEtbGVtbWEuYCkgOlxuICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhTGVtbWFTdHJpbmd9JyBtZXRhLWxlbW1hLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YUxlbW1hTm9kZShtZXRhTGVtbWFOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgIGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobWV0YUxlbW1hTm9kZSksXG4gICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbk5vZGVzUXVlcnkobWV0YUxlbW1hTm9kZSksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxOb2Rlcy5tYXAoKGxhYmVsTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBMYWJlbC5mcm9tTGFiZWxOb2RlKGxhYmVsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25Ob2Rlcy5tYXAoKHN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb24gPSBTdXBwb3NpdGlvbi5mcm9tU3VwcG9zaXRpb25Ob2RlKHN1cHBvc2l0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uc2VxdWVudCA9IENvbnNlcXVlbnQuZnJvbUNvbnNlcXVlbnROb2RlKGNvbnNlcXVlbnROb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJvb2YgPSBQcm9vZi5mcm9tUHJvb2ZOb2RlKHByb29mTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21MYWJlbHMobGFiZWxzKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG1ldGFMZW1tYSA9IG5ldyBNZXRhTGVtbWEoZmlsZUNvbnRleHQsIHN0cmluZywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHByb29mLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHJldHVybiBtZXRhTGVtbWE7XG4gIH1cbn1cblxuIl0sIm5hbWVzIjpbIk1ldGFMZW1tYSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJmaWxlQ29udGV4dCIsInN0cmluZyIsImxhYmVscyIsInN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnQiLCJwcm9vZiIsInN1YnN0aXR1dGlvbnMiLCJnZXRTdWJzdGl0dXRpb25zIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJtZXRhTGVtbWFTdHJpbmciLCJFTVBUWV9TVFJJTkciLCJ0cmFjZSIsImxhYmVsc1ZlcmlmaWVkQXRUb3BMZXZlbCIsImV2ZXJ5IiwibGFiZWwiLCJsYWJlbFZWZXJpZmllZEF0VG9wTGV2ZWwiLCJ2ZXJpZnlBdFRvcExldmVsIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0Iiwic3VwcG9zaXRpb25zVmVyaWZpZWQiLCJzdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uVmVyaWZpZWQiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJwcm9vZlZlcmlmaWVkIiwibWV0YUxlbW1hIiwiYWRkTWV0YUxlbW1hIiwiZGVidWciLCJmcm9tTWV0YUxlbW1hTm9kZSIsIm1ldGFMZW1tYU5vZGUiLCJwcm9vZk5vZGUiLCJsYWJlbE5vZGVzIiwiY29uc2VxdWVudE5vZGUiLCJzdXBwb3NpdGlvbk5vZGVzIiwibWFwIiwibGFiZWxOb2RlIiwiTGFiZWwiLCJmcm9tTGFiZWxOb2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiU3VwcG9zaXRpb24iLCJmcm9tU3VwcG9zaXRpb25Ob2RlIiwiQ29uc2VxdWVudCIsImZyb21Db25zZXF1ZW50Tm9kZSIsIlByb29mIiwiZnJvbVByb29mTm9kZSIsInN0cmluZ0Zyb21MYWJlbHMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJUb3BMZXZlbEFzc2VydGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFtQnFCQTs7OzREQWpCSDs0REFDQTtpRUFDSztrRUFDQzs0REFDQztvRUFDQzt5RUFDSTt5QkFFRDtxQkFFUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLElBQU1DLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQkFDM0JDLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxxQkFDN0JDLHNCQUFzQkgsSUFBQUEsZ0JBQVMsRUFBQywwQkFDaENJLHdCQUF3QkYsSUFBQUEsaUJBQVUsRUFBQztBQUUxQixJQUFBLEFBQU1KLDBCQUFOO2NBQU1BO2FBQUFBLFVBQ1BPLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLFlBQVksRUFBRUMsVUFBVSxFQUFFQyxLQUFLLEVBQUVDLGFBQWE7Z0NBRHBFYjs7Z0JBRWpCLGtCQUZpQkE7WUFFWE87WUFBYUM7WUFBUUM7WUFBUUM7WUFBY0M7WUFBWUM7O1FBRTdELE1BQUtDLGFBQWEsR0FBR0E7OztrQkFKSmI7O1lBT25CYyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELGFBQWE7WUFDM0I7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7O2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBTUMsa0JBQWtCLElB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
|
package/lib/metatheorem.js
CHANGED
|
@@ -5,10 +5,19 @@ 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
|
|
11
|
+
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
+
var _label = /*#__PURE__*/ _interop_require_default(require("./label"));
|
|
13
|
+
var _proof = /*#__PURE__*/ _interop_require_default(require("./proof"));
|
|
14
|
+
var _consequent = /*#__PURE__*/ _interop_require_default(require("./consequent"));
|
|
15
|
+
var _supposition = /*#__PURE__*/ _interop_require_default(require("./supposition"));
|
|
16
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
17
|
+
var _substitutions = /*#__PURE__*/ _interop_require_default(require("./substitutions"));
|
|
18
|
+
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
19
|
+
var _query = require("./utilities/query");
|
|
20
|
+
var _json = require("./utilities/json");
|
|
12
21
|
function _assert_this_initialized(self) {
|
|
13
22
|
if (self === void 0) {
|
|
14
23
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -62,6 +71,47 @@ function _interop_require_default(obj) {
|
|
|
62
71
|
default: obj
|
|
63
72
|
};
|
|
64
73
|
}
|
|
74
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
75
|
+
if (typeof WeakMap !== "function") return null;
|
|
76
|
+
var cacheBabelInterop = new WeakMap();
|
|
77
|
+
var cacheNodeInterop = new WeakMap();
|
|
78
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
79
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
80
|
+
})(nodeInterop);
|
|
81
|
+
}
|
|
82
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
83
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
84
|
+
return obj;
|
|
85
|
+
}
|
|
86
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
87
|
+
return {
|
|
88
|
+
default: obj
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
92
|
+
if (cache && cache.has(obj)) {
|
|
93
|
+
return cache.get(obj);
|
|
94
|
+
}
|
|
95
|
+
var newObj = {
|
|
96
|
+
__proto__: null
|
|
97
|
+
};
|
|
98
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
99
|
+
for(var key in obj){
|
|
100
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
101
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
102
|
+
if (desc && (desc.get || desc.set)) {
|
|
103
|
+
Object.defineProperty(newObj, key, desc);
|
|
104
|
+
} else {
|
|
105
|
+
newObj[key] = obj[key];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
newObj.default = obj;
|
|
110
|
+
if (cache) {
|
|
111
|
+
cache.set(obj, newObj);
|
|
112
|
+
}
|
|
113
|
+
return newObj;
|
|
114
|
+
}
|
|
65
115
|
function _possible_constructor_return(self, call) {
|
|
66
116
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
67
117
|
return call;
|
|
@@ -87,21 +137,107 @@ function _is_native_reflect_construct() {
|
|
|
87
137
|
return !!result;
|
|
88
138
|
})();
|
|
89
139
|
}
|
|
140
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/metatheorem/proof"), labelNodesQuery = (0, _query.nodesQuery)("/metatheorem/label"), consequentNodeQuery = (0, _query.nodeQuery)("/metatheorem/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/metatheorem/supposition");
|
|
90
141
|
var Metatheorem = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
91
142
|
_inherits(Metatheorem, TopLevelAssertion);
|
|
92
|
-
function Metatheorem() {
|
|
143
|
+
function Metatheorem(fileContext, string, labels, suppositions, consequent, proof, substitutions) {
|
|
93
144
|
_class_call_check(this, Metatheorem);
|
|
94
|
-
|
|
145
|
+
var _this;
|
|
146
|
+
_this = _call_super(this, Metatheorem, [
|
|
147
|
+
fileContext,
|
|
148
|
+
string,
|
|
149
|
+
labels,
|
|
150
|
+
suppositions,
|
|
151
|
+
consequent,
|
|
152
|
+
proof
|
|
153
|
+
]);
|
|
154
|
+
_this.substitutions = substitutions;
|
|
155
|
+
return _this;
|
|
95
156
|
}
|
|
96
|
-
_create_class(Metatheorem,
|
|
157
|
+
_create_class(Metatheorem, [
|
|
97
158
|
{
|
|
98
|
-
key: "
|
|
99
|
-
value: function
|
|
100
|
-
return
|
|
159
|
+
key: "getSubstitutions",
|
|
160
|
+
value: function getSubstitutions() {
|
|
161
|
+
return this.substitutions;
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
key: "verify",
|
|
166
|
+
value: function verify() {
|
|
167
|
+
var _this = this;
|
|
168
|
+
var verified = false;
|
|
169
|
+
var metatheoremString = this.string; ///
|
|
170
|
+
this.fileContext.trace("Verifying the '".concat(metatheoremString, "' metatheorem..."));
|
|
171
|
+
var labelsVerifiedAtTopLevel = this.labels.every(function(label) {
|
|
172
|
+
var labelVVerifiedAtTopLevel = label.verifyAtTopLevel(_this.fileContext);
|
|
173
|
+
if (labelVVerifiedAtTopLevel) {
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
if (labelsVerifiedAtTopLevel) {
|
|
178
|
+
var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
|
|
179
|
+
var suppositionVerified = supposition.verify(localContext);
|
|
180
|
+
if (suppositionVerified) {
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
if (suppositionsVerified) {
|
|
185
|
+
var consequentVerified = this.consequent.verify(localContext);
|
|
186
|
+
if (consequentVerified) {
|
|
187
|
+
var proofVerified = this.proof.verify(this.substitutions, this.consequent, localContext);
|
|
188
|
+
if (proofVerified) {
|
|
189
|
+
var metatheorem = this; ///
|
|
190
|
+
this.fileContext.addMetatheorem(metatheorem);
|
|
191
|
+
verified = true;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (verified) {
|
|
197
|
+
this.fileContext.debug("...verified the '".concat(metatheoremString, "' metatheorem."));
|
|
198
|
+
}
|
|
199
|
+
return verified;
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
key: "toJSON",
|
|
204
|
+
value: function toJSON() {
|
|
205
|
+
var labelsJSON = (0, _json.labelsToLabelsJSON)(this.labels), consequentJSON = (0, _json.consequentToConsequentJSON)(this.consequent), suppositionsJSON = (0, _json.suppositionsToSuppositionsJSON)(this.suppositions), substitutionsJSON = (0, _json.substitutionsToSubstitutionsJSON)(this.substitutions), labels = labelsJSON, consequent = consequentJSON, suppositions = suppositionsJSON, substitutions = substitutionsJSON, json = {
|
|
206
|
+
labels: labels,
|
|
207
|
+
consequent: consequent,
|
|
208
|
+
suppositions: suppositions,
|
|
209
|
+
substitutions: substitutions
|
|
210
|
+
};
|
|
211
|
+
return json;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
], [
|
|
215
|
+
{
|
|
216
|
+
key: "fromJSON",
|
|
217
|
+
value: function fromJSON(json, fileContext) {
|
|
218
|
+
var labels = (0, _json.labelsFromJSON)(json, fileContext), consequent = (0, _json.consequentFromJSON)(json, fileContext), suppositions = (0, _json.suppositionsFromJSON)(json, fileContext), substitutions = (0, _json.substitutionsFromJSON)(json, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), proof = null, topLevelAssertion = new Metatheorem(fileContext, string, labels, suppositions, consequent, proof, substitutions);
|
|
219
|
+
return topLevelAssertion;
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
key: "fromMetatheoremNode",
|
|
224
|
+
value: function fromMetatheoremNode(metatheoremNode, fileContext) {
|
|
225
|
+
var proofNode = proofNodeQuery(metatheoremNode), labelNodes = labelNodesQuery(metatheoremNode), consequentNode = consequentNodeQuery(metatheoremNode), suppositionNodes = suppositionNodesQuery(metatheoremNode), labels = labelNodes.map(function(labelNode) {
|
|
226
|
+
var label = _label.default.fromLabelNode(labelNode, fileContext);
|
|
227
|
+
return label;
|
|
228
|
+
}), suppositions = suppositionNodes.map(function(suppositionNode) {
|
|
229
|
+
var supposition = _supposition.default.fromSuppositionNode(suppositionNode, fileContext);
|
|
230
|
+
return supposition;
|
|
231
|
+
}), consequent = _consequent.default.fromConsequentNode(consequentNode, fileContext), proof = _proof.default.fromProofNode(proofNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), substitutions = _substitutions.default.fromNothing(), metatheorem = new Metatheorem(fileContext, string, labels, suppositions, consequent, proof, substitutions);
|
|
232
|
+
return metatheorem;
|
|
101
233
|
}
|
|
102
234
|
}
|
|
103
235
|
]);
|
|
104
236
|
return Metatheorem;
|
|
105
237
|
}(_topLevelAssertion.default);
|
|
238
|
+
Object.assign(_shim.default, {
|
|
239
|
+
Metatheorem: Metatheorem
|
|
240
|
+
});
|
|
241
|
+
var _default = Metatheorem;
|
|
106
242
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRvcExldmVsQXNzZXJ0aW9uIGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGF0aGVvcmVtIGV4dGVuZHMgVG9wTGV2ZWxBc3NlcnRpb24ge1xuICBzdGF0aWMgZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbEFzc2VydGlvbi5mcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dChNZXRhdGhlb3JlbSwgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTsgfVxufVxuIl0sIm5hbWVzIjpbIk1ldGF0aGVvcmVtIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJsYWJlbHMiLCJzdXBwb3NpdGlvbnMiLCJjb25zZXF1ZW50Iiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0IiwiVG9wTGV2ZWxBc3NlcnRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O3dFQUZTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWYsSUFBQSxBQUFNQSw0QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ1pDLEtBQUFBO21CQUFQLFNBQU9BLDREQUE0REMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO2dCQUFJLE9BQU9DLDBCQUFpQixDQUFDTiwyREFBMkQsQ0FEcE1ELGFBQ2tORSxRQUFRQyxjQUFjQyxZQUFZQyxlQUFlQztZQUFjOzs7V0FEalJOO0VBQW9CTywwQkFBaUIifQ==
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgUHJvb2YgZnJvbSBcIi4vcHJvb2ZcIjtcbmltcG9ydCBDb25zZXF1ZW50IGZyb20gXCIuL2NvbnNlcXVlbnRcIjtcbmltcG9ydCBTdXBwb3NpdGlvbiBmcm9tIFwiLi9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgVG9wTGV2ZWxBc3NlcnRpb24gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tTGFiZWxzIH0gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcbmltcG9ydCB7IGxhYmVsc0Zyb21KU09OLFxuICAgICAgICAgbGFiZWxzVG9MYWJlbHNKU09OLFxuICAgICAgICAgY29uc2VxdWVudEZyb21KU09OLFxuICAgICAgICAgc3VwcG9zaXRpb25zRnJvbUpTT04sXG4gICAgICAgICBzdWJzdGl0dXRpb25zRnJvbUpTT04sXG4gICAgICAgICBjb25zZXF1ZW50VG9Db25zZXF1ZW50SlNPTixcbiAgICAgICAgIHN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTixcbiAgICAgICAgIHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXRoZW9yZW0vcHJvb2ZcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGF0aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbS9jb25zZXF1ZW50XCIpLFxuICAgICAgc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhdGhlb3JlbS9zdXBwb3NpdGlvblwiKTtcblxuY2xhc3MgTWV0YXRoZW9yZW0gZXh0ZW5kcyBUb3BMZXZlbEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZiwgc3Vic3RpdHV0aW9ucykge1xuICAgIHN1cGVyKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZik7XG5cbiAgICB0aGlzLnN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgZ2V0U3Vic3RpdHV0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbWV0YXRoZW9yZW1TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdGhlb3JlbVN0cmluZ30nIG1ldGF0aGVvcmVtLi4uYCk7XG5cbiAgICBjb25zdCBsYWJlbHNWZXJpZmllZEF0VG9wTGV2ZWwgPSB0aGlzLmxhYmVscy5ldmVyeSgobGFiZWwpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsVlZlcmlmaWVkQXRUb3BMZXZlbCA9IGxhYmVsLnZlcmlmeUF0VG9wTGV2ZWwodGhpcy5maWxlQ29udGV4dCk7XG5cbiAgICAgIGlmIChsYWJlbFZWZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobGFiZWxzVmVyaWZpZWRBdFRvcExldmVsKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KHRoaXMuZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgc3VwcG9zaXRpb25zVmVyaWZpZWQgPSB0aGlzLnN1cHBvc2l0aW9ucy5ldmVyeSgoc3VwcG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllZCA9IHN1cHBvc2l0aW9uLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgY29uc2VxdWVudFZlcmlmaWVkID0gdGhpcy5jb25zZXF1ZW50LnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChjb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBwcm9vZlZlcmlmaWVkID0gdGhpcy5wcm9vZi52ZXJpZnkodGhpcy5zdWJzdGl0dXRpb25zLCB0aGlzLmNvbnNlcXVlbnQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICBpZiAocHJvb2ZWZXJpZmllZCkge1xuICAgICAgICAgICAgY29uc3QgbWV0YXRoZW9yZW0gPSB0aGlzOyAgLy8vXG5cbiAgICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuYWRkTWV0YXRoZW9yZW0obWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXRoZW9yZW1TdHJpbmd9JyBtZXRhdGhlb3JlbS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsc1RvTGFiZWxzSlNPTih0aGlzLmxhYmVscyksXG4gICAgICAgICAgY29uc2VxdWVudEpTT04gPSBjb25zZXF1ZW50VG9Db25zZXF1ZW50SlNPTih0aGlzLmNvbnNlcXVlbnQpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc0pTT04gPSBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04odGhpcy5zdXBwb3NpdGlvbnMpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnNKU09OID0gc3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04odGhpcy5zdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgY29uc2VxdWVudCA9IGNvbnNlcXVlbnRKU09OLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBjb25zZXF1ZW50LFxuICAgICAgICAgICAgc3VwcG9zaXRpb25zLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IGxhYmVscyA9IGxhYmVsc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBjb25zZXF1ZW50ID0gY29uc2VxdWVudEZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUxhYmVscyhsYWJlbHMpLFxuICAgICAgICAgIHByb29mID0gbnVsbCxcbiAgICAgICAgICB0b3BMZXZlbEFzc2VydGlvbiA9IG5ldyBNZXRhdGhlb3JlbShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgcHJvb2YsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgcmV0dXJuIHRvcExldmVsQXNzZXJ0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhdGhlb3JlbU5vZGUobWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgICAgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbk5vZGVzUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbE5vZGVzLm1hcCgobGFiZWxOb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IExhYmVsLmZyb21MYWJlbE5vZGUobGFiZWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYWJlbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbk5vZGVzLm1hcCgoc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21TdXBwb3NpdGlvbk5vZGUoc3VwcG9zaXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25zZXF1ZW50ID0gQ29uc2VxdWVudC5mcm9tQ29uc2VxdWVudE5vZGUoY29uc2VxdWVudE5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBwcm9vZiA9IFByb29mLmZyb21Qcm9vZk5vZGUocHJvb2ZOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUxhYmVscyhsYWJlbHMpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbWV0YXRoZW9yZW0gPSBuZXcgTWV0YXRoZW9yZW0oZmlsZUNvbnRleHQsIHN0cmluZywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHByb29mLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgTWV0YXRoZW9yZW1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBNZXRhdGhlb3JlbTtcbiJdLCJuYW1lcyI6WyJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5IiwiTWV0YXRoZW9yZW0iLCJmaWxlQ29udGV4dCIsInN0cmluZyIsImxhYmVscyIsInN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnQiLCJwcm9vZiIsInN1YnN0aXR1dGlvbnMiLCJnZXRTdWJzdGl0dXRpb25zIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJtZXRhdGhlb3JlbVN0cmluZyIsInRyYWNlIiwibGFiZWxzVmVyaWZpZWRBdFRvcExldmVsIiwiZXZlcnkiLCJsYWJlbCIsImxhYmVsVlZlcmlmaWVkQXRUb3BMZXZlbCIsInZlcmlmeUF0VG9wTGV2ZWwiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25WZXJpZmllZCIsImNvbnNlcXVlbnRWZXJpZmllZCIsInByb29mVmVyaWZpZWQiLCJtZXRhdGhlb3JlbSIsImFkZE1ldGF0aGVvcmVtIiwiZGVidWciLCJ0b0pTT04iLCJsYWJlbHNKU09OIiwibGFiZWxzVG9MYWJlbHNKU09OIiwiY29uc2VxdWVudEpTT04iLCJjb25zZXF1ZW50VG9Db25zZXF1ZW50SlNPTiIsInN1cHBvc2l0aW9uc0pTT04iLCJzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04iLCJzdWJzdGl0dXRpb25zSlNPTiIsInN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OIiwianNvbiIsImZyb21KU09OIiwibGFiZWxzRnJvbUpTT04iLCJjb25zZXF1ZW50RnJvbUpTT04iLCJzdXBwb3NpdGlvbnNGcm9tSlNPTiIsInN1YnN0aXR1dGlvbnNGcm9tSlNPTiIsInN0cmluZ0Zyb21MYWJlbHMiLCJ0b3BMZXZlbEFzc2VydGlvbiIsImZyb21NZXRhdGhlb3JlbU5vZGUiLCJtZXRhdGhlb3JlbU5vZGUiLCJwcm9vZk5vZGUiLCJsYWJlbE5vZGVzIiwiY29uc2VxdWVudE5vZGUiLCJzdXBwb3NpdGlvbk5vZGVzIiwibWFwIiwibGFiZWxOb2RlIiwiTGFiZWwiLCJmcm9tTGFiZWxOb2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiU3VwcG9zaXRpb24iLCJmcm9tU3VwcG9zaXRpb25Ob2RlIiwiQ29uc2VxdWVudCIsImZyb21Db25zZXF1ZW50Tm9kZSIsIlByb29mIiwiZnJvbVByb29mTm9kZSIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsIlRvcExldmVsQXNzZXJ0aW9uIiwiT2JqZWN0IiwiYXNzaWduIiwic2hpbSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUpBOzs7ZUFBQTs7OzJEQWpKaUI7NERBQ0M7NERBQ0E7aUVBQ0s7a0VBQ0M7NERBQ0M7b0VBQ0M7eUVBQ0k7cUJBRVE7b0JBU1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqRCxJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsdUJBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsdUJBQzdCQyxzQkFBc0JILElBQUFBLGdCQUFTLEVBQUMsNEJBQ2hDSSx3QkFBd0JGLElBQUFBLGlCQUFVLEVBQUM7QUFFekMsSUFBQSxBQUFNRyw0QkFBTjtjQUFNQTthQUFBQSxZQUNRQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxFQUFFQyxhQUFhO2dDQURuRlA7O2dCQUVGLGtCQUZFQTtZQUVJQztZQUFhQztZQUFRQztZQUFRQztZQUFjQztZQUFZQzs7UUFFN0QsTUFBS0MsYUFBYSxHQUFHQTs7O2tCQUpuQlA7O1lBT0pRLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsYUFBYTtZQUMzQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTs7Z0JBQ0UsSUFBSUMsV0FBVztnQkFFZixJQUFNQyxvQkFBb0IsSUFBSSxDQUFDVCxNQUFNLEVBQUcsR0FBRztnQkFFM0MsSUFBSSxDQUFDRCxXQUFXLENBQUNXLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkQsbUJBQWtCO2dCQUUzRCxJQUFNRSwyQkFBMkIsSUFBSSxDQUFDVixNQUFNLENBQUNXLEtBQUssQ0FBQyxTQUFDQztvQkFDbEQsSUFBTUMsMkJBQTJCRCxNQUFNRSxnQkFBZ0IsQ0FBQyxNQUFLaEIsV0FBVztvQkFFeEUsSUFBSWUsMEJBQTBCO3dCQUM1QixPQUFPO29CQUNUO2dCQUNGO2dCQUVBLElBQUlILDBCQUEwQjtvQkFDNUIsSUFBTUssZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUMsSUFBSSxDQUFDbkIsV0FBVyxHQUM1RG9CLHVCQUF1QixJQUFJLENBQUNqQixZQUFZLENBQUNVLEtBQUssQ0FBQyxTQUFDUTt3QkFDOUMsSUFBTUMsc0JBQXNCRCxZQUFZYixNQUFNLENBQUNTO3dCQUUvQyxJQUFJSyxxQkFBcUI7NEJBQ3ZCLE9BQU87d0JBQ1Q7b0JBQ0Y7b0JBRU4sSUFBSUYsc0JBQXNCO3dCQUN4QixJQUFNRyxxQkFBcUIsSUFBSSxDQUFDbkIsVUFBVSxDQUFDSSxNQUFNLENBQUNTO3dCQUVsRCxJQUFJTSxvQkFBb0I7NEJBQ3RCLElBQU1DLGdCQUFnQixJQUFJLENBQUNuQixLQUFLLENBQUNHLE1BQU0sQ0FBQyxJQUFJLENBQUNGLGFBQWEsRUFBRSxJQUFJLENBQUNGLFVBQVUsRUFBRWE7NEJBRTdFLElBQUlPLGVBQWU7Z0NBQ2pCLElBQU1DLGNBQWMsSUFBSSxFQUFHLEdBQUc7Z0NBRTlCLElBQUksQ0FBQ3pCLFdBQVcsQ0FBQzBCLGNBQWMsQ0FBQ0Q7Z0NBRWhDaEIsV0FBVzs0QkFDYjt3QkFDRjtvQkFDRjtnQkFDRjtnQkFFQSxJQUFJQSxVQUFVO29CQUNaLElBQUksQ0FBQ1QsV0FBVyxDQUFDMkIsS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCakIsbUJBQWtCO2dCQUMvRDtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQW1CLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxhQUFhQyxJQUFBQSx3QkFBa0IsRUFBQyxJQUFJLENBQUM1QixNQUFNLEdBQzNDNkIsaUJBQWlCQyxJQUFBQSxnQ0FBMEIsRUFBQyxJQUFJLENBQUM1QixVQUFVLEdBQzNENkIsbUJBQW1CQyxJQUFBQSxvQ0FBOEIsRUFBQyxJQUFJLENBQUMvQixZQUFZLEdBQ25FZ0Msb0JBQW9CQyxJQUFBQSxzQ0FBZ0MsRUFBQyxJQUFJLENBQUM5QixhQUFhLEdBQ3ZFSixTQUFTMkIsWUFDVHpCLGFBQWEyQixnQkFDYjVCLGVBQWU4QixrQkFDZjNCLGdCQUFnQjZCLG1CQUNoQkUsT0FBTztvQkFDTG5DLFFBQUFBO29CQUNBRSxZQUFBQTtvQkFDQUQsY0FBQUE7b0JBQ0FHLGVBQUFBO2dCQUNGO2dCQUVOLE9BQU8rQjtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRXJDLFdBQVc7Z0JBQy9CLElBQU1FLFNBQVNxQyxJQUFBQSxvQkFBYyxFQUFDRixNQUFNckMsY0FDOUJJLGFBQWFvQyxJQUFBQSx3QkFBa0IsRUFBQ0gsTUFBTXJDLGNBQ3RDRyxlQUFlc0MsSUFBQUEsMEJBQW9CLEVBQUNKLE1BQU1yQyxjQUMxQ00sZ0JBQWdCb0MsSUFBQUEsMkJBQXFCLEVBQUNMLE1BQU1yQyxjQUM1Q0MsU0FBUzBDLElBQUFBLG1DQUFnQixFQUFDekMsU0FDMUJHLFFBQVEsTUFDUnVDLG9CQUFvQixJQXRGeEI3QyxZQXNGd0NDLGFBQWFDLFFBQVFDLFFBQVFDLGNBQWNDLFlBQVlDLE9BQU9DO2dCQUV4RyxPQUFPc0M7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLG9CQUFvQkMsZUFBZSxFQUFFOUMsV0FBVztnQkFDckQsSUFBTStDLFlBQVl0RCxlQUFlcUQsa0JBQzNCRSxhQUFhckQsZ0JBQWdCbUQsa0JBQzdCRyxpQkFBaUJwRCxvQkFBb0JpRCxrQkFDckNJLG1CQUFtQnBELHNCQUFzQmdELGtCQUN6QzVDLFNBQVM4QyxXQUFXRyxHQUFHLENBQUMsU0FBQ0M7b0JBQ3ZCLElBQU10QyxRQUFRdUMsY0FBSyxDQUFDQyxhQUFhLENBQUNGLFdBQVdwRDtvQkFFN0MsT0FBT2M7Z0JBQ1QsSUFDQVgsZUFBZStDLGlCQUFpQkMsR0FBRyxDQUFDLFNBQUNJO29CQUNuQyxJQUFNbEMsY0FBY21DLG9CQUFXLENBQUNDLG1CQUFtQixDQUFDRixpQkFBaUJ2RDtvQkFFckUsT0FBT3FCO2dCQUNULElBQ0FqQixhQUFhc0QsbUJBQVUsQ0FBQ0Msa0JBQWtCLENBQUNWLGdCQUFnQmpELGNBQzNESyxRQUFRdUQsY0FBSyxDQUFDQyxhQUFhLENBQUNkLFdBQVcvQyxjQUN2Q0MsU0FBUzBDLElBQUFBLG1DQUFnQixFQUFDekMsU0FDMUJJLGdCQUFnQndELHNCQUFhLENBQUNDLFdBQVcsSUFDekN0QyxjQUFjLElBOUdsQjFCLFlBOEdrQ0MsYUFBYUMsUUFBUUMsUUFBUUMsY0FBY0MsWUFBWUMsT0FBT0M7Z0JBRWxHLE9BQU9tQjtZQUNUOzs7V0FqSEkxQjtFQUFvQmlFLDBCQUFpQjtBQW9IM0NDLE9BQU9DLE1BQU0sQ0FBQ0MsYUFBSSxFQUFFO0lBQ2xCcEUsYUFBQUE7QUFDRjtJQUVBLFdBQWVBIn0=
|