occam-verify-cli 1.0.185 → 1.0.198
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/constants.js +5 -1
- package/lib/context/file.js +3 -3
- package/lib/dom/assertion/contained.js +12 -24
- package/lib/dom/assertion/defined.js +9 -21
- package/lib/dom/assertion/property.js +8 -10
- package/lib/dom/assertion/satisfies.js +6 -8
- package/lib/dom/assertion/subproof.js +3 -5
- package/lib/dom/assertion/type.js +6 -8
- package/lib/dom/axiom.js +15 -100
- package/lib/dom/conjecture.js +5 -4
- package/lib/dom/constructor/bracketed.js +6 -7
- package/lib/dom/declaration/complexType.js +6 -6
- package/lib/dom/declaration/constructor.js +6 -6
- package/lib/dom/declaration/metavariable.js +3 -5
- package/lib/dom/declaration/type.js +2 -2
- package/lib/dom/declaration/variable.js +6 -6
- package/lib/dom/declaration.js +14 -16
- package/lib/dom/derivation.js +2 -4
- package/lib/dom/equality.js +9 -11
- package/lib/dom/frame.js +14 -18
- package/lib/dom/judgement.js +8 -10
- package/lib/dom/lemma.js +5 -4
- package/lib/dom/metaLemma.js +5 -4
- package/lib/dom/metaType.js +2 -4
- package/lib/dom/metatheorem.js +5 -4
- package/lib/dom/metavariable.js +12 -15
- package/lib/dom/parameter.js +2 -4
- package/lib/dom/procedureCall.js +6 -10
- package/lib/dom/proof.js +2 -4
- package/lib/dom/property.js +16 -51
- package/lib/dom/propertyRelation.js +14 -16
- package/lib/dom/reference.js +7 -11
- package/lib/dom/rule.js +6 -8
- package/lib/dom/statement.js +27 -31
- package/lib/dom/step.js +4 -6
- package/lib/dom/subDerivation.js +2 -4
- package/lib/dom/subproof.js +6 -8
- package/lib/dom/term.js +12 -20
- package/lib/dom/theorem.js +5 -4
- package/lib/dom/topLevelAssertion.js +30 -24
- package/lib/dom/topLevelMetaAssertion.js +76 -140
- package/lib/dom/type.js +8 -25
- package/lib/dom/variable.js +5 -11
- package/lib/equivalence.js +4 -6
- package/lib/mixins/term/verify.js +4 -8
- package/lib/node/argument.js +116 -0
- package/lib/node/assertion/contained.js +48 -53
- package/lib/node/assertion/defined.js +41 -53
- package/lib/node/assertion/property.js +23 -53
- package/lib/node/assertion/satisfies.js +23 -53
- package/lib/node/assertion/subproof.js +16 -53
- package/lib/node/assertion/type.js +23 -53
- package/lib/node/axiom.js +6 -52
- package/lib/node/combinator.js +6 -52
- package/lib/node/conclusion.js +16 -53
- package/lib/node/conjecture.js +6 -52
- package/lib/node/constructor.js +6 -52
- package/lib/node/declaration/combinator.js +8 -56
- package/lib/node/declaration/complexType.js +42 -86
- package/lib/node/declaration/constructor.js +26 -77
- package/lib/node/declaration/metavariable.js +30 -53
- package/lib/node/declaration/property.js +19 -69
- package/lib/node/declaration/type.js +45 -78
- package/lib/node/declaration/variable.js +21 -81
- package/lib/node/declaration.js +23 -53
- package/lib/node/deduction.js +16 -53
- package/lib/node/derivation.js +42 -51
- package/lib/node/equality.js +32 -53
- package/lib/node/error.js +6 -52
- package/lib/node/frame.js +30 -53
- package/lib/node/judgement.js +23 -53
- package/lib/node/label.js +16 -53
- package/lib/node/labels.js +116 -0
- package/lib/node/lemma.js +6 -52
- package/lib/node/metaArgument.js +116 -0
- package/lib/node/metaLemma.js +6 -52
- package/lib/node/metaType.js +14 -55
- package/lib/node/metatheorem.js +6 -52
- package/lib/node/metavariable.js +30 -56
- package/lib/node/nonTerminal.js +200 -0
- package/lib/node/parameter.js +22 -53
- package/lib/node/parenthesisedLabel.js +116 -0
- package/lib/node/parenthesisedLabels.js +123 -0
- package/lib/node/premise.js +23 -53
- package/lib/node/procedureCall.js +23 -53
- package/lib/node/proof.js +16 -53
- package/lib/node/property.js +18 -57
- package/lib/node/propertyRelation.js +30 -53
- package/lib/node/reference.js +16 -53
- package/lib/node/rule.js +44 -53
- package/lib/node/statement.js +139 -53
- package/lib/node/step.js +37 -53
- package/lib/node/subDerivation.js +49 -51
- package/lib/node/subproof.js +44 -53
- package/lib/node/substitution/frame.js +123 -0
- package/lib/node/substitution/reference.js +123 -0
- package/lib/node/substitution/statement.js +123 -0
- package/lib/node/substitution/term.js +123 -0
- package/lib/node/supposition.js +23 -53
- package/lib/node/term.js +41 -53
- package/lib/node/theorem.js +6 -52
- package/lib/node/topLevelAssertion.js +66 -54
- package/lib/node/topLevelMetaAssertion.js +45 -54
- package/lib/node/type.js +14 -55
- package/lib/{node.js → node/types.js} +22 -24
- package/lib/node/variable.js +14 -55
- package/lib/nominal/parser.js +3 -3
- package/lib/nonTerminalNodeMap.js +14 -4
- package/lib/ruleNames.js +42 -2
- package/lib/substitution/frame.js +5 -7
- package/lib/substitution/reference.js +5 -7
- package/lib/substitution/term.js +5 -7
- package/lib/unifier/metaLevel.js +4 -4
- package/lib/utilities/brackets.js +5 -5
- package/lib/utilities/json.js +18 -1
- package/lib/utilities/node.js +1 -37
- package/lib/utilities/subproof.js +13 -4
- package/lib/utilities/type.js +16 -4
- package/lib/verifier/topLevel.js +6 -6
- package/package.json +2 -2
- package/src/constants.js +1 -0
- package/src/context/file.js +2 -2
- package/src/dom/assertion/contained.js +12 -34
- package/src/dom/assertion/defined.js +9 -30
- package/src/dom/assertion/property.js +7 -12
- package/src/dom/assertion/satisfies.js +5 -10
- package/src/dom/assertion/subproof.js +2 -6
- package/src/dom/assertion/type.js +7 -10
- package/src/dom/axiom.js +7 -77
- package/src/dom/conjecture.js +6 -1
- package/src/dom/constructor/bracketed.js +6 -8
- package/src/dom/declaration/complexType.js +8 -7
- package/src/dom/declaration/constructor.js +6 -7
- package/src/dom/declaration/metavariable.js +2 -6
- package/src/dom/declaration/type.js +4 -2
- package/src/dom/declaration/variable.js +6 -7
- package/src/dom/declaration.js +12 -20
- package/src/dom/derivation.js +1 -4
- package/src/dom/equality.js +13 -17
- package/src/dom/frame.js +11 -25
- package/src/dom/judgement.js +7 -12
- package/src/dom/lemma.js +6 -1
- package/src/dom/metaLemma.js +6 -1
- package/src/dom/metaType.js +1 -5
- package/src/dom/metatheorem.js +6 -1
- package/src/dom/metavariable.js +11 -25
- package/src/dom/parameter.js +2 -6
- package/src/dom/procedureCall.js +5 -14
- package/src/dom/proof.js +1 -4
- package/src/dom/property.js +21 -78
- package/src/dom/propertyRelation.js +16 -22
- package/src/dom/reference.js +6 -18
- package/src/dom/rule.js +6 -12
- package/src/dom/statement.js +26 -46
- package/src/dom/step.js +3 -5
- package/src/dom/subDerivation.js +1 -4
- package/src/dom/subproof.js +8 -12
- package/src/dom/term.js +14 -33
- package/src/dom/theorem.js +6 -1
- package/src/dom/topLevelAssertion.js +30 -25
- package/src/dom/topLevelMetaAssertion.js +87 -55
- package/src/dom/type.js +11 -37
- package/src/dom/variable.js +4 -12
- package/src/equivalence.js +3 -6
- package/src/mixins/term/verify.js +5 -11
- package/src/node/argument.js +16 -0
- package/src/node/assertion/contained.js +49 -3
- package/src/node/assertion/defined.js +42 -3
- package/src/node/assertion/property.js +19 -3
- package/src/node/assertion/satisfies.js +19 -3
- package/src/node/assertion/subproof.js +12 -3
- package/src/node/assertion/type.js +19 -3
- package/src/node/axiom.js +3 -3
- package/src/node/combinator.js +3 -3
- package/src/node/conclusion.js +12 -3
- package/src/node/conjecture.js +3 -3
- package/src/node/constructor.js +3 -3
- package/src/node/declaration/combinator.js +7 -8
- package/src/node/declaration/complexType.js +40 -43
- package/src/node/declaration/constructor.js +25 -30
- package/src/node/declaration/metavariable.js +26 -3
- package/src/node/declaration/property.js +17 -23
- package/src/node/declaration/type.js +43 -32
- package/src/node/declaration/variable.js +19 -37
- package/src/node/declaration.js +19 -3
- package/src/node/deduction.js +12 -3
- package/src/node/derivation.js +15 -3
- package/src/node/equality.js +32 -3
- package/src/node/error.js +3 -3
- package/src/node/frame.js +26 -3
- package/src/node/judgement.js +19 -3
- package/src/node/label.js +12 -3
- package/src/node/labels.js +16 -0
- package/src/node/lemma.js +3 -3
- package/src/node/metaArgument.js +16 -0
- package/src/node/metaLemma.js +3 -3
- package/src/node/metaType.js +15 -8
- package/src/node/metatheorem.js +3 -3
- package/src/node/metavariable.js +32 -9
- package/src/node/nonTerminal.js +112 -0
- package/src/node/parameter.js +20 -3
- package/src/node/parenthesisedLabel.js +16 -0
- package/src/node/parenthesisedLabels.js +23 -0
- package/src/node/premise.js +19 -3
- package/src/node/procedureCall.js +19 -3
- package/src/node/proof.js +12 -3
- package/src/node/property.js +18 -12
- package/src/node/propertyRelation.js +26 -3
- package/src/node/reference.js +12 -3
- package/src/node/rule.js +40 -3
- package/src/node/statement.js +151 -3
- package/src/node/step.js +31 -3
- package/src/node/subDerivation.js +22 -3
- package/src/node/subproof.js +38 -3
- package/src/node/substitution/frame.js +23 -0
- package/src/node/substitution/reference.js +23 -0
- package/src/node/substitution/statement.js +23 -0
- package/src/node/substitution/term.js +23 -0
- package/src/node/supposition.js +19 -3
- package/src/node/term.js +38 -3
- package/src/node/theorem.js +3 -3
- package/src/node/topLevelAssertion.js +69 -3
- package/src/node/topLevelMetaAssertion.js +40 -3
- package/src/node/type.js +15 -8
- package/src/node/types.js +16 -0
- package/src/node/variable.js +15 -8
- package/src/nominal/parser.js +1 -1
- package/src/nonTerminalNodeMap.js +67 -37
- package/src/ruleNames.js +11 -1
- package/src/substitution/frame.js +7 -10
- package/src/substitution/reference.js +7 -10
- package/src/substitution/term.js +7 -9
- package/src/unifier/metaLevel.js +2 -3
- package/src/utilities/brackets.js +8 -8
- package/src/utilities/json.js +19 -0
- package/src/utilities/node.js +0 -27
- package/src/utilities/subproof.js +22 -6
- package/src/utilities/type.js +9 -0
- package/src/verifier/topLevel.js +5 -10
- package/lib/defaultTerminalNode.js +0 -20
- package/lib/mixins/node.js +0 -145
- package/src/defaultTerminalNode.js +0 -7
- package/src/mixins/node.js +0 -201
- package/src/node.js +0 -29
package/lib/verifier/topLevel.js
CHANGED
|
@@ -147,35 +147,35 @@ _define_property(TopLevelVerifier, "maps", [
|
|
|
147
147
|
{
|
|
148
148
|
nodeQuery: lemmaNodeQuery,
|
|
149
149
|
verify: function(lemmaNode, fileContext) {
|
|
150
|
-
var Lemma = _dom.default.Lemma,
|
|
150
|
+
var Lemma = _dom.default.Lemma, lemma = Lemma.fromLemmaNode(lemmaNode, fileContext), lemmaVerified = lemma.verify();
|
|
151
151
|
return lemmaVerified;
|
|
152
152
|
}
|
|
153
153
|
},
|
|
154
154
|
{
|
|
155
155
|
nodeQuery: theoremNodeQuery,
|
|
156
156
|
verify: function(theoremNode, fileContext) {
|
|
157
|
-
var Theorem = _dom.default.Theorem,
|
|
157
|
+
var Theorem = _dom.default.Theorem, theorem = Theorem.fromTheoremNode(theoremNode, fileContext), theoremVerified = theorem.verify();
|
|
158
158
|
return theoremVerified;
|
|
159
159
|
}
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
162
|
nodeQuery: metaLemmaNodeQuery,
|
|
163
163
|
verify: function(metaLemmaNode, fileContext) {
|
|
164
|
-
var MetaLemma = _dom.default.MetaLemma,
|
|
164
|
+
var MetaLemma = _dom.default.MetaLemma, metaLemma = MetaLemma.fromMetaLemmaNode(metaLemmaNode, fileContext), metaLemmaVerified = metaLemma.verify();
|
|
165
165
|
return metaLemmaVerified;
|
|
166
166
|
}
|
|
167
167
|
},
|
|
168
168
|
{
|
|
169
169
|
nodeQuery: conjectureNodeQuery,
|
|
170
170
|
verify: function(conjectureNode, fileContext) {
|
|
171
|
-
var Conjecture = _dom.default.Conjecture,
|
|
171
|
+
var Conjecture = _dom.default.Conjecture, conjecture = Conjecture.fromConjectureNode(conjectureNode, fileContext), conjectureVerified = conjecture.verify();
|
|
172
172
|
return conjectureVerified;
|
|
173
173
|
}
|
|
174
174
|
},
|
|
175
175
|
{
|
|
176
176
|
nodeQuery: metatheoremNodeQuery,
|
|
177
177
|
verify: function(metatheoremNode, fileContext) {
|
|
178
|
-
var Metatheorem = _dom.default.Metatheorem,
|
|
178
|
+
var Metatheorem = _dom.default.Metatheorem, metatheorem = Metatheorem.fromMetatheoremNode(metatheoremNode, fileContext), metatheoremVerified = metatheorem.verify();
|
|
179
179
|
return metatheoremVerified;
|
|
180
180
|
}
|
|
181
181
|
},
|
|
@@ -225,4 +225,4 @@ _define_property(TopLevelVerifier, "maps", [
|
|
|
225
225
|
var topLevelVerifier = new TopLevelVerifier();
|
|
226
226
|
var _default = topLevelVerifier;
|
|
227
227
|
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBheGlvbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbVwiKSxcbiAgICAgIGxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgbWV0YUxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYVwiKSxcbiAgICAgIGNvbmplY3R1cmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtXCIpLFxuICAgICAgdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBsZXhUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiKTtcblxuY2xhc3MgVG9wTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkQXRUb3BMZXZlbDtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkQXRUb3BMZXZlbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZXJyb3JOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChlcnJvck5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgRXJyb3IgfSA9IGRvbSxcbiAgICAgICAgICAgICAgZXJyb3IgPSBFcnJvci5mcm9tRXJyb3JOb2RlKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBlcnJvclZlcmlmaWVkID0gZXJyb3IudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBSdWxlIH0gPSBkb20sXG4gICAgICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21SdWxlTm9kZShydWxlTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBydWxlVmVyaWZpZWQgPSBydWxlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBydWxlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgICAgICAgIGF4aW9tID0gQXhpb20uZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgYXhpb21WZXJpZmllZCA9IGF4aW9tLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBheGlvbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBsZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBMZW1tYSB9ID0gZG9tLFxuICAgICAgICAgICAgICBub2RlID0gbGVtbWFOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbGVtbWEgPSBMZW1tYS5mcm9tTm9kZShub2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGxlbW1hVmVyaWZpZWQgPSBsZW1tYS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbGVtbWFWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRoZW9yZW0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgbm9kZSA9IHRoZW9yZW1Ob2RlLCAvLy9cbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbU5vZGUobm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICB0aGVvcmVtVmVyaWZpZWQgPSB0aGVvcmVtLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB0aGVvcmVtVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGFMZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YUxlbW1hIH0gPSBkb20sXG4gICAgICAgICAgICAgIG5vZGUgPSBtZXRhTGVtbWFOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YUxlbW1hID0gTWV0YUxlbW1hLmZyb21Ob2RlKG5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hVmVyaWZpZWQgPSBtZXRhTGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uamVjdHVyZSB9ID0gZG9tLFxuICAgICAgICAgICAgICBub2RlID0gY29uamVjdHVyZU5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY29uamVjdHVyZSA9IENvbmplY3R1cmUuZnJvbU5vZGUobm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25qZWN0dXJlVmVyaWZpZWQgPSBjb25qZWN0dXJlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25qZWN0dXJlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGF0aGVvcmVtIH0gPSBkb20sXG4gICAgICAgICAgICAgIG5vZGUgPSBtZXRhdGhlb3JlbU5vZGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21Ob2RlKG5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXRoZW9yZW1WZXJpZmllZCA9IG1ldGF0aGVvcmVtLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFR5cGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICB0eXBlRGVjbGFyYXRpb24gPSBUeXBlRGVjbGFyYXRpb24uZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICB0eXBlRGVjbGFyYXRpb25WZXJpZmllZCA9IHR5cGVEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBWYXJpYWJsZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBWYXJpYWJsZURlY2xhcmF0aW9uLmZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29tYmluYXRvckRlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbiA9IENvbWJpbmF0b3JEZWNsYXJhdGlvbi5mcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gY29tYmluYXRvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbnN0cnVjdG9yRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbiA9IENvbnN0cnVjdG9yRGVjbGFyYXRpb24uZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbXBsZXhUeXBlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiA9IENvbXBsZXhUeXBlRGVjbGFyYXRpb24uZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gPSBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbi5mcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkID0gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCB0b3BMZXZlbFZlcmlmaWVyID0gbmV3IFRvcExldmVsVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgdG9wTGV2ZWxWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJlcnJvck5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVOb2RlUXVlcnkiLCJheGlvbU5vZGVRdWVyeSIsImxlbW1hTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGVRdWVyeSIsIm1ldGFMZW1tYU5vZGVRdWVyeSIsImNvbmplY3R1cmVOb2RlUXVlcnkiLCJtZXRhdGhlb3JlbU5vZGVRdWVyeSIsInR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiVG9wTGV2ZWxWZXJpZmllciIsInZlcmlmeSIsIm5vZGUiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkQXRUb3BMZXZlbCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwiVmVyaWZpZXIiLCJtYXBzIiwiZXJyb3JOb2RlIiwiRXJyb3IiLCJkb20iLCJlcnJvciIsImZyb21FcnJvck5vZGUiLCJlcnJvclZlcmlmaWVkIiwicnVsZU5vZGUiLCJSdWxlIiwicnVsZSIsImZyb21SdWxlTm9kZSIsInJ1bGVWZXJpZmllZCIsImF4aW9tTm9kZSIsIkF4aW9tIiwiYXhpb20iLCJmcm9tQXhpb21Ob2RlIiwiYXhpb21WZXJpZmllZCIsImxlbW1hTm9kZSIsIkxlbW1hIiwibGVtbWEiLCJmcm9tTm9kZSIsImxlbW1hVmVyaWZpZWQiLCJ0aGVvcmVtTm9kZSIsIlRoZW9yZW0iLCJ0aGVvcmVtIiwidGhlb3JlbVZlcmlmaWVkIiwibWV0YUxlbW1hTm9kZSIsIk1ldGFMZW1tYSIsIm1ldGFMZW1tYSIsIm1ldGFMZW1tYVZlcmlmaWVkIiwiY29uamVjdHVyZU5vZGUiLCJDb25qZWN0dXJlIiwiY29uamVjdHVyZSIsImNvbmplY3R1cmVWZXJpZmllZCIsIm1ldGF0aGVvcmVtTm9kZSIsIk1ldGF0aGVvcmVtIiwibWV0YXRoZW9yZW0iLCJtZXRhdGhlb3JlbVZlcmlmaWVkIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGVEZWNsYXJhdGlvbiIsInR5cGVEZWNsYXJhdGlvbiIsImZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlZhcmlhYmxlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsIkNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbiIsImZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZCIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIk1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInRvcExldmVsVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXlMQTs7O2VBQUE7OzswREF2TGdCOytEQUNLO3FCQUVLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsV0FDM0JDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQyxVQUMxQkUsaUJBQWlCRixJQUFBQSxnQkFBUyxFQUFDLFdBQzNCRyxpQkFBaUJILElBQUFBLGdCQUFTLEVBQUMsV0FDM0JJLG1CQUFtQkosSUFBQUEsZ0JBQVMsRUFBQyxhQUM3QksscUJBQXFCTCxJQUFBQSxnQkFBUyxFQUFDLGVBQy9CTSxzQkFBc0JOLElBQUFBLGdCQUFTLEVBQUMsZ0JBQ2hDTyx1QkFBdUJQLElBQUFBLGdCQUFTLEVBQUMsaUJBQ2pDUSwyQkFBMkJSLElBQUFBLGdCQUFTLEVBQUMscUJB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
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBheGlvbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbVwiKSxcbiAgICAgIGxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgbWV0YUxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYVwiKSxcbiAgICAgIGNvbmplY3R1cmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtXCIpLFxuICAgICAgdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBsZXhUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiKTtcblxuY2xhc3MgVG9wTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkQXRUb3BMZXZlbDtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkQXRUb3BMZXZlbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZXJyb3JOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChlcnJvck5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgRXJyb3IgfSA9IGRvbSxcbiAgICAgICAgICAgICAgZXJyb3IgPSBFcnJvci5mcm9tRXJyb3JOb2RlKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBlcnJvclZlcmlmaWVkID0gZXJyb3IudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBSdWxlIH0gPSBkb20sXG4gICAgICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21SdWxlTm9kZShydWxlTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBydWxlVmVyaWZpZWQgPSBydWxlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBydWxlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgICAgICAgIGF4aW9tID0gQXhpb20uZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgYXhpb21WZXJpZmllZCA9IGF4aW9tLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBheGlvbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBsZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBMZW1tYSB9ID0gZG9tLFxuICAgICAgICAgICAgICBsZW1tYSA9IExlbW1hLmZyb21MZW1tYU5vZGUobGVtbWFOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGxlbW1hVmVyaWZpZWQgPSBsZW1tYS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbGVtbWFWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRoZW9yZW0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbVRoZW9yZW1Ob2RlKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRoZW9yZW0udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YUxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhTGVtbWEgfSA9IGRvbSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hID0gTWV0YUxlbW1hLmZyb21NZXRhTGVtbWFOb2RlKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hVmVyaWZpZWQgPSBtZXRhTGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uamVjdHVyZSB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb25qZWN0dXJlID0gQ29uamVjdHVyZS5mcm9tQ29uamVjdHVyZU5vZGUoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgY29uamVjdHVyZVZlcmlmaWVkID0gY29uamVjdHVyZS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29uamVjdHVyZVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBtZXRhdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhdGhlb3JlbSB9ID0gZG9tLFxuICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21NZXRhdGhlb3JlbU5vZGUobWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGF0aGVvcmVtVmVyaWZpZWQgPSBtZXRhdGhlb3JlbS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbWV0YXRoZW9yZW1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBUeXBlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgdHlwZURlY2xhcmF0aW9uID0gVHlwZURlY2xhcmF0aW9uLmZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgVmFyaWFibGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uID0gVmFyaWFibGVEZWNsYXJhdGlvbi5mcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkID0gdmFyaWFibGVEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbWJpbmF0b3JEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb24gPSBDb21iaW5hdG9yRGVjbGFyYXRpb24uZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbWJpbmF0b3JEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb24gPSBDb25zdHJ1Y3RvckRlY2xhcmF0aW9uLmZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb21wbGV4VHlwZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb24gPSBDb21wbGV4VHlwZURlY2xhcmF0aW9uLmZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uID0gTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24uZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgdG9wTGV2ZWxWZXJpZmllciA9IG5ldyBUb3BMZXZlbFZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRvcExldmVsVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsiZXJyb3JOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInRoZW9yZW1Ob2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlUXVlcnkiLCJjb25qZWN0dXJlTm9kZVF1ZXJ5IiwibWV0YXRoZW9yZW1Ob2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIlRvcExldmVsVmVyaWZpZXIiLCJ2ZXJpZnkiLCJub2RlIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZEF0VG9wTGV2ZWwiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIlZlcmlmaWVyIiwibWFwcyIsImVycm9yTm9kZSIsIkVycm9yIiwiZG9tIiwiZXJyb3IiLCJmcm9tRXJyb3JOb2RlIiwiZXJyb3JWZXJpZmllZCIsInJ1bGVOb2RlIiwiUnVsZSIsInJ1bGUiLCJmcm9tUnVsZU5vZGUiLCJydWxlVmVyaWZpZWQiLCJheGlvbU5vZGUiLCJBeGlvbSIsImF4aW9tIiwiZnJvbUF4aW9tTm9kZSIsImF4aW9tVmVyaWZpZWQiLCJsZW1tYU5vZGUiLCJMZW1tYSIsImxlbW1hIiwiZnJvbUxlbW1hTm9kZSIsImxlbW1hVmVyaWZpZWQiLCJ0aGVvcmVtTm9kZSIsIlRoZW9yZW0iLCJ0aGVvcmVtIiwiZnJvbVRoZW9yZW1Ob2RlIiwidGhlb3JlbVZlcmlmaWVkIiwibWV0YUxlbW1hTm9kZSIsIk1ldGFMZW1tYSIsIm1ldGFMZW1tYSIsImZyb21NZXRhTGVtbWFOb2RlIiwibWV0YUxlbW1hVmVyaWZpZWQiLCJjb25qZWN0dXJlTm9kZSIsIkNvbmplY3R1cmUiLCJjb25qZWN0dXJlIiwiZnJvbUNvbmplY3R1cmVOb2RlIiwiY29uamVjdHVyZVZlcmlmaWVkIiwibWV0YXRoZW9yZW1Ob2RlIiwiTWV0YXRoZW9yZW0iLCJtZXRhdGhlb3JlbSIsImZyb21NZXRhdGhlb3JlbU5vZGUiLCJtZXRhdGhlb3JlbVZlcmlmaWVkIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGVEZWNsYXJhdGlvbiIsInR5cGVEZWNsYXJhdGlvbiIsImZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlZhcmlhYmxlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsIkNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbiIsImZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZCIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIk1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInRvcExldmVsVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9MQTs7O2VBQUE7OzswREFsTGdCOytEQUNLO3FCQUVLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsV0FDM0JDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQyxVQUMxQkUsaUJBQWlCRixJQUFBQSxnQkFBUyxFQUFDLFdBQzNCRyxpQkFBaUJILElBQUFBLGdCQUFTLEVBQUMsV0FDM0JJLG1CQUFtQkosSUFBQUEsZ0JBQVMsRUFBQyxhQUM3QksscUJBQXFCTCxJQUFBQSxnQkFBUyxFQUFDLGVBQy9CTSxzQkFBc0JOLElBQUFBLGdCQUFTLEVBQUMsZ0JBQ2hDTyx1QkFBdUJQLElBQUFBLGdCQUFTLEVBQUMsaUJBQ2pDUSwyQkFBMkJSLElBQUFBLGdCQUFTLEVBQUMscUJBQ3JDUywrQkFBK0JULElBQUFBLGdCQUFTLEVBQUMseUJB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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.198",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"occam-custom-grammars": "^5.0.1211",
|
|
16
16
|
"occam-entities": "^1.0.362",
|
|
17
17
|
"occam-file-system": "^6.0.380",
|
|
18
|
-
"occam-furtle": "^2.0.
|
|
18
|
+
"occam-furtle": "^2.0.166",
|
|
19
19
|
"occam-grammars": "^1.3.287",
|
|
20
20
|
"occam-lexers": "^23.0.47",
|
|
21
21
|
"occam-parsers": "^23.0.160",
|
package/src/constants.js
CHANGED
|
@@ -9,6 +9,7 @@ export const UNDEFINED = "undefined";
|
|
|
9
9
|
export const PROVISIONAL = "Provisional";
|
|
10
10
|
export const SATISFIABLE = "Satisfiable";
|
|
11
11
|
export const EMPTY_STRING = "";
|
|
12
|
+
export const SINGLE_SPACE = " ";
|
|
12
13
|
export const PROVISIONALLY = "provisionally";
|
|
13
14
|
export const BRACKETED_TERM_DEPTH = 2;
|
|
14
15
|
export const BRACKETED_STATEMENT_DEPTH = 2;
|
package/src/context/file.js
CHANGED
|
@@ -127,9 +127,9 @@ export default class FileContext {
|
|
|
127
127
|
});
|
|
128
128
|
|
|
129
129
|
this.metatheorems.forEach((metatheorem) => {
|
|
130
|
-
const
|
|
130
|
+
const metatheoremLabel = metatheorem.getLabel();
|
|
131
131
|
|
|
132
|
-
push(
|
|
132
|
+
labels.push(metatheoremLabel);
|
|
133
133
|
});
|
|
134
134
|
|
|
135
135
|
if (includeRelease) {
|
|
@@ -3,14 +3,9 @@
|
|
|
3
3
|
import dom from "../../dom";
|
|
4
4
|
import LocalContext from "../../context/local";
|
|
5
5
|
|
|
6
|
-
import { MISSING } from "../../constants";
|
|
7
6
|
import { domAssigned } from "../../dom";
|
|
8
|
-
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
9
7
|
import { termFromTermAndSubstitutions, frameFromFrameAndSubstitutions, statementFromStatementAndSubstitutions } from "../../utilities/substitutions";
|
|
10
8
|
|
|
11
|
-
const terminalNodesQuery = nodesQuery("/containedAssertion/@*"),
|
|
12
|
-
containedAssertionNodeQuery = nodeQuery("/statement/containedAssertion");
|
|
13
|
-
|
|
14
9
|
export default domAssigned(class ContainedAssertion {
|
|
15
10
|
constructor(string, node, tokens, term, frame, negated, statement) {
|
|
16
11
|
this.string = string;
|
|
@@ -87,10 +82,9 @@ export default domAssigned(class ContainedAssertion {
|
|
|
87
82
|
let termVerified = false;
|
|
88
83
|
|
|
89
84
|
if (this.term !== null) {
|
|
90
|
-
const termString = this.term.getString()
|
|
91
|
-
containedAssertionString = this.string; ///
|
|
85
|
+
const termString = this.term.getString();
|
|
92
86
|
|
|
93
|
-
context.trace(`Verifying the '${
|
|
87
|
+
context.trace(`Verifying the '${termString}' term...`);
|
|
94
88
|
|
|
95
89
|
const termSimple = this.term.isSimple();
|
|
96
90
|
|
|
@@ -104,7 +98,7 @@ export default domAssigned(class ContainedAssertion {
|
|
|
104
98
|
});
|
|
105
99
|
|
|
106
100
|
if (termVerified) {
|
|
107
|
-
context.debug(`...verified the '${
|
|
101
|
+
context.debug(`...verified the '${termString}' term.`);
|
|
108
102
|
}
|
|
109
103
|
}
|
|
110
104
|
}
|
|
@@ -116,10 +110,9 @@ export default domAssigned(class ContainedAssertion {
|
|
|
116
110
|
let frameVerified = false;
|
|
117
111
|
|
|
118
112
|
if (this.frame !== null) {
|
|
119
|
-
const frameString = this.frame.getString()
|
|
120
|
-
containedAssertionString = this.string; ///
|
|
113
|
+
const frameString = this.frame.getString();
|
|
121
114
|
|
|
122
|
-
context.trace(`Verifying the '${
|
|
115
|
+
context.trace(`Verifying the '${frameString}' frame...`);
|
|
123
116
|
|
|
124
117
|
const frameSimple = this.frame.isSimple();
|
|
125
118
|
|
|
@@ -133,7 +126,7 @@ export default domAssigned(class ContainedAssertion {
|
|
|
133
126
|
frameVerified = this.frame.verify(assignments, stated, context);
|
|
134
127
|
|
|
135
128
|
if (frameVerified) {
|
|
136
|
-
context.debug(`...verified the '${
|
|
129
|
+
context.debug(`...verified the '${frameString}' frame.`);
|
|
137
130
|
}
|
|
138
131
|
}
|
|
139
132
|
}
|
|
@@ -145,10 +138,9 @@ export default domAssigned(class ContainedAssertion {
|
|
|
145
138
|
let statementVerified = false;
|
|
146
139
|
|
|
147
140
|
if (this.statement !== null) {
|
|
148
|
-
const statementString = this.statement.getString()
|
|
149
|
-
containedAssertionString = this.string; ///
|
|
141
|
+
const statementString = this.statement.getString();
|
|
150
142
|
|
|
151
|
-
context.trace(`Verifying the '${
|
|
143
|
+
context.trace(`Verifying the '${statementString}' statement...`);
|
|
152
144
|
|
|
153
145
|
stated = true; ///
|
|
154
146
|
|
|
@@ -157,7 +149,7 @@ export default domAssigned(class ContainedAssertion {
|
|
|
157
149
|
statementVerified = this.statement.verify(assignments, stated, context);
|
|
158
150
|
|
|
159
151
|
if (statementVerified) {
|
|
160
|
-
context.debug(`...verified the '${
|
|
152
|
+
context.debug(`...verified the '${statementString}' statement.`);
|
|
161
153
|
}
|
|
162
154
|
}
|
|
163
155
|
|
|
@@ -226,17 +218,17 @@ export default domAssigned(class ContainedAssertion {
|
|
|
226
218
|
static fromStatementNode(statementNode, context) {
|
|
227
219
|
let containedAssertion = null;
|
|
228
220
|
|
|
229
|
-
const containedAssertionNode =
|
|
221
|
+
const containedAssertionNode = statementNode.getContainedAssertionNode();
|
|
230
222
|
|
|
231
223
|
if (containedAssertionNode !== null) {
|
|
232
224
|
const { Term, Frame, Statement } = dom,
|
|
233
225
|
node = containedAssertionNode, ///
|
|
234
226
|
string = context.nodeAsString(node),
|
|
235
227
|
tokens = context.nodeAsTokens(node),
|
|
228
|
+
negated = containedAssertionNode.isNegated(),
|
|
236
229
|
term = Term.fromContainedAssertionNode(containedAssertionNode, context),
|
|
237
230
|
frame = Frame.fromContainedAssertionNode(containedAssertionNode, context),
|
|
238
|
-
statement = Statement.fromContainedAssertionNode(containedAssertionNode, context)
|
|
239
|
-
negated = isNegated(containedAssertionNode); ///
|
|
231
|
+
statement = Statement.fromContainedAssertionNode(containedAssertionNode, context);
|
|
240
232
|
|
|
241
233
|
containedAssertion = new ContainedAssertion(string, node, tokens, term, frame, negated, statement);
|
|
242
234
|
}
|
|
@@ -245,20 +237,6 @@ export default domAssigned(class ContainedAssertion {
|
|
|
245
237
|
}
|
|
246
238
|
});
|
|
247
239
|
|
|
248
|
-
function isNegated(definedAssertionNode) {
|
|
249
|
-
const terminalNodes = terminalNodesQuery(definedAssertionNode),
|
|
250
|
-
negated = terminalNodes.some((terminalNode) => { ///
|
|
251
|
-
const content = terminalNode.getContent(),
|
|
252
|
-
contentMessing = (content === MISSING);
|
|
253
|
-
|
|
254
|
-
if (contentMessing) {
|
|
255
|
-
return true;
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
return negated;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
240
|
function verifyWhenDerived(term, frame, statement, negated, context) {
|
|
263
241
|
let verifiedWhenDerived = false;
|
|
264
242
|
|
|
@@ -3,14 +3,9 @@
|
|
|
3
3
|
import dom from "../../dom";
|
|
4
4
|
import LocalContext from "../../context/local";
|
|
5
5
|
|
|
6
|
-
import { UNDEFINED } from "../../constants";
|
|
7
6
|
import { domAssigned } from "../../dom";
|
|
8
|
-
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
9
7
|
import { termFromTermAndSubstitutions, frameFromFrameAndSubstitutions } from "../../utilities/substitutions";
|
|
10
8
|
|
|
11
|
-
const terminalNodesQuery = nodesQuery("/definedAssertion/@*"),
|
|
12
|
-
definedAssertionNodeQuery = nodeQuery("/statement/definedAssertion");
|
|
13
|
-
|
|
14
9
|
export default domAssigned(class DefinedAssertion {
|
|
15
10
|
constructor(string, node, tokens, term, frame, negated) {
|
|
16
11
|
this.string = string;
|
|
@@ -81,10 +76,9 @@ export default domAssigned(class DefinedAssertion {
|
|
|
81
76
|
let termVerified = false;
|
|
82
77
|
|
|
83
78
|
if (this.term !== null) {
|
|
84
|
-
const termString = this.term.getString()
|
|
85
|
-
definedAssertionString = this.string; ///
|
|
79
|
+
const termString = this.term.getString(); ///
|
|
86
80
|
|
|
87
|
-
context.trace(`Verifying the '${
|
|
81
|
+
context.trace(`Verifying the '${termString}' term...`);
|
|
88
82
|
|
|
89
83
|
const termSimple = this.term.isSimple();
|
|
90
84
|
|
|
@@ -98,7 +92,7 @@ export default domAssigned(class DefinedAssertion {
|
|
|
98
92
|
});
|
|
99
93
|
|
|
100
94
|
if (termVerified) {
|
|
101
|
-
context.debug(`...verified the '${
|
|
95
|
+
context.debug(`...verified the '${termString}' term.`);
|
|
102
96
|
}
|
|
103
97
|
}
|
|
104
98
|
}
|
|
@@ -110,10 +104,9 @@ export default domAssigned(class DefinedAssertion {
|
|
|
110
104
|
let frameVerified = false;
|
|
111
105
|
|
|
112
106
|
if (this.frame !== null) {
|
|
113
|
-
const frameString = this.frame.getString()
|
|
114
|
-
definedAssertionString = this.string; ///
|
|
107
|
+
const frameString = this.frame.getString(); ///
|
|
115
108
|
|
|
116
|
-
context.trace(`Verifying the '${
|
|
109
|
+
context.trace(`Verifying the '${frameString}' frame...`);
|
|
117
110
|
|
|
118
111
|
const frameSimple = this.frame.isSimple();
|
|
119
112
|
|
|
@@ -127,7 +120,7 @@ export default domAssigned(class DefinedAssertion {
|
|
|
127
120
|
frameVerified = this.frame.verify(assignments, stated, context);
|
|
128
121
|
|
|
129
122
|
if (frameVerified) {
|
|
130
|
-
context.debug(`...verified the '${
|
|
123
|
+
context.debug(`...verified the '${frameString}' frame.`);
|
|
131
124
|
}
|
|
132
125
|
}
|
|
133
126
|
}
|
|
@@ -196,16 +189,16 @@ export default domAssigned(class DefinedAssertion {
|
|
|
196
189
|
static fromStatementNode(statementNode, context) {
|
|
197
190
|
let definedAssertion = null;
|
|
198
191
|
|
|
199
|
-
const definedAssertionNode =
|
|
192
|
+
const definedAssertionNode = statementNode.getDefinedAssertionNode();
|
|
200
193
|
|
|
201
194
|
if (definedAssertionNode !== null) {
|
|
202
195
|
const { Term, Frame } = dom,
|
|
203
196
|
node = definedAssertionNode, ///
|
|
204
197
|
string = context.nodeAsString(node),
|
|
205
198
|
tokens = context.nodeAsTokens(node),
|
|
199
|
+
negated = definedAssertionNode.isNegated(),
|
|
206
200
|
term = Term.fromDefinedAssertionNode(definedAssertionNode, context),
|
|
207
|
-
frame = Frame.fromDefinedAssertionNode(definedAssertionNode, context)
|
|
208
|
-
negated = isNegated(definedAssertionNode);
|
|
201
|
+
frame = Frame.fromDefinedAssertionNode(definedAssertionNode, context);
|
|
209
202
|
|
|
210
203
|
definedAssertion = new DefinedAssertion(string, node, tokens, term, frame, negated);
|
|
211
204
|
}
|
|
@@ -214,20 +207,6 @@ export default domAssigned(class DefinedAssertion {
|
|
|
214
207
|
}
|
|
215
208
|
});
|
|
216
209
|
|
|
217
|
-
function isNegated(definedAssertionNode) {
|
|
218
|
-
const terminalNodes = terminalNodesQuery(definedAssertionNode),
|
|
219
|
-
negated = terminalNodes.some((terminalNode) => { ///
|
|
220
|
-
const content = terminalNode.getContent(),
|
|
221
|
-
contentUndefined = (content === UNDEFINED);
|
|
222
|
-
|
|
223
|
-
if (contentUndefined) {
|
|
224
|
-
return true;
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
|
|
228
|
-
return negated;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
210
|
function verifyWhenDerived(term, frame, negated, context) {
|
|
232
211
|
let verifiedWhenDerived = false;
|
|
233
212
|
|
|
@@ -4,11 +4,8 @@ import dom from "../../dom";
|
|
|
4
4
|
|
|
5
5
|
import VariableAssignment from "../../assignment/variable";
|
|
6
6
|
|
|
7
|
-
import { nodeQuery } from "../../utilities/query";
|
|
8
7
|
import { domAssigned } from "../../dom";
|
|
9
8
|
|
|
10
|
-
const propertyAssertionNodeQuery = nodeQuery("/statement/propertyAssertion");
|
|
11
|
-
|
|
12
9
|
export default domAssigned(class PropertyAssertion {
|
|
13
10
|
constructor(string, node, tokens, term, propertyRelation) {
|
|
14
11
|
this.string = string;
|
|
@@ -106,10 +103,9 @@ export default domAssigned(class PropertyAssertion {
|
|
|
106
103
|
verifyTerm(assignments, stated, context) {
|
|
107
104
|
let termVerified;
|
|
108
105
|
|
|
109
|
-
const termString = this.term.getString()
|
|
110
|
-
propertyAssertionString = this.string; ///
|
|
106
|
+
const termString = this.term.getString();
|
|
111
107
|
|
|
112
|
-
context.trace(`Verifying the '${
|
|
108
|
+
context.trace(`Verifying the '${termString}' term...`);
|
|
113
109
|
|
|
114
110
|
termVerified = this.term.verify(context, () => {
|
|
115
111
|
const verifiedAhead = true;
|
|
@@ -118,7 +114,7 @@ export default domAssigned(class PropertyAssertion {
|
|
|
118
114
|
});
|
|
119
115
|
|
|
120
116
|
if (termVerified) {
|
|
121
|
-
context.debug(`...verified the '${
|
|
117
|
+
context.debug(`...verified the '${termString}' term.`);
|
|
122
118
|
}
|
|
123
119
|
|
|
124
120
|
return termVerified;
|
|
@@ -127,15 +123,14 @@ export default domAssigned(class PropertyAssertion {
|
|
|
127
123
|
verifyPropertyRelation(assignments, stated, context) {
|
|
128
124
|
let propertyRelationVerified;
|
|
129
125
|
|
|
130
|
-
const propertyRelationString = this.propertyRelation.getString()
|
|
131
|
-
propertyAssertionString = this.string; ///
|
|
126
|
+
const propertyRelationString = this.propertyRelation.getString();
|
|
132
127
|
|
|
133
|
-
context.trace(`Verifying the '${
|
|
128
|
+
context.trace(`Verifying the '${propertyRelationString}' property relation...`);
|
|
134
129
|
|
|
135
130
|
propertyRelationVerified = this.propertyRelation.verify(context);
|
|
136
131
|
|
|
137
132
|
if (propertyRelationVerified) {
|
|
138
|
-
context.debug(`...verified the '${
|
|
133
|
+
context.debug(`...verified the '${propertyRelationString}' property relation.`);
|
|
139
134
|
}
|
|
140
135
|
|
|
141
136
|
return propertyRelationVerified;
|
|
@@ -204,7 +199,7 @@ export default domAssigned(class PropertyAssertion {
|
|
|
204
199
|
static fromStatementNode(statementNode, context) {
|
|
205
200
|
let propertyAssertion = null;
|
|
206
201
|
|
|
207
|
-
const propertyAssertionNode =
|
|
202
|
+
const propertyAssertionNode = statementNode.getPropertyAssertionNode();
|
|
208
203
|
|
|
209
204
|
if (propertyAssertionNode !== null) {
|
|
210
205
|
const { Term, PropertyRelation } = dom,
|
|
@@ -3,10 +3,6 @@
|
|
|
3
3
|
import dom from "../../dom";
|
|
4
4
|
|
|
5
5
|
import { domAssigned } from "../../dom";
|
|
6
|
-
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
7
|
-
|
|
8
|
-
const termNodesQuery = nodesQuery("/satisfiesAssertion/term"),
|
|
9
|
-
satisfiesAssertionNodeQuery = nodeQuery("/statement/satisfiesAssertion");
|
|
10
6
|
|
|
11
7
|
export default domAssigned(class SatisfiesAssertion {
|
|
12
8
|
constructor(string, node, tokens, terms, reference) {
|
|
@@ -107,10 +103,9 @@ export default domAssigned(class SatisfiesAssertion {
|
|
|
107
103
|
verifyReference(assignments, stated, context) {
|
|
108
104
|
let referenceVerified = false;
|
|
109
105
|
|
|
110
|
-
const referenceString = this.reference.getString()
|
|
111
|
-
satisfiesAssertionString = this.string; ///
|
|
106
|
+
const referenceString = this.reference.getString();
|
|
112
107
|
|
|
113
|
-
context.trace(`Verifying the '${
|
|
108
|
+
context.trace(`Verifying the '${referenceString}' reference...`);
|
|
114
109
|
|
|
115
110
|
const axiom = context.findAxiomByReference(this.reference, context);
|
|
116
111
|
|
|
@@ -123,7 +118,7 @@ export default domAssigned(class SatisfiesAssertion {
|
|
|
123
118
|
}
|
|
124
119
|
|
|
125
120
|
if (referenceVerified) {
|
|
126
|
-
context.debug(`...verified the '${
|
|
121
|
+
context.debug(`...verified the '${referenceString}' reference.`);
|
|
127
122
|
}
|
|
128
123
|
|
|
129
124
|
return referenceVerified;
|
|
@@ -134,7 +129,7 @@ export default domAssigned(class SatisfiesAssertion {
|
|
|
134
129
|
static fromStatementNode(statementNode, context) {
|
|
135
130
|
let satisfiesAssertion = null;
|
|
136
131
|
|
|
137
|
-
const satisfiesAssertionNode =
|
|
132
|
+
const satisfiesAssertionNode = statementNode.getSatisfiedAssertionNode();
|
|
138
133
|
|
|
139
134
|
if (satisfiesAssertionNode !== null) {
|
|
140
135
|
const { Reference } = dom,
|
|
@@ -166,7 +161,7 @@ function termsStringFromTerms(terms) {
|
|
|
166
161
|
}
|
|
167
162
|
|
|
168
163
|
function termsFromSatisfiesAssertionNode(satisfiesAssertionNode, context) {
|
|
169
|
-
const termNodes =
|
|
164
|
+
const termNodes = satisfiesAssertionNode.getTermNodes(),
|
|
170
165
|
terms = termNodes.map((termNode) => {
|
|
171
166
|
const { Term } = dom,
|
|
172
167
|
term = Term.fromTermNode(termNode, context);
|
|
@@ -6,13 +6,9 @@ import dom from "../../dom";
|
|
|
6
6
|
|
|
7
7
|
import { domAssigned } from "../../dom";
|
|
8
8
|
import { unifyStatement } from "../../utilities/unification";
|
|
9
|
-
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
10
9
|
|
|
11
10
|
const { match } = arrayUtilities;
|
|
12
11
|
|
|
13
|
-
const statementNodesQuery = nodesQuery("/subproofAssertion/statement"),
|
|
14
|
-
subproofAssertionNodeQuery = nodeQuery("/statement/subproofAssertion");
|
|
15
|
-
|
|
16
12
|
export default domAssigned(class SubproofAssertion {
|
|
17
13
|
constructor(string, node, statements) {
|
|
18
14
|
this.string = string;
|
|
@@ -99,7 +95,7 @@ export default domAssigned(class SubproofAssertion {
|
|
|
99
95
|
static fromStatementNode(statementNode, context) {
|
|
100
96
|
let subproofAssertion = null;
|
|
101
97
|
|
|
102
|
-
const subproofAssertionNode =
|
|
98
|
+
const subproofAssertionNode = statementNode.getSubproofAssertionNode();
|
|
103
99
|
|
|
104
100
|
if (subproofAssertionNode !== null) {
|
|
105
101
|
const node = subproofAssertionNode, ///
|
|
@@ -115,7 +111,7 @@ export default domAssigned(class SubproofAssertion {
|
|
|
115
111
|
|
|
116
112
|
function statementsFromSubproofAssertionNode(subproofAssertionNode, context) {
|
|
117
113
|
const { Statement } = dom,
|
|
118
|
-
statementNodes =
|
|
114
|
+
statementNodes = subproofAssertionNode.getStatementNodes(),
|
|
119
115
|
statements = statementNodes.map((statementNode) => {
|
|
120
116
|
const statement = Statement.fromStatementNode(statementNode, context);
|
|
121
117
|
|
|
@@ -3,12 +3,8 @@
|
|
|
3
3
|
import dom from "../../dom";
|
|
4
4
|
import VariableAssignment from "../../assignment/variable";
|
|
5
5
|
|
|
6
|
-
import { nodeQuery } from "../../utilities/query";
|
|
7
6
|
import { domAssigned } from "../../dom";
|
|
8
7
|
|
|
9
|
-
const variableNodeQuery = nodeQuery("/term/variable!"),
|
|
10
|
-
typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion");
|
|
11
|
-
|
|
12
8
|
export default domAssigned(class TypeAssertion {
|
|
13
9
|
constructor(string, term, type) {
|
|
14
10
|
this.string = string;
|
|
@@ -155,8 +151,7 @@ export default domAssigned(class TypeAssertion {
|
|
|
155
151
|
}
|
|
156
152
|
|
|
157
153
|
const { Type, Variable } = dom,
|
|
158
|
-
termNode = this.term.getNode()
|
|
159
|
-
variableNode = variableNodeQuery(termNode);
|
|
154
|
+
termNode = this.term.getNode();
|
|
160
155
|
|
|
161
156
|
let type,
|
|
162
157
|
provisional;
|
|
@@ -171,10 +166,12 @@ export default domAssigned(class TypeAssertion {
|
|
|
171
166
|
type = Type.fromTypeAndProvisional(this.type, provisional);
|
|
172
167
|
}
|
|
173
168
|
|
|
174
|
-
const
|
|
169
|
+
const singularVariableNode = termNode.getSingularVariableNode();
|
|
175
170
|
|
|
176
|
-
if (
|
|
177
|
-
const
|
|
171
|
+
if (singularVariableNode !== null) {
|
|
172
|
+
const variableNode = singularVariableNode, ///
|
|
173
|
+
variable = Variable.fromVariableNodeAndType(variableNode, type, context),
|
|
174
|
+
variableAssignment = VariableAssignment.fromVariable(variable),
|
|
178
175
|
assignment = variableAssignment; ///
|
|
179
176
|
|
|
180
177
|
assignments.push(assignment);
|
|
@@ -186,7 +183,7 @@ export default domAssigned(class TypeAssertion {
|
|
|
186
183
|
static fromStatementNode(statementNode, context) {
|
|
187
184
|
let typeAssertion = null;
|
|
188
185
|
|
|
189
|
-
const typeAssertionNode =
|
|
186
|
+
const typeAssertionNode = statementNode.getTypeAssertionNode();
|
|
190
187
|
|
|
191
188
|
if (typeAssertionNode !== null) {
|
|
192
189
|
const { Term, Type } = dom,
|