occam-verify-cli 1.0.428 → 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 +121 -28
- 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/{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 +3 -3
- package/lib/process/instantiate.js +8 -39
- package/lib/process/verify.js +22 -29
- package/lib/ruleNames.js +5 -5
- package/lib/utilities/brackets.js +11 -11
- package/lib/utilities/element.js +588 -94
- package/lib/utilities/instance.js +61 -0
- package/lib/utilities/string.js +73 -1
- package/package.json +1 -1
- 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 +4 -16
- package/src/element/equivalences.js +12 -5
- 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/{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 +3 -3
- package/src/process/instantiate.js +4 -36
- package/src/process/verify.js +42 -47
- package/src/ruleNames.js +1 -1
- package/src/utilities/brackets.js +13 -13
- package/src/utilities/element.js +731 -129
- package/src/utilities/instance.js +53 -0
- package/src/utilities/string.js +97 -0
|
@@ -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,15 +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
|
},
|
|
15
18
|
get equivalenceStringFromTerms () {
|
|
16
19
|
return equivalenceStringFromTerms;
|
|
17
20
|
},
|
|
21
|
+
get hypothesesStringFromHypotheses () {
|
|
22
|
+
return hypothesesStringFromHypotheses;
|
|
23
|
+
},
|
|
18
24
|
get labelsStringFromLabels () {
|
|
19
25
|
return labelsStringFromLabels;
|
|
20
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
|
+
},
|
|
21
45
|
get signatureStringFromTerms () {
|
|
22
46
|
return signatureStringFromTerms;
|
|
23
47
|
},
|
|
@@ -54,6 +78,22 @@ function labelsStringFromLabels(labels) {
|
|
|
54
78
|
}, null);
|
|
55
79
|
return labelsString;
|
|
56
80
|
}
|
|
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;
|
|
88
|
+
}
|
|
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;
|
|
96
|
+
}
|
|
57
97
|
function superTypesStringFromSuperTypes(superTypes) {
|
|
58
98
|
var superTypesString = superTypes.reduce(function(superTypesString, superType) {
|
|
59
99
|
if (superType !== _type.baseType) {
|
|
@@ -64,6 +104,22 @@ function superTypesStringFromSuperTypes(superTypes) {
|
|
|
64
104
|
}, null);
|
|
65
105
|
return superTypesString;
|
|
66
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
|
+
}
|
|
67
123
|
function suppositionsStringFromSuppositions(suppositions) {
|
|
68
124
|
var suppositionsString = suppositions.reduce(function(suppositionsString, supposition) {
|
|
69
125
|
var suppositionString = supposition.getString();
|
|
@@ -84,6 +140,10 @@ function subproofStringFromSubproof(subproof) {
|
|
|
84
140
|
var lastStep = subproof.getLastStep(), suppositions = subproof.getSuppositions(), lastStepString = lastStep.getString(), suppositionsString = suppositionsStringFromSuppositions(suppositions), subproofString = "[".concat(suppositionsString, "] ... ").concat(lastStepString);
|
|
85
141
|
return subproofString;
|
|
86
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
|
+
}
|
|
87
147
|
function typeStringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes) {
|
|
88
148
|
var typeString;
|
|
89
149
|
typeString = typePrefixName !== null ? "".concat(typePrefixName).concat(typeName) : typeName;
|
|
@@ -93,6 +153,18 @@ function typeStringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixN
|
|
|
93
153
|
}
|
|
94
154
|
return typeString;
|
|
95
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
|
+
}
|
|
96
168
|
function axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction(labels, suppositions, deduction) {
|
|
97
169
|
var axiomLemmaTheoremConjectureString;
|
|
98
170
|
var suppositionsString = suppositionsStringFromSuppositions(suppositions), deductionString = deduction.getString(), labelsString = labelsStringFromLabels(labels);
|
|
@@ -104,4 +176,4 @@ function axiomLemmaTheoremConjectureStringFromLabelsSuppositionsAndDeduction(lab
|
|
|
104
176
|
return axiomLemmaTheoremConjectureString;
|
|
105
177
|
}
|
|
106
178
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBiYXNlVHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gdGVybXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscykge1xuICBjb25zdCBsYWJlbHNTdHJpbmcgPSBsYWJlbHMucmVkdWNlKChsYWJlbHNTdHJpbmcsIGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKTtcblxuICAgIGxhYmVsc1N0cmluZyA9IChsYWJlbHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9LCAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gbGFiZWxzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpIHtcbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXMucmVkdWNlKChzdXBlclR5cGVzU3RyaW5nLCBzdXBlclR5cGUpID0+IHtcbiAgICBpZiAoc3VwZXJUeXBlICE9PSBiYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gc3VwZXJUeXBlLmdldFN0cmluZygpO1xuXG4gICAgICBzdXBlclR5cGVzU3RyaW5nID0gKHN1cGVyVHlwZXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAnJHtzdXBlclR5cGVTdHJpbmd9J2AgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBlclR5cGVzU3RyaW5nfSwgJyR7c3VwZXJUeXBlU3RyaW5nfSdgO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25zKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uc1N0cmluZyA9IHN1cHBvc2l0aW9ucy5yZWR1Y2UoKHN1cHBvc2l0aW9uc1N0cmluZywgc3VwcG9zaXRpb24pID0+IHtcbiAgICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IHN1cHBvc2l0aW9uLmdldFN0cmluZygpO1xuXG4gICAgc3VwcG9zaXRpb25zU3RyaW5nID0gKHN1cHBvc2l0aW9uc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9zaXRpb25TdHJpbmc6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1cHBvc2l0aW9uc1N0cmluZ30sICR7c3VwcG9zaXRpb25TdHJpbmd9YDtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbnNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYXR1cmVTdHJpbmdGcm9tVGVybXModGVybXMpIHtcbiAgY29uc3QgdGVybXNTdHJpbmcgPSB0ZXJtc1N0cmluZ0Zyb21UZXJtcyh0ZXJtcyksXG4gICAgICAgIHNpZ25hdHVyZVN0cmluZyA9IGBbJHt0ZXJtc1N0cmluZ31dYDtcblxuICByZXR1cm4gc2lnbmF0dXJlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXF1aXZhbGVuY2VTdHJpbmdGcm9tVGVybXModGVybXMpIHtcbiAgY29uc3QgdGVybXNTdHJpbmcgPSB0ZXJtc1N0cmluZ0Zyb21UZXJtcyh0ZXJtcyksXG4gICAgICAgIGVxdWl2YWxlbmNlU3RyaW5nID0gdGVybXNTdHJpbmc7ICAvLy9cblxuICByZXR1cm4gZXF1aXZhbGVuY2VTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZihzdWJwcm9vZikge1xuICBjb25zdCBsYXN0U3RlcCA9IHN1YnByb29mLmdldExhc3RTdGVwKCksXG4gICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1YnByb29mLmdldFN1cHBvc2l0aW9ucygpLFxuICAgICAgICBsYXN0U3RlcFN0cmluZyA9IGxhc3RTdGVwLmdldFN0cmluZygpLFxuICAgICAgICBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucyksXG4gICAgICAgIHN1YnByb29mU3RyaW5nID0gYFske3N1cHBvc2l0aW9uc1N0cmluZ31dIC4uLiAke2xhc3RTdGVwU3RyaW5nfWA7XG5cbiAgcmV0dXJuIHN1YnByb29mU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZVN0cmluZ0Zyb21UeXBlTmFtZVR5cGVQcmVmaXhOYW1lQW5kU3VwZXJUeXBlcyh0eXBlTmFtZSwgdHlwZVByZWZpeE5hbWUsIHN1cGVyVHlwZXMpIHtcbiAgbGV0IHR5cGVTdHJpbmc7XG5cbiAgdHlwZVN0cmluZyA9ICh0eXBlUHJlZml4TmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICBgJHt0eXBlUHJlZml4TmFtZX0ke3R5cGVOYW1lfWA6XG4gICAgICAgICAgICAgICAgICAgdHlwZU5hbWU7XG5cbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKTtcblxuICBpZiAoc3VwZXJUeXBlc1N0cmluZyAhPT0gbnVsbCkge1xuICAgIHR5cGVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZXNTdHJpbmd9YDtcbiAgfVxuXG4gIHJldHVybiB0eXBlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nRnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZERlZHVjdGlvbihsYWJlbHMsIHN1cHBvc2l0aW9ucywgZGVkdWN0aW9uKSB7XG4gIGxldCBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmc7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25zU3RyaW5nID0gc3VwcG9zaXRpb25zU3RyaW5nRnJvbVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbnMpLFxuICAgICAgICBkZWR1Y3Rpb25TdHJpbmcgPSBkZWR1Y3Rpb24uZ2V0U3RyaW5nKCksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGxhYmVsc1N0cmluZ0Zyb21MYWJlbHMobGFiZWxzKTtcblxuICBpZiAobGFiZWxzU3RyaW5nICE9PSBudWxsKSB7XG4gICAgYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nID0gKHN1cHBvc2l0aW9uc1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiBbJHtzdXBwb3NpdGlvbnNTdHJpbmd9XSAuLi4gJHtkZWR1Y3Rpb25TdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2xhYmVsc1N0cmluZ30gOjogJHtkZWR1Y3Rpb25TdHJpbmd9YDtcbiAgfSBlbHNlIHtcbiAgICBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmcgPSAoc3VwcG9zaXRpb25zU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBbJHtzdXBwb3NpdGlvbnNTdHJpbmd9XSAuLi4gJHtkZWR1Y3Rpb25TdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblN0cmluZztcbiAgfVxuXG4gIHJldHVybiBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nRnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZERlZHVjdGlvbiIsImVxdWl2YWxlbmNlU3RyaW5nRnJvbVRlcm1zIiwibGFiZWxzU3RyaW5nRnJvbUxhYmVscyIsInNpZ25hdHVyZVN0cmluZ0Zyb21UZXJtcyIsInN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mIiwic3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIiwic3VwcG9zaXRpb25zU3RyaW5nRnJvbVN1cHBvc2l0aW9ucyIsInRlcm1zU3RyaW5nRnJvbVRlcm1zIiwidHlwZVN0cmluZ0Zyb21UeXBlTmFtZVR5cGVQcmVmaXhOYW1lQW5kU3VwZXJUeXBlcyIsInRlcm1zIiwidGVybXNTdHJpbmciLCJyZWR1Y2UiLCJ0ZXJtIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsImxhYmVscyIsImxhYmVsc1N0cmluZyIsImxhYmVsIiwibGFiZWxTdHJpbmciLCJzdXBlclR5cGVzIiwic3VwZXJUeXBlc1N0cmluZyIsInN1cGVyVHlwZSIsImJhc2VUeXBlIiwic3VwZXJUeXBlU3RyaW5nIiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zU3RyaW5nIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvblN0cmluZyIsInNpZ25hdHVyZVN0cmluZyIsImVxdWl2YWxlbmNlU3RyaW5nIiwic3VicHJvb2YiLCJsYXN0U3RlcCIsImdldExhc3RTdGVwIiwiZ2V0U3VwcG9zaXRpb25zIiwibGFzdFN0ZXBTdHJpbmciLCJzdWJwcm9vZlN0cmluZyIsInR5cGVOYW1lIiwidHlwZVByZWZpeE5hbWUiLCJ0eXBlU3RyaW5nIiwiZGVkdWN0aW9uIiwiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nIiwiZGVkdWN0aW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFzR2dCQTtlQUFBQTs7UUFqQ0FDO2VBQUFBOztRQW5EQUM7ZUFBQUE7O1FBNENBQztlQUFBQTs7UUFjQUM7ZUFBQUE7O1FBNUNBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQTVDQUM7ZUFBQUE7O1FBa0ZBQztlQUFBQTs7O29CQXBGUztBQUVsQixTQUFTRCxxQkFBcUJFLEtBQUs7SUFDeEMsSUFBTUMsY0FBY0QsTUFBTUUsTUFBTSxDQUFDLFNBQUNELGFBQWFFO1FBQzdDLElBQU1DLGFBQWFELEtBQUtFLFNBQVM7UUFFakNKLGNBQWMsQUFBQ0EsZ0JBQWdCLE9BQ2hCLEFBQUMsR0FBa0JHLE9BQWhCSCxhQUFZLE1BQWUsT0FBWEcsY0FDaEJBO1FBRWxCLE9BQU9IO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTUix1QkFBdUJhLE1BQU07SUFDM0MsSUFBTUMsZUFBZUQsT0FBT0osTUFBTSxDQUFDLFNBQUNLLGNBQWNDO1FBQ2hELElBQU1DLGNBQWNELE1BQU1ILFNBQVM7UUFFbkNFLGVBQWUsQUFBQ0EsaUJBQWlCLE9BQ2hCRSxjQUNDLEFBQUMsR0FBbUJBLE9BQWpCRixjQUFhLE1BQWdCLE9BQVpFO1FBRXRDLE9BQU9GO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1Q7QUFFTyxTQUFTWCwrQkFBK0JjLFVBQVU7SUFDdkQsSUFBTUMsbUJBQW1CRCxXQUFXUixNQUFNLENBQUMsU0FBQ1Msa0JBQWtCQztRQUM1RCxJQUFJQSxjQUFjQyxjQUFRLEVBQUU7WUFDMUIsSUFBTUMsa0JBQWtCRixVQUFVUCxTQUFTO1lBRTNDTSxtQkFBbUIsQUFBQ0EscUJBQXFCLE9BQ3BCLEFBQUMsSUFBbUIsT0FBaEJHLGlCQUFnQixPQUNsQixBQUFDLEdBQXdCQSxPQUF0Qkgsa0JBQWlCLE9BQXFCLE9BQWhCRyxpQkFBZ0I7UUFDbEU7UUFFQSxPQUFPSDtJQUNULEdBQUc7SUFFSCxPQUFPQTtBQUNUO0FBRU8sU0FBU2QsbUNBQW1Da0IsWUFBWTtJQUM3RCxJQUFNQyxxQkFBcUJELGFBQWFiLE1BQU0sQ0FBQyxTQUFDYyxvQkFBb0JDO1FBQ2xFLElBQU1DLG9CQUFvQkQsWUFBWVosU0FBUztRQUUvQ1cscUJBQXFCLEFBQUNBLHVCQUF1QixPQUN0QkUsb0JBQ0MsQUFBQyxHQUF5QkEsT0FBdkJGLG9CQUFtQixNQUFzQixPQUFsQkU7UUFFbEQsT0FBT0Y7SUFDVCxHQUFHO0lBRUgsT0FBT0E7QUFDVDtBQUVPLFNBQVN0Qix5QkFBeUJNLEtBQUs7SUFDNUMsSUFBTUMsY0FBY0gscUJBQXFCRSxRQUNuQ21CLGtCQUFrQixBQUFDLElBQWUsT0FBWmxCLGFBQVk7SUFFeEMsT0FBT2tCO0FBQ1Q7QUFFTyxTQUFTM0IsMkJBQTJCUSxLQUFLO0lBQzlDLElBQU1DLGNBQWNILHFCQUFxQkUsUUFDbkNvQixvQkFBb0JuQixhQUFjLEdBQUc7SUFFM0MsT0FBT21CO0FBQ1Q7QUFFTyxTQUFTekIsMkJBQTJCMEIsUUFBUTtJQUNqRCxJQUFNQyxXQUFXRCxTQUFTRSxXQUFXLElBQy9CUixlQUFlTSxTQUFTRyxlQUFlLElBQ3ZDQyxpQkFBaUJILFNBQVNqQixTQUFTLElBQ25DVyxxQkFBcUJuQixtQ0FBbUNrQixlQUN4RFcsaUJBQWlCLEFBQUMsSUFBOEJELE9BQTNCVCxvQkFBbUIsVUFBdUIsT0FBZlM7SUFFdEQsT0FBT0M7QUFDVDtBQUVPLFNBQVMzQixrREFBa0Q0QixRQUFRLEVBQUVDLGNBQWMsRUFBRWxCLFVBQVU7SUFDcEcsSUFBSW1CO0lBRUpBLGFBQWEsQUFBQ0QsbUJBQW1CLE9BQ2xCLEFBQUMsR0FBbUJELE9BQWpCQyxnQkFBMEIsT0FBVEQsWUFDbEJBO0lBRWpCLElBQU1oQixtQkFBbUJmLCtCQUErQmM7SUFFeEQsSUFBSUMscUJBQXFCLE1BQU07UUFDN0JrQixhQUFhLEFBQUMsR0FBZ0JsQixPQUFka0IsWUFBVyxLQUFvQixPQUFqQmxCO0lBQ2hDO0lBRUEsT0FBT2tCO0FBQ1Q7QUFFTyxTQUFTdEMsb0VBQW9FZSxNQUFNLEVBQUVTLFlBQVksRUFBRWUsU0FBUztJQUNqSCxJQUFJQztJQUVKLElBQU1mLHFCQUFxQm5CLG1DQUFtQ2tCLGVBQ3hEaUIsa0JBQWtCRixVQUFVekIsU0FBUyxJQUNyQ0UsZUFBZWQsdUJBQXVCYTtJQUU1QyxJQUFJQyxpQkFBaUIsTUFBTTtRQUN6QndCLG9DQUFvQyxBQUFDZix1QkFBdUIsT0FDdEIsQUFBQyxHQUFzQkEsT0FBcEJULGNBQWEsU0FBa0N5QixPQUEzQmhCLG9CQUFtQixVQUF3QixPQUFoQmdCLG1CQUNoRCxBQUFDLEdBQXFCQSxPQUFuQnpCLGNBQWEsUUFBc0IsT0FBaEJ5QjtJQUNoRSxPQUFPO1FBQ0xELG9DQUFvQyxBQUFDZix1QkFBdUIsT0FDdkIsQUFBQyxJQUE4QmdCLE9BQTNCaEIsb0JBQW1CLFVBQXdCLE9BQWhCZ0IsbUJBQzVCQTtJQUMxQztJQUVBLE9BQU9EO0FBQ1QifQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBiYXNlVHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0ZXJtc1N0cmluZ30sICR7dGVybVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nO1xuXG4gICAgcmV0dXJuIHRlcm1zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gdGVybXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscykge1xuICBjb25zdCBsYWJlbHNTdHJpbmcgPSBsYWJlbHMucmVkdWNlKChsYWJlbHNTdHJpbmcsIGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKTtcblxuICAgIGxhYmVsc1N0cmluZyA9IChsYWJlbHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9LCAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gbGFiZWxzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNTdHJpbmdGcm9tUHJlbWlzZXMocHJlbWlzZXMpIHtcbiAgY29uc3QgcHJlbWlzZXNTdHJpbmcgPSBwcmVtaXNlcy5yZWR1Y2UoKHByZW1pc2VzU3RyaW5nLCBwcmVtaXNlKSA9PiB7XG4gICAgY29uc3QgcHJlbWlzZVN0cmluZyA9IHByZW1pc2UuZ2V0U3RyaW5nKCk7XG5cbiAgICBwcmVtaXNlc1N0cmluZyA9IChwcmVtaXNlc1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVtaXNlc1N0cmluZ30sICR7cHJlbWlzZVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICBwcmVtaXNlU3RyaW5nOyAgLy8vXG5cbiAgICByZXR1cm4gcHJlbWlzZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBwcmVtaXNlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNTdHJpbmdGcm9tSHlwb3RoZXNlcyhoeXBvdGhlc2VzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGh5cG90aGVzZXNTdHJpbmcgPSBoeXBvdGhlc2VzLnJlZHVjZSgoaHlwb3RoZXNlc1N0cmluZywgaHlwb3RoZXNpcykgPT4ge1xuICAgIGNvbnN0IGh5cG90aGVzaXNTdHJpbmcgPSBoeXBvdGhlc2lzLmdldFN0cmluZygpO1xuXG4gICAgaHlwb3RoZXNlc1N0cmluZyA9IChoeXBvdGhlc2VzU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke2h5cG90aGVzZXNTdHJpbmd9LCAke2h5cG90aGVzaXNTdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHlwb3RoZXNpc1N0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIGh5cG90aGVzZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBoeXBvdGhlc2VzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpIHtcbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXMucmVkdWNlKChzdXBlclR5cGVzU3RyaW5nLCBzdXBlclR5cGUpID0+IHtcbiAgICBpZiAoc3VwZXJUeXBlICE9PSBiYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gc3VwZXJUeXBlLmdldFN0cmluZygpO1xuXG4gICAgICBzdXBlclR5cGVzU3RyaW5nID0gKHN1cGVyVHlwZXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAnJHtzdXBlclR5cGVTdHJpbmd9J2AgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBlclR5cGVzU3RyaW5nfSwgJyR7c3VwZXJUeXBlU3RyaW5nfSdgO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcmFtZXRlcnNTdHJpbmdGcm9tUGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLnJlZHVjZSgocGFyYW1ldGVyc1N0cmluZywgcGFyYW1ldGVyKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyLmdldFN0cmluZygpO1xuXG4gICAgcGFyYW1ldGVyc1N0cmluZyA9IChwYXJhbWV0ZXJzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyU3RyaW5nIDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke3BhcmFtZXRlcnNTdHJpbmd9LCAke3BhcmFtZXRlclN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHBhcmFtZXRlcnNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBwYXJhbWV0ZXJzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzdW1wdGlvbnNTdHJpbmdGcm9tQXNzdW1wdGlvbnMoYXNzdW1wdGlvbnMpIHtcbiAgY29uc3QgYXNzdW1wdGlvbnNTdHJpbmcgPSBhc3N1bXB0aW9ucy5yZWR1Y2UoKGFzc3VtcHRpb25zU3RyaW5nLCBhc3N1bXB0aW9uKSA9PiB7XG4gICAgY29uc3QgYXNzdW1wdGlvblN0cmluZyA9IGFzc3VtcHRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBhc3N1bXB0aW9uc1N0cmluZyA9IChhc3N1bXB0aW9uc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhc3N1bXB0aW9uU3RyaW5nIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHthc3N1bXB0aW9uc1N0cmluZ30sICR7YXNzdW1wdGlvblN0cmluZ31gO1xuXG4gICAgcmV0dXJuIGFzc3VtcHRpb25zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gYXNzdW1wdGlvbnNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnMucmVkdWNlKChzdXBwb3NpdGlvbnNTdHJpbmcsIHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSBzdXBwb3NpdGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIHN1cHBvc2l0aW9uc1N0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RyaW5nOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBwb3NpdGlvbnNTdHJpbmd9LCAke3N1cHBvc2l0aW9uU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb25zU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXModGVybXMpLFxuICAgICAgICBzaWduYXR1cmVTdHJpbmcgPSBgWyR7dGVybXNTdHJpbmd9XWA7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxdWl2YWxlbmNlU3RyaW5nRnJvbVRlcm1zKHRlcm1zKSB7XG4gIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXNTdHJpbmdGcm9tVGVybXModGVybXMpLFxuICAgICAgICBlcXVpdmFsZW5jZVN0cmluZyA9IHRlcm1zU3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIGVxdWl2YWxlbmNlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VicHJvb2ZTdHJpbmdGcm9tU3VicHJvb2Yoc3VicHJvb2YpIHtcbiAgY29uc3QgbGFzdFN0ZXAgPSBzdWJwcm9vZi5nZXRMYXN0U3RlcCgpLFxuICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdWJwcm9vZi5nZXRTdXBwb3NpdGlvbnMoKSxcbiAgICAgICAgbGFzdFN0ZXBTdHJpbmcgPSBsYXN0U3RlcC5nZXRTdHJpbmcoKSxcbiAgICAgICAgc3VwcG9zaXRpb25zU3RyaW5nID0gc3VwcG9zaXRpb25zU3RyaW5nRnJvbVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbnMpLFxuICAgICAgICBzdWJwcm9vZlN0cmluZyA9IGBbJHtzdXBwb3NpdGlvbnNTdHJpbmd9XSAuLi4gJHtsYXN0U3RlcFN0cmluZ31gO1xuXG4gIHJldHVybiBzdWJwcm9vZlN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bHNTdHJpbmdGcm9tTGFiZWxzUHJlbWlzZXNBbmRDb25jbHVzaW9uKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pIHtcbiAgY29uc3QgcHJlbWlzZXNTdHJpbmcgPSBwcmVtaXNlc1N0cmluZ0Zyb21QcmVtaXNlcyhwcmVtaXNlcyksXG4gICAgICAgIGNvbmNsdXNpb25TdHJpbmcgPSBjb25jbHVzaW9uLmdldFN0cmluZygpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBsYWJlbHNTdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgIHJ1bGVTdHJpbmcgPSAocHJlbWlzZXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiBbJHtwcmVtaXNlc1N0cmluZ31dIC4uLiAke2NvbmNsdXNpb25TdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiAke2NvbmNsdXNpb25TdHJpbmd9YDtcblxuICByZXR1cm4gcnVsZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHR5cGVQcmVmaXhOYW1lLCBzdXBlclR5cGVzKSB7XG4gIGxldCB0eXBlU3RyaW5nO1xuXG4gIHR5cGVTdHJpbmcgPSAodHlwZVByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgYCR7dHlwZVByZWZpeE5hbWV9JHt0eXBlTmFtZX1gOlxuICAgICAgICAgICAgICAgICAgIHR5cGVOYW1lO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcyk7XG5cbiAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICB0eXBlU3RyaW5nID0gYCR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVzU3RyaW5nfWA7XG4gIH1cblxuICByZXR1cm4gdHlwZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZUNhbGxTdHJpbmdGcm9tUHJvY2VkdXJlUmVmZXJlbmNlQW5kUGFyYW1ldGVycyhwcm9jZWR1cmVSZWZlcmVuY2UsIHBhcmFtZXRlcnMpIHtcbiAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlTmFtZSA9IHByb2NlZHVyZVJlZmVyZW5jZS5nZXROYW1lKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzU3RyaW5nRnJvbVBhcmFtZXRlcnMocGFyYW1ldGVycyksXG4gICAgICAgIHByb2NlZHVyZUNhbGxTdHJpbmcgPSBgJHtwcm9jZWR1cmVSZWZlcmVuY2VOYW1lfSgke3BhcmFtZXRlcnNTdHJpbmd9KWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZUNhbGxTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWN0aW9uU3RyaW5nRnJvbUh5cG90aGVzZXNBeGlvbUxlbW1hVGhlb3JlbUFuZENvbmplY3R1cmUoaHlwb3RoZXNlcywgYXhpb20sIGxlbW1hLCB0aGVvcmVtLCBjb25qZWN0dXJlLCBjb250ZXh0KSB7XG4gIGNvbnN0IGF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlID0gKGF4aW9tIHx8IGxlbW1hIHx8IHRoZW9yZW0gfHwgY29uamVjdHVyZSksXG4gICAgICAgIGF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlU3RyaW5nID0gYXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGh5cG90aGVzZXNTdHJpbmcgPSBoeXBvdGhlc2VzU3RyaW5nRnJvbUh5cG90aGVzZXMoaHlwb3RoZXNlcywgY29udGV4dCksXG4gICAgICAgIHNlY3Rpb25TdHJpbmcgPSAoYXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmVTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYFske2h5cG90aGVzZXNTdHJpbmd9XTo6OiAke2F4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBbJHtoeXBvdGhlc2VzU3RyaW5nfV06OjogYDtcblxuICByZXR1cm4gc2VjdGlvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFMZW1tYU1ldGF0aGVvcmVtU3RyaW5nRnJvbUxhYmVsU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uKGxhYmVsLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbikge1xuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucyksXG4gICAgICAgIGRlZHVjdGlvblN0cmluZyA9IGRlZHVjdGlvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgbWV0YUxlbW1hTWV0YXRoZW9yZW1TdHJpbmcgPSAoc3VwcG9zaXRpb25zU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbFN0cmluZ30gOjogWyR7c3VwcG9zaXRpb25zU3RyaW5nfV0gLi4uICR7ZGVkdWN0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbFN0cmluZ30gOjogJHtkZWR1Y3Rpb25TdHJpbmd9YDtcblxuICByZXR1cm4gbWV0YUxlbW1hTWV0YXRoZW9yZW1TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmdGcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uKGxhYmVscywgc3VwcG9zaXRpb25zLCBkZWR1Y3Rpb24pIHtcbiAgbGV0IGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZztcblxuICBjb25zdCBzdXBwb3NpdGlvbnNTdHJpbmcgPSBzdXBwb3NpdGlvbnNTdHJpbmdGcm9tU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucyksXG4gICAgICAgIGRlZHVjdGlvblN0cmluZyA9IGRlZHVjdGlvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gbGFiZWxzU3RyaW5nRnJvbUxhYmVscyhsYWJlbHMpO1xuXG4gIGlmIChsYWJlbHNTdHJpbmcgIT09IG51bGwpIHtcbiAgICBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVTdHJpbmcgPSAoc3VwcG9zaXRpb25zU3RyaW5nICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtsYWJlbHNTdHJpbmd9IDo6IFske3N1cHBvc2l0aW9uc1N0cmluZ31dIC4uLiAke2RlZHVjdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bGFiZWxzU3RyaW5nfSA6OiAke2RlZHVjdGlvblN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZyA9IChzdXBwb3NpdGlvbnNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFske3N1cHBvc2l0aW9uc1N0cmluZ31dIC4uLiAke2RlZHVjdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uU3RyaW5nO1xuICB9XG5cbiAgcmV0dXJuIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJhc3N1bXB0aW9uc1N0cmluZ0Zyb21Bc3N1bXB0aW9ucyIsImF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZVN0cmluZ0Zyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmREZWR1Y3Rpb24iLCJlcXVpdmFsZW5jZVN0cmluZ0Zyb21UZXJtcyIsImh5cG90aGVzZXNTdHJpbmdGcm9tSHlwb3RoZXNlcyIsImxhYmVsc1N0cmluZ0Zyb21MYWJlbHMiLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVN0cmluZ0Zyb21MYWJlbFN1cHBvc2l0aW9uc0FuZERlZHVjdGlvbiIsInBhcmFtZXRlcnNTdHJpbmdGcm9tUGFyYW1ldGVycyIsInByZW1pc2VzU3RyaW5nRnJvbVByZW1pc2VzIiwicHJvY2VkdXJlQ2FsbFN0cmluZ0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VBbmRQYXJhbWV0ZXJzIiwicnVsc1N0cmluZ0Zyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24iLCJzZWN0aW9uU3RyaW5nRnJvbUh5cG90aGVzZXNBeGlvbUxlbW1hVGhlb3JlbUFuZENvbmplY3R1cmUiLCJzaWduYXR1cmVTdHJpbmdGcm9tVGVybXMiLCJzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZiIsInN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyIsInN1cHBvc2l0aW9uc1N0cmluZ0Zyb21TdXBwb3NpdGlvbnMiLCJ0ZXJtc1N0cmluZ0Zyb21UZXJtcyIsInR5cGVTdHJpbmdGcm9tVHlwZU5hbWVUeXBlUHJlZml4TmFtZUFuZFN1cGVyVHlwZXMiLCJ0ZXJtcyIsInRlcm1zU3RyaW5nIiwicmVkdWNlIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJsYWJlbHMiLCJsYWJlbHNTdHJpbmciLCJsYWJlbCIsImxhYmVsU3RyaW5nIiwicHJlbWlzZXMiLCJwcmVtaXNlc1N0cmluZyIsInByZW1pc2UiLCJwcmVtaXNlU3RyaW5nIiwiaHlwb3RoZXNlcyIsImNvbnRleHQiLCJoeXBvdGhlc2VzU3RyaW5nIiwiaHlwb3RoZXNpcyIsImh5cG90aGVzaXNTdHJpbmciLCJzdXBlclR5cGVzIiwic3VwZXJUeXBlc1N0cmluZyIsInN1cGVyVHlwZSIsImJhc2VUeXBlIiwic3VwZXJUeXBlU3RyaW5nIiwicGFyYW1ldGVycyIsInBhcmFtZXRlcnNTdHJpbmciLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJTdHJpbmciLCJhc3N1bXB0aW9ucyIsImFzc3VtcHRpb25zU3RyaW5nIiwiYXNzdW1wdGlvbiIsImFzc3VtcHRpb25TdHJpbmciLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbnNTdHJpbmciLCJzdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uU3RyaW5nIiwic2lnbmF0dXJlU3RyaW5nIiwiZXF1aXZhbGVuY2VTdHJpbmciLCJzdWJwcm9vZiIsImxhc3RTdGVwIiwiZ2V0TGFzdFN0ZXAiLCJnZXRTdXBwb3NpdGlvbnMiLCJsYXN0U3RlcFN0cmluZyIsInN1YnByb29mU3RyaW5nIiwiY29uY2x1c2lvbiIsImNvbmNsdXNpb25TdHJpbmciLCJydWxlU3RyaW5nIiwidHlwZU5hbWUiLCJ0eXBlUHJlZml4TmFtZSIsInR5cGVTdHJpbmciLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJwcm9jZWR1cmVSZWZlcmVuY2VOYW1lIiwiZ2V0TmFtZSIsInByb2NlZHVyZUNhbGxTdHJpbmciLCJheGlvbSIsImxlbW1hIiwidGhlb3JlbSIsImNvbmplY3R1cmUiLCJheGlvbUxlbW1hVGhlb3JlbU9yQ29uamVjdHVyZSIsImF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlU3RyaW5nIiwic2VjdGlvblN0cmluZyIsImRlZHVjdGlvbiIsImRlZHVjdGlvblN0cmluZyIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtU3RyaW5nIiwiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUEwRmdCQTtlQUFBQTs7UUE2R0FDO2VBQUFBOztRQTFFQUM7ZUFBQUE7O1FBL0VBQztlQUFBQTs7UUE1QkFDO2VBQUFBOztRQTBLQUM7ZUFBQUE7O1FBaEhBQztlQUFBQTs7UUE1Q0FDO2VBQUFBOztRQXlJQUM7ZUFBQUE7O1FBM0JBQztlQUFBQTs7UUFtQ0FDO2VBQUFBOztRQTNEQUM7ZUFBQUE7O1FBY0FDO2VBQUFBOztRQXhFQUM7ZUFBQUE7O1FBNENBQztlQUFBQTs7UUFwR0FDO2VBQUFBOztRQXFKQUM7ZUFBQUE7OztvQkF2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
|
package/package.json
CHANGED
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
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
+
import Element from "../element";
|
|
6
|
+
|
|
5
7
|
import { define } from "../elements";
|
|
6
8
|
import { termsStringFromTerms } from "../utilities/string";
|
|
7
9
|
import { instantiateEquivalence } from "../process/instantiate";
|
|
@@ -10,26 +12,12 @@ import { equalivanceFromEquivalenceNode } from "../utilities/element";
|
|
|
10
12
|
|
|
11
13
|
const { compress } = arrayUtilities;
|
|
12
14
|
|
|
13
|
-
export default define(class Equivalence {
|
|
15
|
+
export default define(class Equivalence extends Element {
|
|
14
16
|
constructor(context, string, node, terms) {
|
|
15
|
-
|
|
16
|
-
this.string = string;
|
|
17
|
-
this.node = node;
|
|
17
|
+
super(context, string, node);
|
|
18
18
|
this.terms = terms;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
getContext() {
|
|
22
|
-
return this.context;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getString() {
|
|
26
|
-
return this.string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getNode() {
|
|
30
|
-
return this.node;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
21
|
getTerms() {
|
|
34
22
|
return this.terms;
|
|
35
23
|
}
|
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
+
import Element from "../element";
|
|
6
|
+
|
|
5
7
|
import { define } from "../elements";
|
|
8
|
+
import { EMPTY_STRING } from "../constants";
|
|
6
9
|
import { variablesFromTerm } from "./term";
|
|
7
10
|
|
|
8
11
|
const { push, separate } = arrayUtilities;
|
|
9
12
|
|
|
10
|
-
export default define(class Equivalences {
|
|
11
|
-
constructor(array) {
|
|
13
|
+
export default define(class Equivalences extends Element {
|
|
14
|
+
constructor(context, string, node, array) {
|
|
15
|
+
super(context, string, node);
|
|
16
|
+
|
|
12
17
|
this.array = array;
|
|
13
18
|
}
|
|
14
19
|
|
|
@@ -185,9 +190,11 @@ export default define(class Equivalences {
|
|
|
185
190
|
return equivalences;
|
|
186
191
|
}
|
|
187
192
|
|
|
188
|
-
static fromNothing() {
|
|
189
|
-
const
|
|
190
|
-
|
|
193
|
+
static fromNothing(context) {
|
|
194
|
+
const string = EMPTY_STRING,
|
|
195
|
+
node = null,
|
|
196
|
+
array = [],
|
|
197
|
+
equivalences = new Equivalences(context, string, node, array);
|
|
191
198
|
|
|
192
199
|
return equivalences;
|
|
193
200
|
}
|
package/src/element/error.js
CHANGED
|
@@ -1,24 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Element from "../element";
|
|
4
|
+
|
|
3
5
|
import { define } from "../elements";
|
|
4
6
|
|
|
5
|
-
export default define(class Error {
|
|
7
|
+
export default define(class Error extends Element {
|
|
6
8
|
constructor(context, string, node) {
|
|
7
|
-
|
|
8
|
-
this.string = string;
|
|
9
|
-
this.node = node;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getContext() {
|
|
13
|
-
return this.context;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getString() {
|
|
17
|
-
return this.string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getNode() {
|
|
21
|
-
return this.node;
|
|
9
|
+
super(context, string, node);
|
|
22
10
|
}
|
|
23
11
|
|
|
24
12
|
verify() {
|
|
@@ -32,12 +20,4 @@ export default define(class Error {
|
|
|
32
20
|
}
|
|
33
21
|
|
|
34
22
|
static name = "Error";
|
|
35
|
-
|
|
36
|
-
static fromErrorNode(errorNode, context) {
|
|
37
|
-
const node = errorNode, ///
|
|
38
|
-
string = context.nodeAsString(node),
|
|
39
|
-
error = new Error(context, string, node);
|
|
40
|
-
|
|
41
|
-
return error;
|
|
42
|
-
}
|
|
43
23
|
});
|