occam-verify-cli 1.0.427 → 1.0.436
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/file.js +1 -1
- package/lib/element/assertion.js +115 -24
- package/lib/element/assumption.js +120 -20
- package/lib/element/axiomLemmaTheoremConjecture.js +118 -30
- package/lib/element/conclusion.js +113 -25
- package/lib/element/declaration.js +112 -37
- package/lib/element/deduction.js +112 -66
- package/lib/element/derivation.js +114 -5
- package/lib/element/equality.js +119 -26
- package/lib/element/equivalence.js +129 -40
- package/lib/element/equivalences.js +122 -7
- package/lib/element/error.js +115 -32
- package/lib/element/frame.js +119 -59
- package/lib/element/hypothesis.js +115 -27
- package/lib/element/judgement.js +120 -33
- package/lib/element/label.js +116 -63
- package/lib/element/lemma.js +1 -9
- package/lib/element/metaLemma.js +1 -8
- package/lib/element/metaLemmaMetatheorem.js +117 -29
- package/lib/element/metaType.js +68 -61
- package/lib/element/metatheorem.js +1 -8
- package/lib/element/metavariable.js +122 -93
- package/lib/element/parameter.js +120 -20
- package/lib/element/premise.js +114 -35
- package/lib/element/procedureCall.js +117 -99
- package/lib/element/procedureReference.js +120 -20
- package/lib/element/proof.js +111 -55
- package/lib/element/property.js +121 -35
- package/lib/element/propertyRelation.js +116 -72
- package/lib/element/reference.js +120 -70
- package/lib/element/rule.js +116 -41
- package/lib/element/section.js +114 -133
- package/lib/element/signature.js +120 -20
- package/lib/element/statement/combinator/bracketed.js +4 -9
- package/lib/element/statement.js +110 -125
- package/lib/element/step.js +115 -27
- package/lib/element/subDerivation.js +111 -43
- package/lib/element/subproof.js +115 -20
- package/lib/element/substitution.js +115 -31
- package/lib/element/substitutions.js +120 -6
- package/lib/element/supposition.js +114 -35
- package/lib/element/term/constructor/bracketed.js +4 -8
- package/lib/element/term.js +111 -98
- package/lib/element/theorem.js +1 -8
- package/lib/element/type.js +71 -91
- package/lib/element/typePrefix.js +120 -20
- package/lib/element/variable.js +116 -111
- package/lib/element.js +67 -0
- package/lib/node/equivalence.js +116 -0
- package/lib/node/{nonsense.js → equivalences.js} +10 -10
- package/lib/node/frame.js +11 -5
- package/lib/node/procedureReference.js +6 -6
- package/lib/node/statement.js +11 -5
- package/lib/node/term.js +8 -1
- package/lib/nonTerminalNodeMap.js +5 -4
- package/lib/process/instantiate.js +13 -38
- package/lib/process/verify.js +22 -29
- package/lib/ruleNames.js +9 -5
- package/lib/utilities/brackets.js +11 -11
- package/lib/utilities/element.js +606 -99
- package/lib/utilities/instance.js +61 -0
- package/lib/utilities/string.js +87 -34
- package/package.json +6 -6
- package/src/context/file.js +1 -1
- package/src/element/assertion.js +4 -16
- package/src/element/assumption.js +5 -12
- package/src/element/axiomLemmaTheoremConjecture.js +4 -16
- package/src/element/conclusion.js +4 -16
- package/src/element/declaration.js +4 -16
- package/src/element/deduction.js +5 -19
- package/src/element/derivation.js +5 -2
- package/src/element/equality.js +4 -16
- package/src/element/equivalence.js +25 -37
- package/src/element/equivalences.js +12 -6
- package/src/element/error.js +4 -24
- package/src/element/frame.js +5 -56
- package/src/element/hypothesis.js +6 -23
- package/src/element/judgement.js +5 -30
- package/src/element/label.js +8 -19
- package/src/element/lemma.js +0 -7
- package/src/element/metaLemma.js +0 -7
- package/src/element/metaLemmaMetatheorem.js +4 -16
- package/src/element/metaType.js +23 -64
- package/src/element/metatheorem.js +0 -7
- package/src/element/metavariable.js +6 -94
- package/src/element/parameter.js +10 -18
- package/src/element/premise.js +4 -31
- package/src/element/procedureCall.js +5 -77
- package/src/element/procedureReference.js +7 -17
- package/src/element/proof.js +5 -17
- package/src/element/property.js +8 -30
- package/src/element/propertyRelation.js +5 -33
- package/src/element/reference.js +8 -72
- package/src/element/rule.js +4 -41
- package/src/element/section.js +4 -129
- package/src/element/signature.js +7 -13
- package/src/element/statement/combinator/bracketed.js +3 -9
- package/src/element/statement.js +3 -126
- package/src/element/step.js +4 -16
- package/src/element/subDerivation.js +5 -3
- package/src/element/subproof.js +5 -12
- package/src/element/substitution.js +4 -24
- package/src/element/substitutions.js +6 -2
- package/src/element/supposition.js +4 -31
- package/src/element/term/constructor/bracketed.js +4 -9
- package/src/element/term.js +6 -59
- package/src/element/theorem.js +0 -7
- package/src/element/type.js +9 -104
- package/src/element/typePrefix.js +8 -13
- package/src/element/variable.js +6 -109
- package/src/element.js +29 -0
- package/src/node/equivalence.js +16 -0
- package/src/node/{nonsense.js → equivalences.js} +2 -2
- package/src/node/frame.js +10 -5
- package/src/node/procedureReference.js +4 -4
- package/src/node/statement.js +10 -5
- package/src/node/term.js +7 -0
- package/src/nonTerminalNodeMap.js +7 -4
- package/src/process/instantiate.js +8 -36
- package/src/process/verify.js +42 -47
- package/src/ruleNames.js +2 -1
- package/src/utilities/brackets.js +13 -13
- package/src/utilities/element.js +760 -139
- package/src/utilities/instance.js +53 -0
- package/src/utilities/string.js +118 -59
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get bracketedCombinatorStatementFromNothing () {
|
|
13
|
+
return bracketedCombinatorStatementFromNothing;
|
|
14
|
+
},
|
|
15
|
+
get bracketedConstructorTermFromNothing () {
|
|
16
|
+
return bracketedConstructorTermFromNothing;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _nominal = /*#__PURE__*/ _interop_require_default(require("../context/nominal"));
|
|
20
|
+
var _constants = require("../constants");
|
|
21
|
+
var _metaTypeNames = require("../metaTypeNames");
|
|
22
|
+
var _instantiate = require("../process/instantiate");
|
|
23
|
+
var _element = require("../utilities/element");
|
|
24
|
+
function _interop_require_default(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
var bracketedConstructorTerm = null, bracketedCombinatorStatement = null;
|
|
30
|
+
function bracketedConstructorTermFromNothing() {
|
|
31
|
+
if (bracketedConstructorTerm === null) {
|
|
32
|
+
var context;
|
|
33
|
+
var string = "(".concat(_constants.BASE_TYPE_SYMBOL, ")");
|
|
34
|
+
context = _nominal.default; ///
|
|
35
|
+
var node = (0, _instantiate.instantiateTerm)(string, context), bracketedConstructorTermNode = node; ///
|
|
36
|
+
context = {
|
|
37
|
+
nodeAsString: function() {
|
|
38
|
+
return string;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
bracketedConstructorTerm = (0, _element.termFromTermNode)(bracketedConstructorTermNode, context);
|
|
42
|
+
}
|
|
43
|
+
return bracketedConstructorTerm;
|
|
44
|
+
}
|
|
45
|
+
function bracketedCombinatorStatementFromNothing() {
|
|
46
|
+
if (bracketedCombinatorStatement === null) {
|
|
47
|
+
var context;
|
|
48
|
+
var string = "(".concat(_metaTypeNames.STATEMENT_META_TYPE_NAME, ")");
|
|
49
|
+
context = _nominal.default; ///
|
|
50
|
+
var node = (0, _instantiate.instantiateStatement)(string, context), bracketedCombinatorStatementNode = node; ///
|
|
51
|
+
context = {
|
|
52
|
+
nodeAsString: function() {
|
|
53
|
+
return string;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
bracketedCombinatorStatement = (0, _element.statementFromStatementNode)(bracketedCombinatorStatementNode, context);
|
|
57
|
+
}
|
|
58
|
+
return bracketedCombinatorStatement;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5zdGFuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBub21pbmFsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ub21pbmFsXCI7XG5cbmltcG9ydCB7IEJBU0VfVFlQRV9TWU1CT0wgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vbWV0YVR5cGVOYW1lc1wiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVUZXJtLCBpbnN0YW50aWF0ZVN0YXRlbWVudCB9IGZyb20gXCIuLi9wcm9jZXNzL2luc3RhbnRpYXRlXCI7XG5pbXBvcnQgeyB0ZXJtRnJvbVRlcm1Ob2RlLCBzdGF0ZW1lbnRGcm9tU3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuXG5sZXQgYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtID0gbnVsbCxcbiAgICBicmFja2V0ZWRDb21iaW5hdG9yU3RhdGVtZW50ID0gbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGJyYWNrZXRlZENvbnN0cnVjdG9yVGVybUZyb21Ob3RoaW5nKCkge1xuICBpZiAoYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtID09PSBudWxsKSB7XG4gICAgbGV0IGNvbnRleHQ7XG5cbiAgICBjb25zdCBzdHJpbmcgPSBgKCR7QkFTRV9UWVBFX1NZTUJPTH0pYDtcblxuICAgIGNvbnRleHQgPSBub21pbmFsQ29udGV4dDsgLy8vXG5cbiAgICBjb25zdCBub2RlID0gaW5zdGFudGlhdGVUZXJtKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIGNvbnRleHQgPSB7XG4gICAgICBub2RlQXNTdHJpbmc6ICgpID0+IHN0cmluZ1xuICAgIH07XG5cbiAgICBicmFja2V0ZWRDb25zdHJ1Y3RvclRlcm0gPSB0ZXJtRnJvbVRlcm1Ob2RlKGJyYWNrZXRlZENvbnN0cnVjdG9yVGVybU5vZGUsIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yVGVybTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnRGcm9tTm90aGluZygpIHtcbiAgaWYgKGJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnQgPT09IG51bGwpIHtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnN0IHN0cmluZyA9IGAoJHtTVEFURU1FTlRfTUVUQV9UWVBFX05BTUV9KWA7XG5cbiAgICBjb250ZXh0ID0gbm9taW5hbENvbnRleHQ7IC8vL1xuXG4gICAgY29uc3Qgbm9kZSA9IGluc3RhbnRpYXRlU3RhdGVtZW50KHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvclN0YXRlbWVudE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBjb250ZXh0ID0ge1xuICAgICAgbm9kZUFzU3RyaW5nOiAoKSA9PiBzdHJpbmdcbiAgICB9O1xuXG4gICAgYnJhY2tldGVkQ29tYmluYXRvclN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21TdGF0ZW1lbnROb2RlKGJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWRDb21iaW5hdG9yU3RhdGVtZW50O1xufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnRGcm9tTm90aGluZyIsImJyYWNrZXRlZENvbnN0cnVjdG9yVGVybUZyb21Ob3RoaW5nIiwiYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtIiwiYnJhY2tldGVkQ29tYmluYXRvclN0YXRlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJCQVNFX1RZUEVfU1lNQk9MIiwibm9taW5hbENvbnRleHQiLCJub2RlIiwiaW5zdGFudGlhdGVUZXJtIiwiYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtTm9kZSIsIm5vZGVBc1N0cmluZyIsInRlcm1Gcm9tVGVybU5vZGUiLCJTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUiLCJpbnN0YW50aWF0ZVN0YXRlbWVudCIsImJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50RnJvbVN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWlDZ0JBO2VBQUFBOztRQXJCQUM7ZUFBQUE7Ozs4REFWVzt5QkFFTTs2QkFDUTsyQkFDYTt1QkFDTzs7Ozs7O0FBRTdELElBQUlDLDJCQUEyQixNQUMzQkMsK0JBQStCO0FBRTVCLFNBQVNGO0lBQ2QsSUFBSUMsNkJBQTZCLE1BQU07UUFDckMsSUFBSUU7UUFFSixJQUFNQyxTQUFTLEFBQUMsSUFBb0IsT0FBakJDLDJCQUFnQixFQUFDO1FBRXBDRixVQUFVRyxnQkFBYyxFQUFFLEdBQUc7UUFFN0IsSUFBTUMsT0FBT0MsSUFBQUEsNEJBQWUsRUFBQ0osUUFBUUQsVUFDL0JNLCtCQUErQkYsTUFBTyxHQUFHO1FBRS9DSixVQUFVO1lBQ1JPLGNBQWM7dUJBQU1OOztRQUN0QjtRQUVBSCwyQkFBMkJVLElBQUFBLHlCQUFnQixFQUFDRiw4QkFBOEJOO0lBQzVFO0lBRUEsT0FBT0Y7QUFDVDtBQUVPLFNBQVNGO0lBQ2QsSUFBSUcsaUNBQWlDLE1BQU07UUFDekMsSUFBSUM7UUFFSixJQUFNQyxTQUFTLEFBQUMsSUFBNEIsT0FBekJRLHVDQUF3QixFQUFDO1FBRTVDVCxVQUFVRyxnQkFBYyxFQUFFLEdBQUc7UUFFN0IsSUFBTUMsT0FBT00sSUFBQUEsaUNBQW9CLEVBQUNULFFBQVFELFVBQ3BDVyxtQ0FBbUNQLE1BQU8sR0FBRztRQUVuREosVUFBVTtZQUNSTyxjQUFjO3VCQUFNTjs7UUFDdEI7UUFFQUYsK0JBQStCYSxJQUFBQSxtQ0FBMEIsRUFBQ0Qsa0NBQWtDWDtJQUM5RjtJQUVBLE9BQU9EO0FBQ1QifQ==
|
package/lib/utilities/string.js
CHANGED
|
@@ -9,12 +9,39 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
get assumptionsStringFromAssumptions () {
|
|
13
|
+
return assumptionsStringFromAssumptions;
|
|
14
|
+
},
|
|
12
15
|
get axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction () {
|
|
13
16
|
return axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction;
|
|
14
17
|
},
|
|
18
|
+
get equivalenceStringFromTerms () {
|
|
19
|
+
return equivalenceStringFromTerms;
|
|
20
|
+
},
|
|
21
|
+
get hypothesesStringFromHypotheses () {
|
|
22
|
+
return hypothesesStringFromHypotheses;
|
|
23
|
+
},
|
|
15
24
|
get labelsStringFromLabels () {
|
|
16
25
|
return labelsStringFromLabels;
|
|
17
26
|
},
|
|
27
|
+
get metaLemmaMetatheoremStringFromLabelSuppositionsAndDeduction () {
|
|
28
|
+
return metaLemmaMetatheoremStringFromLabelSuppositionsAndDeduction;
|
|
29
|
+
},
|
|
30
|
+
get parametersStringFromParameters () {
|
|
31
|
+
return parametersStringFromParameters;
|
|
32
|
+
},
|
|
33
|
+
get premisesStringFromPremises () {
|
|
34
|
+
return premisesStringFromPremises;
|
|
35
|
+
},
|
|
36
|
+
get procedureCallStringFromProcedureReferenceAndParameters () {
|
|
37
|
+
return procedureCallStringFromProcedureReferenceAndParameters;
|
|
38
|
+
},
|
|
39
|
+
get rulsStringFromLabelsPremisesAndConclusion () {
|
|
40
|
+
return rulsStringFromLabelsPremisesAndConclusion;
|
|
41
|
+
},
|
|
42
|
+
get sectionStringFromHypothesesAxiomLemmaTheoremAndConjecture () {
|
|
43
|
+
return sectionStringFromHypothesesAxiomLemmaTheoremAndConjecture;
|
|
44
|
+
},
|
|
18
45
|
get signatureStringFromTerms () {
|
|
19
46
|
return signatureStringFromTerms;
|
|
20
47
|
},
|
|
@@ -51,13 +78,21 @@ function labelsStringFromLabels(labels) {
|
|
|
51
78
|
}, null);
|
|
52
79
|
return labelsString;
|
|
53
80
|
}
|
|
54
|
-
function
|
|
55
|
-
var
|
|
56
|
-
|
|
81
|
+
function premisesStringFromPremises(premises) {
|
|
82
|
+
var premisesString = premises.reduce(function(premisesString, premise) {
|
|
83
|
+
var premiseString = premise.getString();
|
|
84
|
+
premisesString = premisesString !== null ? "".concat(premisesString, ", ").concat(premiseString) : premiseString; ///
|
|
85
|
+
return premisesString;
|
|
86
|
+
}, null);
|
|
87
|
+
return premisesString;
|
|
57
88
|
}
|
|
58
|
-
function
|
|
59
|
-
var
|
|
60
|
-
|
|
89
|
+
function hypothesesStringFromHypotheses(hypotheses, context) {
|
|
90
|
+
var hypothesesString = hypotheses.reduce(function(hypothesesString, hypothesis) {
|
|
91
|
+
var hypothesisString = hypothesis.getString();
|
|
92
|
+
hypothesesString = hypothesesString !== null ? "".concat(hypothesesString, ", ").concat(hypothesisString) : hypothesisString; ///
|
|
93
|
+
return hypothesesString;
|
|
94
|
+
}, null);
|
|
95
|
+
return hypothesesString;
|
|
61
96
|
}
|
|
62
97
|
function superTypesStringFromSuperTypes(superTypes) {
|
|
63
98
|
var superTypesString = superTypes.reduce(function(superTypesString, superType) {
|
|
@@ -69,14 +104,46 @@ function superTypesStringFromSuperTypes(superTypes) {
|
|
|
69
104
|
}, null);
|
|
70
105
|
return superTypesString;
|
|
71
106
|
}
|
|
107
|
+
function parametersStringFromParameters(parameters) {
|
|
108
|
+
var parametersString = parameters.reduce(function(parametersString, parameter) {
|
|
109
|
+
var parameterString = parameter.getString();
|
|
110
|
+
parametersString = parametersString === null ? parameterString : "".concat(parametersString, ", ").concat(parameterString);
|
|
111
|
+
return parametersString;
|
|
112
|
+
}, null);
|
|
113
|
+
return parametersString;
|
|
114
|
+
}
|
|
115
|
+
function assumptionsStringFromAssumptions(assumptions) {
|
|
116
|
+
var assumptionsString = assumptions.reduce(function(assumptionsString, assumption) {
|
|
117
|
+
var assumptionString = assumption.getString();
|
|
118
|
+
assumptionsString = assumptionsString === null ? assumptionString : "".concat(assumptionsString, ", ").concat(assumptionString);
|
|
119
|
+
return assumptionsString;
|
|
120
|
+
}, null);
|
|
121
|
+
return assumptionsString;
|
|
122
|
+
}
|
|
72
123
|
function suppositionsStringFromSuppositions(suppositions) {
|
|
73
124
|
var suppositionsString = suppositions.reduce(function(suppositionsString, supposition) {
|
|
74
125
|
var suppositionString = supposition.getString();
|
|
75
|
-
suppositionsString = suppositionsString
|
|
126
|
+
suppositionsString = suppositionsString === null ? suppositionString : "".concat(suppositionsString, ", ").concat(suppositionString);
|
|
76
127
|
return suppositionsString;
|
|
77
128
|
}, null);
|
|
78
129
|
return suppositionsString;
|
|
79
130
|
}
|
|
131
|
+
function signatureStringFromTerms(terms) {
|
|
132
|
+
var termsString = termsStringFromTerms(terms), signatureString = "[".concat(termsString, "]");
|
|
133
|
+
return signatureString;
|
|
134
|
+
}
|
|
135
|
+
function equivalenceStringFromTerms(terms) {
|
|
136
|
+
var termsString = termsStringFromTerms(terms), equivalenceString = termsString; ///
|
|
137
|
+
return equivalenceString;
|
|
138
|
+
}
|
|
139
|
+
function subproofStringFromSubproof(subproof) {
|
|
140
|
+
var lastStep = subproof.getLastStep(), suppositions = subproof.getSuppositions(), lastStepString = lastStep.getString(), suppositionsString = suppositionsStringFromSuppositions(suppositions), subproofString = "[".concat(suppositionsString, "] ... ").concat(lastStepString);
|
|
141
|
+
return subproofString;
|
|
142
|
+
}
|
|
143
|
+
function rulsStringFromLabelsPremisesAndConclusion(labels, premises, conclusion) {
|
|
144
|
+
var premisesString = premisesStringFromPremises(premises), conclusionString = conclusion.getString(), labelsString = labelsStringFromLabels(labels), ruleString = premisesString !== null ? "".concat(labelsString, " :: [").concat(premisesString, "] ... ").concat(conclusionString) : "".concat(labelsString, " :: ").concat(conclusionString);
|
|
145
|
+
return ruleString;
|
|
146
|
+
}
|
|
80
147
|
function typeStringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes) {
|
|
81
148
|
var typeString;
|
|
82
149
|
typeString = typePrefixName !== null ? "".concat(typePrefixName).concat(typeName) : typeName;
|
|
@@ -86,6 +153,18 @@ function typeStringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixN
|
|
|
86
153
|
}
|
|
87
154
|
return typeString;
|
|
88
155
|
}
|
|
156
|
+
function procedureCallStringFromProcedureReferenceAndParameters(procedureReference, parameters) {
|
|
157
|
+
var procedureReferenceName = procedureReference.getName(), parametersString = parametersStringFromParameters(parameters), procedureCallString = "".concat(procedureReferenceName, "(").concat(parametersString, ")");
|
|
158
|
+
return procedureCallString;
|
|
159
|
+
}
|
|
160
|
+
function sectionStringFromHypothesesAxiomLemmaTheoremAndConjecture(hypotheses, axiom, lemma, theorem, conjecture, context) {
|
|
161
|
+
var axiomLemmaTheoremOrConjecture = axiom || lemma || theorem || conjecture, axiomLemmaTheoremOrConjectureString = axiomLemmaTheoremOrConjecture.getString(), hypothesesString = hypothesesStringFromHypotheses(hypotheses, context), sectionString = axiomLemmaTheoremOrConjectureString !== null ? "[".concat(hypothesesString, "]::: ").concat(axiomLemmaTheoremOrConjectureString) : "[".concat(hypothesesString, "]::: ");
|
|
162
|
+
return sectionString;
|
|
163
|
+
}
|
|
164
|
+
function metaLemmaMetatheoremStringFromLabelSuppositionsAndDeduction(label, suppositions, deduction) {
|
|
165
|
+
var suppositionsString = suppositionsStringFromSuppositions(suppositions), deductionString = deduction.getString(), labelString = label.getString(), metaLemmaMetatheoremString = suppositionsString !== null ? "".concat(labelString, " :: [").concat(suppositionsString, "] ... ").concat(deductionString) : "".concat(labelString, " :: ").concat(deductionString);
|
|
166
|
+
return metaLemmaMetatheoremString;
|
|
167
|
+
}
|
|
89
168
|
function axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction(labels, suppositions, deduction) {
|
|
90
169
|
var axiomLemmaTheoremConjectureString;
|
|
91
170
|
var suppositionsString = suppositionsStringFromSuppositions(suppositions), deductionString = deduction.getString(), labelsString = labelsStringFromLabels(labels);
|
|
@@ -96,31 +175,5 @@ function axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction(lab
|
|
|
96
175
|
}
|
|
97
176
|
return axiomLemmaTheoremConjectureString;
|
|
98
177
|
}
|
|
99
|
-
function suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode1, context1) {
|
|
100
|
-
var suppositionNodes = subproofNode1.getSuppositionNodes(), suppositionStatementsOrNonsenseString = suppositionNodes.reduce(function(suppositionStatementsOrNonsenseString, suppositionNode) {
|
|
101
|
-
var suppositionOrStepNode = suppositionNode, statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context1), suppositionStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
102
|
-
suppositionStatementsOrNonsenseString = suppositionStatementsOrNonsenseString !== null ? "".concat(suppositionStatementsOrNonsenseString, ", ").concat(suppositionStatementOrNonsenseString) : suppositionStatementOrNonsenseString; ///
|
|
103
|
-
return suppositionStatementsOrNonsenseString;
|
|
104
|
-
}, null);
|
|
105
|
-
return suppositionStatementsOrNonsenseString;
|
|
106
|
-
}
|
|
107
|
-
function statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context1) {
|
|
108
|
-
var statementOrNonsenseString;
|
|
109
|
-
var nonsenseNode = suppositionOrStepNode.getNonsenseNode(), statementNode = suppositionOrStepNode.getStatementNode();
|
|
110
|
-
if (false) {
|
|
111
|
-
///
|
|
112
|
-
} else if (nonsenseNode !== null) {
|
|
113
|
-
var nonsenseString = context1.nodeAsString(nonsenseNode);
|
|
114
|
-
statementOrNonsenseString = nonsenseString; ///
|
|
115
|
-
} else if (statementNode !== null) {
|
|
116
|
-
var statementString = context1.nodeAsString(statementNode);
|
|
117
|
-
statementOrNonsenseString = statementString; ///
|
|
118
|
-
}
|
|
119
|
-
return statementOrNonsenseString;
|
|
120
|
-
}
|
|
121
|
-
function lastStatementOrNonsenseStringFromSubproofNode(subproofNode1, context1) {
|
|
122
|
-
var lastStepNode = subproofNode1.getLastStepNode(), suppositionOrStepNode = lastStepNode, statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context1), lastStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
123
|
-
return lastStatementOrNonsenseString;
|
|
124
|
-
}
|
|
125
178
|
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBiYXNlVHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gdGVybXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscykge1xuICBjb25zdCBsYWJlbHNTdHJpbmcgPSBsYWJlbHMucmVkdWNlKChsYWJlbHNTdHJpbmcsIGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKTtcblxuICAgIGxhYmVsc1N0cmluZyA9IChsYWJlbHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9LCAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gbGFiZWxzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXModGVybXMpLFxuICAgICAgICBzaWduYXR1cmVTdHJpbmcgPSBgWyR7dGVybXNTdHJpbmd9XWA7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mKHN1YnByb29mKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgPSBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCksXG4gICAgICAgIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN1YnByb29mU3RyaW5nID0gYFske3N1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmd9XSAuLi4gJHtsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ31gO1xuXG4gIHJldHVybiBzdWJwcm9vZlN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzLnJlZHVjZSgoc3VwZXJUeXBlc1N0cmluZywgc3VwZXJUeXBlKSA9PiB7XG4gICAgaWYgKHN1cGVyVHlwZSAhPT0gYmFzZVR5cGUpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVN0cmluZyA9IHN1cGVyVHlwZS5nZXRTdHJpbmcoKTtcblxuICAgICAgc3VwZXJUeXBlc1N0cmluZyA9IChzdXBlclR5cGVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgJyR7c3VwZXJUeXBlU3RyaW5nfSdgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwZXJUeXBlc1N0cmluZ30sICcke3N1cGVyVHlwZVN0cmluZ30nYDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnMucmVkdWNlKChzdXBwb3NpdGlvbnNTdHJpbmcsIHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSBzdXBwb3NpdGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIHN1cHBvc2l0aW9uc1N0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwcG9zaXRpb25zU3RyaW5nfSwgJHtzdXBwb3NpdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3NpdGlvblN0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHR5cGVQcmVmaXhOYW1lLCBzdXBlclR5cGVzKSB7XG4gIGxldCB0eXBlU3RyaW5nO1xuXG4gIHR5cGVTdHJpbmcgPSAodHlwZVByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgYCR7dHlwZVByZWZpeE5hbWV9JHt0eXBlTmFtZX1gOlxuICAgICAgICAgICAgICAgICAgIHR5cGVOYW1lO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcyk7XG5cbiAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICB0eXBlU3RyaW5nID0gYCR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVzU3RyaW5nfWA7XG4gIH1cblxuICByZXR1cm4gdHlwZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZ0Zyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmREZWR1Y3Rpb24obGFiZWxzLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbikge1xuICBsZXQgYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nO1xuXG4gIGNvbnN0IHN1cHBvc2l0aW9uc1N0cmluZyA9IHN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25zKSxcbiAgICAgICAgZGVkdWN0aW9uU3RyaW5nID0gZGVkdWN0aW9uLmdldFN0cmluZygpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscyk7XG5cbiAgaWYgKGxhYmVsc1N0cmluZyAhPT0gbnVsbCkge1xuICAgIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2xhYmVsc1N0cmluZ30gOjogWyR7c3VwcG9zaXRpb25zU3RyaW5nfV0gLi4uICR7ZGVkdWN0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9IDo6ICR7ZGVkdWN0aW9uU3RyaW5nfWA7XG4gIH0gZWxzZSB7XG4gICAgYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nID0gKHN1cHBvc2l0aW9uc1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgWyR7c3VwcG9zaXRpb25zU3RyaW5nfV0gLi4uICR7ZGVkdWN0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25TdHJpbmc7XG4gIH1cblxuICByZXR1cm4gYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCkge1xuICBjb25zdCBzdXBwb3NpdGlvbk5vZGVzID0gc3VicHJvb2ZOb2RlLmdldFN1cHBvc2l0aW9uTm9kZXMoKSxcbiAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZyA9IHN1cHBvc2l0aW9uTm9kZXMucmVkdWNlKChzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nLCBzdXBwb3NpdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbk9yU3RlcE5vZGUgPSBzdXBwb3NpdGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdXBwb3NpdGlvbk9yU3RlcE5vZGUoc3VwcG9zaXRpb25PclN0ZXBOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nOyAvLy9cblxuICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgPSAoc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmd9LCAke3N1cHBvc2l0aW9uU3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50T3JOb25zZW5zZVN0cmluZzsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZztcbiAgICAgICAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VwcG9zaXRpb25PclN0ZXBOb2RlKHN1cHBvc2l0aW9uT3JTdGVwTm9kZSwgY29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZztcblxuICBjb25zdCBub25zZW5zZU5vZGUgPSBzdXBwb3NpdGlvbk9yU3RlcE5vZGUuZ2V0Tm9uc2Vuc2VOb2RlKCksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdXBwb3NpdGlvbk9yU3RlcE5vZGUuZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKG5vbnNlbnNlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vbnNlbnNlU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9uc2Vuc2VOb2RlKTtcblxuICAgIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBub25zZW5zZVN0cmluZzsgLy8vXG4gIH0gZWxzZSBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyA9IHN0YXRlbWVudFN0cmluZzsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgbGFzdFN0ZXBOb2RlID0gc3VicHJvb2ZOb2RlLmdldExhc3RTdGVwTm9kZSgpLFxuICAgICAgICBzdXBwb3NpdGlvbk9yU3RlcE5vZGUgPSBsYXN0U3RlcE5vZGUsIC8vL1xuICAgICAgICBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdXBwb3NpdGlvbk9yU3RlcE5vZGUoc3VwcG9zaXRpb25PclN0ZXBOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nOyAvLy9cblxuICByZXR1cm4gbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nRnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZERlZHVjdGlvbiIsImxhYmVsc1N0cmluZ0Zyb21MYWJlbHMiLCJzaWduYXR1cmVTdHJpbmdGcm9tVGVybXMiLCJzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZiIsInN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyIsInN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMiLCJ0ZXJtc1N0cmluZ0Zyb21UZXJtcyIsInR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXMiLCJ0ZXJtcyIsInRlcm1zU3RyaW5nIiwicmVkdWNlIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJsYWJlbHMiLCJsYWJlbHNTdHJpbmciLCJsYWJlbCIsImxhYmVsU3RyaW5nIiwic2lnbmF0dXJlU3RyaW5nIiwic3VicHJvb2YiLCJzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZSIsInN1YnByb29mTm9kZSIsImNvbnRleHQiLCJsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyIsImxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZSIsInN1YnByb29mU3RyaW5nIiwic3VwZXJUeXBlcyIsInN1cGVyVHlwZXNTdHJpbmciLCJzdXBlclR5cGUiLCJiYXNlVHlwZSIsInN1cGVyVHlwZVN0cmluZyIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uc1N0cmluZyIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25TdHJpbmciLCJ0eXBlTmFtZSIsInR5cGVQcmVmaXhOYW1lIiwidHlwZVN0cmluZyIsImRlZHVjdGlvbiIsImF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZyIsImRlZHVjdGlvblN0cmluZyIsInN1cHBvc2l0aW9uTm9kZXMiLCJnZXRTdXBwb3NpdGlvbk5vZGVzIiwic3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25PclN0ZXBOb2RlIiwic3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyIsInN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VwcG9zaXRpb25PclN0ZXBOb2RlIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nIiwibm9uc2Vuc2VOb2RlIiwiZ2V0Tm9uc2Vuc2VOb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJub25zZW5zZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInN0YXRlbWVudFN0cmluZyIsImxhc3RTdGVwTm9kZSIsImdldExhc3RTdGVwTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNkZnQkE7ZUFBQUE7O1FBM0VBQztlQUFBQTs7UUFjQUM7ZUFBQUE7O1FBT0FDO2VBQUFBOztRQVFBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQTNEQUM7ZUFBQUE7O1FBeUVBQztlQUFBQTs7O29CQTNFUztBQUVsQixTQUFTRCxxQkFBcUJFLEtBQUs7SUFDeEMsSUFBTUMsY0FBY0QsTUFBTUUsTUFBTSxDQUFDLFNBQUNELGFBQWFFO1FBQzdDLElBQU1DLGFBQWFELEtBQUtFLFNBQVM7UUFFakNKLGNBQWMsQUFBQ0EsZ0JBQWdCLE9BQ2hCLEFBQUMsR0FBa0JHLE9BQWhCSCxhQUFZLE1BQWUsT0FBWEcsY0FDaEJBO1FBRWxCLE9BQU9IO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTUix1QkFBdUJhLE1BQU07SUFDM0MsSUFBTUMsZUFBZUQsT0FBT0osTUFBTSxDQUFDLFNBQUNLLGNBQWNDO1FBQ2hELElBQU1DLGNBQWNELE1BQU1ILFNBQVM7UUFFbkNFLGVBQWUsQUFBQ0EsaUJBQWlCLE9BQ2hCRSxjQUNDLEFBQUMsR0FBbUJBLE9BQWpCRixjQUFhLE1BQWdCLE9BQVpFO1FBRXRDLE9BQU9GO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTYix5QkFBeUJNLEtBQUs7SUFDNUMsSUFBTUMsY0FBY0gscUJBQXFCRSxRQUNuQ1Usa0JBQWtCLEFBQUMsSUFBZSxPQUFaVCxhQUFZO0lBRXhDLE9BQU9TO0FBQ1Q7QUFFTyxTQUFTZiwyQkFBMkJnQixRQUFRO0lBQ2pELElBQU1DLHdDQUF3Q0MscURBQXFEQyxjQUFjQyxVQUMzR0MsZ0NBQWdDQyw4Q0FBOENILGNBQWNDLFVBQzVGRyxpQkFBaUIsQUFBQyxJQUFpREYsT0FBOUNKLHVDQUFzQyxVQUFzQyxPQUE5Qkk7SUFFekUs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
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBiYXNlVHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gdGVybXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscykge1xuICBjb25zdCBsYWJlbHNTdHJpbmcgPSBsYWJlbHMucmVkdWNlKChsYWJlbHNTdHJpbmcsIGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKTtcblxuICAgIGxhYmVsc1N0cmluZyA9IChsYWJlbHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9LCAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gbGFiZWxzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNTdHJpbmdGcm9tUHJlbWlzZXMocHJlbWlzZXMpIHtcbiAgY29uc3QgcHJlbWlzZXNTdHJpbmcgPSBwcmVtaXNlcy5yZWR1Y2UoKHByZW1pc2VzU3RyaW5nLCBwcmVtaXNlKSA9PiB7XG4gICAgY29uc3QgcHJlbWlzZVN0cmluZyA9IHByZW1pc2UuZ2V0U3RyaW5nKCk7XG5cbiAgICBwcmVtaXNlc1N0cmluZyA9IChwcmVtaXNlc1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVtaXNlc1N0cmluZ30sICR7cHJlbWlzZVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICBwcmVtaXNlU3RyaW5nOyAgLy8vXG5cbiAgICByZXR1cm4gcHJlbWlzZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBwcmVtaXNlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNTdHJpbmdGcm9tSHlwb3RoZXNlcyhoeXBvdGhlc2VzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGh5cG90aGVzZXNTdHJpbmcgPSBoeXBvdGhlc2VzLnJlZHVjZSgoaHlwb3RoZXNlc1N0cmluZywgaHlwb3RoZXNpcykgPT4ge1xuICAgIGNvbnN0IGh5cG90aGVzaXNTdHJpbmcgPSBoeXBvdGhlc2lzLmdldFN0cmluZygpO1xuXG4gICAgaHlwb3RoZXNlc1N0cmluZyA9IChoeXBvdGhlc2VzU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke2h5cG90aGVzZXNTdHJpbmd9LCAke2h5cG90aGVzaXNTdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHlwb3RoZXNpc1N0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIGh5cG90aGVzZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBoeXBvdGhlc2VzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpIHtcbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXMucmVkdWNlKChzdXBlclR5cGVzU3RyaW5nLCBzdXBlclR5cGUpID0+IHtcbiAgICBpZiAoc3VwZXJUeXBlICE9PSBiYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gc3VwZXJUeXBlLmdldFN0cmluZygpO1xuXG4gICAgICBzdXBlclR5cGVzU3RyaW5nID0gKHN1cGVyVHlwZXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAnJHtzdXBlclR5cGVTdHJpbmd9J2AgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBlclR5cGVzU3RyaW5nfSwgJyR7c3VwZXJUeXBlU3RyaW5nfSdgO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcmFtZXRlcnNTdHJpbmdGcm9tUGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLnJlZHVjZSgocGFyYW1ldGVyc1N0cmluZywgcGFyYW1ldGVyKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyLmdldFN0cmluZygpO1xuXG4gICAgcGFyYW1ldGVyc1N0cmluZyA9IChwYXJhbWV0ZXJzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyU3RyaW5nIDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke3BhcmFtZXRlcnNTdHJpbmd9LCAke3BhcmFtZXRlclN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHBhcmFtZXRlcnNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBwYXJhbWV0ZXJzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzdW1wdGlvbnNTdHJpbmdGcm9tQXNzdW1wdGlvbnMoYXNzdW1wdGlvbnMpIHtcbiAgY29uc3QgYXNzdW1wdGlvbnNTdHJpbmcgPSBhc3N1bXB0aW9ucy5yZWR1Y2UoKGFzc3VtcHRpb25zU3RyaW5nLCBhc3N1bXB0aW9uKSA9PiB7XG4gICAgY29uc3QgYXNzdW1wdGlvblN0cmluZyA9IGFzc3VtcHRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBhc3N1bXB0aW9uc1N0cmluZyA9IChhc3N1bXB0aW9uc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhc3N1bXB0aW9uU3RyaW5nIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHthc3N1bXB0aW9uc1N0cmluZ30sICR7YXNzdW1wdGlvblN0cmluZ31gO1xuXG4gICAgcmV0dXJuIGFzc3VtcHRpb25zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gYXNzdW1wdGlvbnNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnMucmVkdWNlKChzdXBwb3NpdGlvbnNTdHJpbmcsIHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSBzdXBwb3NpdGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIHN1cHBvc2l0aW9uc1N0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBwb3NpdGlvbnNTdHJpbmd9LCAke3N1cHBvc2l0aW9uU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb25zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXModGVybXMpLFxuICAgICAgICBzaWduYXR1cmVTdHJpbmcgPSBgWyR7dGVybXNTdHJpbmd9XWA7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxdWl2YWxlbmNlU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXModGVybXMpLFxuICAgICAgICBlcXVpdmFsZW5jZVN0cmluZyA9IHRlcm1zU3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIGVxdWl2YWxlbmNlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VicHJvb2ZTdHJpbmdGcm9tU3VicHJvb2Yoc3VicHJvb2YpIHtcbiAgY29uc3QgbGFzdFN0ZXAgPSBzdWJwcm9vZi5nZXRMYXN0U3RlcCgpLFxuICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdWJwcm9vZi5nZXRTdXBwb3NpdGlvbnMoKSxcbiAgICAgICAgbGFzdFN0ZXBTdHJpbmcgPSBsYXN0U3RlcC5nZXRTdHJpbmcoKSxcbiAgICAgICAgc3VwcG9zaXRpb25zU3RyaW5nID0gc3VwcG9zaXRpb25zU3RyaW5nRnJvbVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbnMpLFxuICAgICAgICBzdWJwcm9vZlN0cmluZyA9IGBbJHtzdXBwb3NpdGlvbnNTdHJpbmd9XSAuLi4gJHtsYXN0U3RlcFN0cmluZ31gO1xuXG4gIHJldHVybiBzdWJwcm9vZlN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bHNTdHJpbmdGcm9tTGFiZWxzUHJlbWlzZXNBbmRDb25jbHVzaW9uKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pIHtcbiAgY29uc3QgcHJlbWlzZXNTdHJpbmcgPSBwcmVtaXNlc1N0cmluZ0Zyb21QcmVtaXNlcyhwcmVtaXNlcyksXG4gICAgICAgIGNvbmNsdXNpb25TdHJpbmcgPSBjb25jbHVzaW9uLmdldFN0cmluZygpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgIHJ1bGVTdHJpbmcgPSAocHJlbWlzZXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiBbJHtwcmVtaXNlc1N0cmluZ31dIC4uLiAke2NvbmNsdXNpb25TdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiAke2NvbmNsdXNpb25TdHJpbmd9YDtcblxuICByZXR1cm4gcnVsZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHR5cGVQcmVmaXhOYW1lLCBzdXBlclR5cGVzKSB7XG4gIGxldCB0eXBlU3RyaW5nO1xuXG4gIHR5cGVTdHJpbmcgPSAodHlwZVByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgYCR7dHlwZVByZWZpeE5hbWV9JHt0eXBlTmFtZX1gOlxuICAgICAgICAgICAgICAgICAgIHR5cGVOYW1lO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcyk7XG5cbiAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICB0eXBlU3RyaW5nID0gYCR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVzU3RyaW5nfWA7XG4gIH1cblxuICByZXR1cm4gdHlwZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZUNhbGxTdHJpbmdGcm9tUHJvY2VkdXJlUmVmZXJlbmNlQW5kUGFyYW1ldGVycyhwcm9jZWR1cmVSZWZlcmVuY2UsIHBhcmFtZXRlcnMpIHtcbiAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlTmFtZSA9IHByb2NlZHVyZVJlZmVyZW5jZS5nZXROYW1lKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzU3RyaW5nRnJvbVBhcmFtZXRlcnMocGFyYW1ldGVycyksXG4gICAgICAgIHByb2NlZHVyZUNhbGxTdHJpbmcgPSBgJHtwcm9jZWR1cmVSZWZlcmVuY2VOYW1lfSgke3BhcmFtZXRlcnNTdHJpbmd9KWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZUNhbGxTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWN0aW9uU3RyaW5nRnJvbUh5cG90aGVzZXNBeGlvbUxlbW1hVGhlb3JlbUFuZENvbmplY3R1cmUoaHlwb3RoZXNlcywgYXhpb20sIGxlbW1hLCB0aGVvcmVtLCBjb25qZWN0dXJlLCBjb250ZXh0KSB7XG4gIGNvbnN0IGF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlID0gKGF4aW9tIHx8IGxlbW1hIHx8IHRoZW9yZW0gfHwgY29uamVjdHVyZSksXG4gICAgICAgIGF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlU3RyaW5nID0gYXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGh5cG90aGVzZXNTdHJpbmcgPSBoeXBvdGhlc2VzU3RyaW5nRnJvbUh5cG90aGVzZXMoaHlwb3RoZXNlcywgY29udGV4dCksXG4gICAgICAgIHNlY3Rpb25TdHJpbmcgPSAoYXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmVTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYFske2h5cG90aGVzZXNTdHJpbmd9XTo6OiAke2F4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBbJHtoeXBvdGhlc2VzU3RyaW5nfV06OjogYDtcblxuICByZXR1cm4gc2VjdGlvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFMZW1tYU1ldGF0aGVvcmVtU3RyaW5nRnJvbUxhYmVsU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uKGxhYmVsLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbikge1xuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucyksXG4gICAgICAgIGRlZHVjdGlvblN0cmluZyA9IGRlZHVjdGlvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgbWV0YUxlbW1hTWV0YXRoZW9yZW1TdHJpbmcgPSAoc3VwcG9zaXRpb25zU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbFN0cmluZ30gOjogWyR7c3VwcG9zaXRpb25zU3RyaW5nfV0gLi4uICR7ZGVkdWN0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbFN0cmluZ30gOjogJHtkZWR1Y3Rpb25TdHJpbmd9YDtcblxuICByZXR1cm4gbWV0YUxlbW1hTWV0YXRoZW9yZW1TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmdGcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uKGxhYmVscywgc3VwcG9zaXRpb25zLCBkZWR1Y3Rpb24pIHtcbiAgbGV0IGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZztcblxuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucyksXG4gICAgICAgIGRlZHVjdGlvblN0cmluZyA9IGRlZHVjdGlvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbGFiZWxzU3RyaW5nRnJvbUxhYmVscyhsYWJlbHMpO1xuXG4gIGlmIChsYWJlbHNTdHJpbmcgIT09IG51bGwpIHtcbiAgICBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmcgPSAoc3VwcG9zaXRpb25zU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9IDo6IFske3N1cHBvc2l0aW9uc1N0cmluZ31dIC4uLiAke2RlZHVjdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiAke2RlZHVjdGlvblN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFske3N1cHBvc2l0aW9uc1N0cmluZ31dIC4uLiAke2RlZHVjdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uU3RyaW5nO1xuICB9XG5cbiAgcmV0dXJuIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJhc3N1bXB0aW9uc1N0cmluZ0Zyb21Bc3N1bXB0aW9ucyIsImF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZ0Zyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmREZWR1Y3Rpb24iLCJlcXVpdmFsZW5jZVN0cmluZ0Zyb21UZXJtcyIsImh5cG90aGVzZXNTdHJpbmdGcm9tSHlwb3RoZXNlcyIsImxhYmVsc1N0cmluZ0Zyb21MYWJlbHMiLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVN0cmluZ0Zyb21MYWJlbFN1cHBvc2l0aW9uc0FuZERlZHVjdGlvbiIsInBhcmFtZXRlcnNTdHJpbmdGcm9tUGFyYW1ldGVycyIsInByZW1pc2VzU3RyaW5nRnJvbVByZW1pc2VzIiwicHJvY2VkdXJlQ2FsbFN0cmluZ0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VBbmRQYXJhbWV0ZXJzIiwicnVsc1N0cmluZ0Zyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24iLCJzZWN0aW9uU3RyaW5nRnJvbUh5cG90aGVzZXNBeGlvbUxlbW1hVGhlb3JlbUFuZENvbmplY3R1cmUiLCJzaWduYXR1cmVTdHJpbmdGcm9tVGVybXMiLCJzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZiIsInN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyIsInN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMiLCJ0ZXJtc1N0cmluZ0Zyb21UZXJtcyIsInR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXMiLCJ0ZXJtcyIsInRlcm1zU3RyaW5nIiwicmVkdWNlIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJsYWJlbHMiLCJsYWJlbHNTdHJpbmciLCJsYWJlbCIsImxhYmVsU3RyaW5nIiwicHJlbWlzZXMiLCJwcmVtaXNlc1N0cmluZyIsInByZW1pc2UiLCJwcmVtaXNlU3RyaW5nIiwiaHlwb3RoZXNlcyIsImNvbnRleHQiLCJoeXBvdGhlc2VzU3RyaW5nIiwiaHlwb3RoZXNpcyIsImh5cG90aGVzaXNTdHJpbmciLCJzdXBlclR5cGVzIiwic3VwZXJUeXBlc1N0cmluZyIsInN1cGVyVHlwZSIsImJhc2VUeXBlIiwic3VwZXJUeXBlU3RyaW5nIiwicGFyYW1ldGVycyIsInBhcmFtZXRlcnNTdHJpbmciLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJTdHJpbmciLCJhc3N1bXB0aW9ucyIsImFzc3VtcHRpb25zU3RyaW5nIiwiYXNzdW1wdGlvbiIsImFzc3VtcHRpb25TdHJpbmciLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbnNTdHJpbmciLCJzdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uU3RyaW5nIiwic2lnbmF0dXJlU3RyaW5nIiwiZXF1aXZhbGVuY2VTdHJpbmciLCJzdWJwcm9vZiIsImxhc3RTdGVwIiwiZ2V0TGFzdFN0ZXAiLCJnZXRTdXBwb3NpdGlvbnMiLCJsYXN0U3RlcFN0cmluZyIsInN1YnByb29mU3RyaW5nIiwiY29uY2x1c2lvbiIsImNvbmNsdXNpb25TdHJpbmciLCJydWxlU3RyaW5nIiwidHlwZU5hbWUiLCJ0eXBlUHJlZml4TmFtZSIsInR5cGVTdHJpbmciLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJwcm9jZWR1cmVSZWZlcmVuY2VOYW1lIiwiZ2V0TmFtZSIsInByb2NlZHVyZUNhbGxTdHJpbmciLCJheGlvbSIsImxlbW1hIiwidGhlb3JlbSIsImNvbmplY3R1cmUiLCJheGlvbUxlbW1hVGhlb3JlbU9yQ29uamVjdHVyZSIsImF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlU3RyaW5nIiwic2VjdGlvblN0cmluZyIsImRlZHVjdGlvbiIsImRlZHVjdGlvblN0cmluZyIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtU3RyaW5nIiwiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUEwRmdCQTtlQUFBQTs7UUE2R0FDO2VBQUFBOztRQTFFQUM7ZUFBQUE7O1FBL0VBQztlQUFBQTs7UUE1QkFDO2VBQUFBOztRQTBLQUM7ZUFBQUE7O1FBaEhBQztlQUFBQTs7UUE1Q0FDO2VBQUFBOztRQXlJQUM7ZUFBQUE7O1FBM0JBQztlQUFBQTs7UUFtQ0FDO2VBQUFBOztRQTNEQUM7ZUFBQUE7O1FBY0FDO2VBQUFBOztRQXhFQUM7ZUFBQUE7O1FBNENBQztlQUFBQTs7UUFwR0FDO2VBQUFBOztRQXFKQUM7ZUFBQUE7OztvQkF2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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.436",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.36",
|
|
14
14
|
"necessary": "^17.0.7",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-entities": "^1.0.
|
|
17
|
-
"occam-file-system": "^6.0.
|
|
18
|
-
"occam-furtle": "^2.0.
|
|
19
|
-
"occam-grammars": "^1.3.
|
|
15
|
+
"occam-custom-grammars": "^5.0.1335",
|
|
16
|
+
"occam-entities": "^1.0.440",
|
|
17
|
+
"occam-file-system": "^6.0.455",
|
|
18
|
+
"occam-furtle": "^2.0.274",
|
|
19
|
+
"occam-grammars": "^1.3.429",
|
|
20
20
|
"occam-lexers": "^23.1.32",
|
|
21
21
|
"occam-parsers": "^23.1.35",
|
|
22
22
|
"occam-query": "^4.1.140"
|
package/src/context/file.js
CHANGED
|
@@ -25,9 +25,9 @@ import { typesFromJSON,
|
|
|
25
25
|
metaLemmasFromNothing,
|
|
26
26
|
theoremsToTheoremsJSON,
|
|
27
27
|
variablesToVariablesJSON,
|
|
28
|
-
typePrefixesToTypePrefixesJSON,
|
|
29
28
|
conjecturesToConjecturesJSON,
|
|
30
29
|
combinatorsToCombinatorsJSON,
|
|
30
|
+
typePrefixesToTypePrefixesJSON,
|
|
31
31
|
constructorsToConstructorsJSON,
|
|
32
32
|
metatheoremsToMetatheoremsJSON,
|
|
33
33
|
metavariablesToMetavariablesJSON } from "../utilities/json";
|
package/src/element/assertion.js
CHANGED
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
constructor(context, string, node) {
|
|
5
|
-
this.context = context;
|
|
6
|
-
this.string = string;
|
|
7
|
-
this.node = node;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
getContext() {
|
|
11
|
-
return this.context;
|
|
12
|
-
}
|
|
3
|
+
import Element from "../element";
|
|
13
4
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
getNode() {
|
|
19
|
-
return this.node;
|
|
5
|
+
export default class Assertion extends Element {
|
|
6
|
+
constructor(context, string, node) {
|
|
7
|
+
super(context, string, node);
|
|
20
8
|
}
|
|
21
9
|
|
|
22
10
|
matchAssertionNode(assertionNode) { return this.node.match(assertionNode); }
|
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Element from "../element";
|
|
3
4
|
import elements from "../elements";
|
|
4
5
|
|
|
5
6
|
import { define } from "../elements";
|
|
6
7
|
import { unifyStatementIntrinsically } from "../process/unify";
|
|
7
8
|
import { referenceFromJSON, referenceToReferenceJSON } from "../utilities/json";
|
|
8
9
|
|
|
9
|
-
export default define(class Assumption {
|
|
10
|
-
constructor(string, node, statement, reference) {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export default define(class Assumption extends Element {
|
|
11
|
+
constructor(context, string, node, statement, reference) {
|
|
12
|
+
super(context, string, node);
|
|
13
|
+
|
|
13
14
|
this.statement = statement;
|
|
14
15
|
this.reference = reference;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
getString() {
|
|
18
|
-
return this.string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getNode() {
|
|
22
|
-
return this.node;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
18
|
getStatement() {
|
|
26
19
|
return this.statement;
|
|
27
20
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
+
import Element from "../element";
|
|
5
6
|
import elements from "../elements";
|
|
6
7
|
import LocalContext from "../context/local";
|
|
7
8
|
|
|
@@ -18,11 +19,10 @@ import { labelsFromJSON,
|
|
|
18
19
|
|
|
19
20
|
const { extract, reverse, correlate, backwardsEvery } = arrayUtilities;
|
|
20
21
|
|
|
21
|
-
export default class AxiomLemmaTheoremConjecture {
|
|
22
|
+
export default class AxiomLemmaTheoremConjecture extends Element {
|
|
22
23
|
constructor(context, string, node, labels, suppositions, deduction, proof, signature, hypotheses) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.node = node;
|
|
24
|
+
super(context, string, node);
|
|
25
|
+
|
|
26
26
|
this.labels = labels;
|
|
27
27
|
this.suppositions = suppositions;
|
|
28
28
|
this.deduction = deduction;
|
|
@@ -31,18 +31,6 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
31
31
|
this.hypotheses = hypotheses;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
getContext() {
|
|
35
|
-
return this.context;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
getNode() {
|
|
39
|
-
return this.node;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
getString() {
|
|
43
|
-
return this.string;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
34
|
getLabels() {
|
|
47
35
|
return this.labels;
|
|
48
36
|
}
|
|
@@ -1,28 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Element from "../element";
|
|
3
4
|
import TemporaryContext from "../context/temporary";
|
|
4
5
|
|
|
5
6
|
import { define } from "../elements";
|
|
6
7
|
import { termsFromJSON, framesFromJSON, statementFromJSON, termsToTermsJSON, framesToFramesJSON, statementToStatementJSON } from "../utilities/json";
|
|
7
8
|
|
|
8
|
-
export default define(class Conclusion {
|
|
9
|
+
export default define(class Conclusion extends Element {
|
|
9
10
|
constructor(context, string, node, statement) {
|
|
10
|
-
|
|
11
|
-
this.string = string;
|
|
12
|
-
this.node = node;
|
|
13
|
-
this.statement = statement;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getContext() {
|
|
17
|
-
return this.context;
|
|
18
|
-
}
|
|
11
|
+
super(context, string, node);
|
|
19
12
|
|
|
20
|
-
|
|
21
|
-
return this.node;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
getString() {
|
|
25
|
-
return this.string;
|
|
13
|
+
this.statement = statement;
|
|
26
14
|
}
|
|
27
15
|
|
|
28
16
|
getStatement() {
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
constructor(context, string, node) {
|
|
5
|
-
this.context = context;
|
|
6
|
-
this.string = string;
|
|
7
|
-
this.node = node;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
getContext() {
|
|
11
|
-
return this.context;
|
|
12
|
-
}
|
|
3
|
+
import Element from "../element";
|
|
13
4
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
getNode() {
|
|
19
|
-
return this.node;
|
|
5
|
+
export default class Declaration extends Element {
|
|
6
|
+
constructor(context, string, node) {
|
|
7
|
+
super(context, string, node);
|
|
20
8
|
}
|
|
21
9
|
}
|
package/src/element/deduction.js
CHANGED
|
@@ -1,30 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import Element from "../element";
|
|
4
4
|
import TemporaryContext from "../context/temporary";
|
|
5
5
|
|
|
6
6
|
import { define } from "../elements";
|
|
7
7
|
import { termsFromJSON, framesFromJSON, statementFromJSON, termsToTermsJSON, framesToFramesJSON, statementToStatementJSON } from "../utilities/json";
|
|
8
8
|
|
|
9
|
-
export default define(class Deduction {
|
|
10
|
-
constructor(context, string, statement) {
|
|
11
|
-
|
|
12
|
-
this.string = string;
|
|
13
|
-
this.node = node;
|
|
14
|
-
this.string = string;
|
|
15
|
-
this.statement = statement;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getContext() {
|
|
19
|
-
return this.context;
|
|
20
|
-
}
|
|
9
|
+
export default define(class Deduction extends Element {
|
|
10
|
+
constructor(context, string, node, statement) {
|
|
11
|
+
super(context, string, node);
|
|
21
12
|
|
|
22
|
-
|
|
23
|
-
return this.string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
getNode() {
|
|
27
|
-
return this.node;
|
|
13
|
+
this.statement = statement;
|
|
28
14
|
}
|
|
29
15
|
|
|
30
16
|
getStatement() {
|
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
+
import Element from "../element";
|
|
5
6
|
import assignAssignments from "../process/assign";
|
|
6
7
|
|
|
7
8
|
import { define } from "../elements";
|
|
8
9
|
|
|
9
10
|
const { last } = arrayUtilities;
|
|
10
11
|
|
|
11
|
-
export default define(class Derivation {
|
|
12
|
-
constructor(stepsOrSubproofs) {
|
|
12
|
+
export default define(class Derivation extends Element {
|
|
13
|
+
constructor(context, string, node, stepsOrSubproofs) {
|
|
14
|
+
super(context, string, node);
|
|
15
|
+
|
|
13
16
|
this.stepsOrSubproofs = stepsOrSubproofs;
|
|
14
17
|
}
|
|
15
18
|
|
package/src/element/equality.js
CHANGED
|
@@ -1,32 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Element from "../element";
|
|
3
4
|
import elements from "../elements";
|
|
4
5
|
|
|
5
6
|
import { define } from "../elements";
|
|
6
7
|
import { equateTerms } from "../process/equate";
|
|
7
8
|
import { equalityAssignmentFromEquality, variableAssignmentFromVariable } from "../process/assign";
|
|
8
9
|
|
|
9
|
-
export default define(class Equality {
|
|
10
|
+
export default define(class Equality extends Element {
|
|
10
11
|
constructor(context, string, node, leftTerm, rightTerm) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.node = node;
|
|
12
|
+
super(context, string, node);
|
|
13
|
+
|
|
14
14
|
this.leftTerm = leftTerm;
|
|
15
15
|
this.rightTerm = rightTerm;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
getContext() {
|
|
19
|
-
return this.context;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getString() {
|
|
23
|
-
return this.string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
getNode() {
|
|
27
|
-
return this.node;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
18
|
getLeftTerm() {
|
|
31
19
|
return this.leftTerm;
|
|
32
20
|
}
|