occam-verify-cli 0.0.1016 → 0.0.1020
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/argument.js +12 -11
- package/lib/assignment/equality.js +3 -3
- package/lib/axiom.js +102 -6
- package/lib/combinator.js +12 -12
- package/lib/conclusion.js +3 -4
- package/lib/consequent.js +75 -14
- package/lib/constructor/bracketed.js +3 -3
- package/lib/constructor.js +68 -18
- package/lib/context/file.js +49 -89
- package/lib/context/local.js +34 -58
- package/lib/declaration/combinator.js +3 -3
- package/lib/declaration/metavariable.js +15 -4
- package/lib/declaration/type.js +3 -3
- package/lib/declaration/variable.js +146 -0
- package/lib/equality.js +95 -19
- package/lib/index.js +6 -1
- package/lib/label.js +9 -9
- package/lib/lemma.js +107 -6
- package/lib/metavariable.js +14 -21
- package/lib/mixins/statement/qualified/unify.js +3 -3
- package/lib/mixins/statement/verify.js +4 -5
- package/lib/mixins/term/unify.js +82 -0
- package/lib/mixins/term/verify.js +44 -0
- package/lib/node/term/constructor/bracketed.js +15 -11
- package/lib/premise.js +3 -5
- package/lib/proofStep.js +2 -2
- package/lib/reference.js +9 -9
- package/lib/rule.js +5 -5
- package/lib/ruleNames.js +5 -5
- package/lib/statement/qualified.js +6 -3
- package/lib/statement.js +22 -39
- package/lib/supposition.js +75 -50
- package/lib/term.js +62 -16
- package/lib/topLevelAssertion.js +98 -33
- package/lib/type.js +22 -31
- package/lib/unifier/equality.js +12 -4
- package/lib/unifier/intrinsicLevel.js +1 -4
- package/lib/unifier/metaLevel.js +1 -4
- package/lib/unifier/metavariable.js +10 -7
- package/lib/unifier/statementWithCombinator.js +18 -9
- package/lib/unifier/termWithConstructor.js +11 -4
- package/lib/unify/frameWithMetaType.js +2 -2
- package/lib/utilities/name.js +9 -2
- package/lib/utilities/node.js +14 -14
- package/lib/utilities/tokens.js +7 -7
- package/lib/utilities/unify.js +3 -3
- package/lib/variable.js +155 -20
- package/lib/verifier/statementAsCombinator.js +2 -2
- package/lib/verifier/termAsConstructor.js +2 -2
- package/lib/verifier/topLevel.js +7 -7
- package/lib/verify/assertion/type.js +3 -4
- package/lib/verify/conjecture.js +2 -3
- package/lib/verify/frame.js +2 -6
- package/lib/verify/lemma.js +2 -3
- package/lib/verify/metaLemma.js +2 -3
- package/lib/verify/metatheorem.js +2 -3
- package/lib/verify/metavariableGivenMetaType.js +3 -3
- package/lib/verify/theorem.js +2 -3
- package/package.json +1 -1
- package/src/argument.js +11 -9
- package/src/assignment/equality.js +3 -4
- package/src/axiom.js +78 -1
- package/src/combinator.js +10 -9
- package/src/conclusion.js +2 -4
- package/src/consequent.js +88 -13
- package/src/constructor/bracketed.js +4 -1
- package/src/constructor.js +18 -14
- package/src/context/file.js +50 -93
- package/src/context/local.js +13 -31
- package/src/declaration/combinator.js +2 -2
- package/src/declaration/metavariable.js +20 -6
- package/src/declaration/type.js +2 -2
- package/src/declaration/variable.js +78 -0
- package/src/equality.js +123 -22
- package/src/index.js +6 -0
- package/src/label.js +7 -7
- package/src/lemma.js +91 -1
- package/src/metavariable.js +13 -22
- package/src/mixins/statement/qualified/unify.js +2 -2
- package/src/mixins/statement/verify.js +5 -5
- package/src/mixins/term/unify.js +110 -0
- package/src/mixins/term/verify.js +47 -0
- package/src/node/term/constructor/bracketed.js +4 -3
- package/src/premise.js +2 -5
- package/src/proofStep.js +1 -1
- package/src/reference.js +7 -7
- package/src/rule.js +4 -4
- package/src/ruleNames.js +1 -1
- package/src/statement/qualified.js +7 -3
- package/src/statement.js +28 -60
- package/src/supposition.js +106 -53
- package/src/term.js +70 -14
- package/src/topLevelAssertion.js +120 -33
- package/src/type.js +39 -41
- package/src/unifier/equality.js +15 -3
- package/src/unifier/intrinsicLevel.js +0 -4
- package/src/unifier/metaLevel.js +0 -4
- package/src/unifier/metavariable.js +16 -8
- package/src/unifier/statementWithCombinator.js +33 -11
- package/src/unifier/termWithConstructor.js +17 -4
- package/src/unify/frameWithMetaType.js +1 -1
- package/src/utilities/name.js +9 -1
- package/src/utilities/node.js +14 -14
- package/src/utilities/tokens.js +4 -4
- package/src/utilities/unify.js +2 -2
- package/src/variable.js +158 -22
- package/src/verifier/statementAsCombinator.js +1 -1
- package/src/verifier/termAsConstructor.js +1 -1
- package/src/verifier/topLevel.js +9 -6
- package/src/verify/assertion/type.js +1 -1
- package/src/verify/conjecture.js +1 -1
- package/src/verify/frame.js +1 -7
- package/src/verify/lemma.js +1 -1
- package/src/verify/metaLemma.js +1 -1
- package/src/verify/metatheorem.js +1 -1
- package/src/verify/metavariableGivenMetaType.js +2 -2
- package/src/verify/theorem.js +1 -1
- package/lib/tokens/constructorTerm/bracketed.js +0 -17
- package/lib/unify/termWithBracketedConstructor.js +0 -39
- package/lib/unify/termWithConstructor.js +0 -37
- package/lib/unify/termWithConstructors.js +0 -34
- package/lib/unify/termWithTerm.js +0 -27
- package/lib/unify/termWithType.js +0 -24
- package/lib/verify/axiom.js +0 -45
- package/lib/verify/consequent.js +0 -38
- package/lib/verify/declaration/variable.js +0 -67
- package/lib/verify/equality.js +0 -92
- package/lib/verify/proofStep.js +0 -28
- package/lib/verify/term.js +0 -97
- package/lib/verify/termAsConstructor.js +0 -58
- package/lib/verify/termGivenType.js +0 -34
- package/lib/verify/terms.js +0 -38
- package/lib/verify/type.js +0 -23
- package/lib/verify/variable.js +0 -25
- package/src/tokens/constructorTerm/bracketed.js +0 -10
- package/src/unify/termWithBracketedConstructor.js +0 -39
- package/src/unify/termWithConstructor.js +0 -39
- package/src/unify/termWithConstructors.js +0 -27
- package/src/unify/termWithTerm.js +0 -24
- package/src/unify/termWithType.js +0 -14
- package/src/verify/axiom.js +0 -56
- package/src/verify/consequent.js +0 -40
- package/src/verify/declaration/variable.js +0 -85
- package/src/verify/equality.js +0 -118
- package/src/verify/proofStep.js +0 -21
- package/src/verify/term.js +0 -123
- package/src/verify/termAsConstructor.js +0 -66
- package/src/verify/termGivenType.js +0 -32
- package/src/verify/terms.js +0 -38
- package/src/verify/type.js +0 -19
- package/src/verify/variable.js +0 -21
package/lib/verify/frame.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return verifyFrame;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
@@ -40,10 +40,6 @@ function verifyFrame(frameNode, frames, stated, localContext) {
|
|
|
40
40
|
}
|
|
41
41
|
return frameVerified;
|
|
42
42
|
}
|
|
43
|
-
Object.assign(_shim.default, {
|
|
44
|
-
verifyFrame: verifyFrame
|
|
45
|
-
});
|
|
46
|
-
var _default = verifyFrame;
|
|
47
43
|
function verifyDerivedFrame(frameNode, frames, stated, localContext) {
|
|
48
44
|
var derivedFrameVerified;
|
|
49
45
|
if (!stated) {
|
|
@@ -122,4 +118,4 @@ function verifyMetavariable(metavariableNode, declarations, localContext) {
|
|
|
122
118
|
return metavariableVerified;
|
|
123
119
|
}
|
|
124
120
|
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgRnJhbWUgZnJvbSBcIi4uL2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCB2ZXJpZnlEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZSBmcm9tIFwiLi9tZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZnJhbWUvbWV0YXZhcmlhYmxlXCIpLFxuICAgICAgZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9mcmFtZS9kZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2ZyYW1lL21ldGF2YXJpYWJsZVwiKTtcblxuY29uc3QgdmVyaWZ5RnJhbWVGdW5jdGlvbnMgPSBbXG4gIHZlcmlmeURlcml2ZWRGcmFtZSxcbiAgdmVyaWZ5U3RhdGVkRnJhbWVcbl07XG5cbmZ1bmN0aW9uIHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZnJhbWVWZXJpZmllZDtcblxuICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS4uLmApO1xuXG4gIGZyYW1lVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlGcmFtZUZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lRnVuY3Rpb24oZnJhbWVOb2RlLCBmcmFtZXMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS5gKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZVZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgdmVyaWZ5RnJhbWVcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlGcmFtZTtcblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZEZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEZyYW1lVmVyaWZpZWQ7XG5cbiAgaWYgKCFzdGF0ZWQpIHtcbiAgICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtmcmFtZVN0cmluZ30nIGRlcml2ZWQgZnJhbWUuLi5gKTtcblxuICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IFtdLFxuICAgICAgICAgIGRlY2xhcmF0aW9uTm9kZXMgPSBkZWNsYXJhdGlvbk5vZGVzUXVlcnkoZnJhbWVOb2RlKSxcbiAgICAgICAgICBkZWNsYXJhdGlvbnNWZXJpZmllZCA9IGRlY2xhcmF0aW9uTm9kZXMuZXZlcnkoKGRlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeURlY2xhcmF0aW9uKGRlY2xhcmF0aW9uTm9kZSwgZGVjbGFyYXRpb25zLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKGRlY2xhcmF0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlcyA9IG1ldGF2YXJpYWJsZU5vZGVzUXVlcnkoZnJhbWVOb2RlKSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZXNWZXJpZmllZCA9IG1ldGF2YXJpYWJsZU5vZGVzLmV2ZXJ5KChtZXRhdmFyaWFibGVOb2RlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGRlY2xhcmF0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVzVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZnJhbWUgPSBGcmFtZS5mcm9tRGVjbGFyYXRpb25zKGRlY2xhcmF0aW9ucyk7XG5cbiAgICAgICAgZnJhbWVzLnB1c2goZnJhbWUpO1xuXG4gICAgICAgIGRlcml2ZWRGcmFtZVZlcmlmaWVkID0gdHJ1ZTsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWRGcmFtZVZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtmcmFtZVN0cmluZ30nIGRlcml2ZWQgZnJhbWUuYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRGcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRGcmFtZShmcmFtZU5vZGUsIGZyYW1lcywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZEZyYW1lVmVyaWZpZWQ7XG5cbiAgaWYgKHN0YXRlZCkge1xuICAgIGNvbnN0IGZyYW1lU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhmcmFtZU5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lU3RyaW5nfScgc3RhdGVkIGZyYW1lLi4uYCk7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvbk5vZGVzID0gZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5KGZyYW1lTm9kZSksXG4gICAgICAgICAgZGVjbGFyYXRpb25Ob2Rlc0xlbmd0aCA9IGRlY2xhcmF0aW9uTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGRlY2xhcmF0aW9uTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoZnJhbWVOb2RlKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbWV0YVR5cGUgPSBmcmFtZU1ldGFUeXBlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlKSB7XG4gICAgICAgICAgY29uc3QgZnJhbWUgPSBGcmFtZS5mcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lKTtcblxuICAgICAgICAgIHN0YXRlZEZyYW1lVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2NhbENvbnRleHQudHJhY2UoYFRoZSAnJHtmcmFtZVN0cmluZ30nIHN0YXRlZCBmcmFtZSBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gb25lIG1ldGF2YXJpYWJsZS5gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxDb250ZXh0LnRyYWNlKGBUaGUgJyR7ZnJhbWVTdHJpbmd9JyBzdGF0ZWQgZnJhbWUgY2Fubm90IGhhdmUgZGVjbGFyYXRpb25zLmApO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZWRGcmFtZVZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtmcmFtZVN0cmluZ30nIHN0YXRlZCBmcmFtZS5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkRnJhbWVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGRlY2xhcmF0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS4uLmApO1xuXG4gIGNvbnN0IG1ldGFUeXBlID0gZnJhbWVNZXRhVHlwZSwgLy8vXG4gICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IHZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUobWV0YXZhcmlhYmxlTm9kZSwgbWV0YVR5cGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAganVkZ2VtZW50ID0gbG9jYWxDb250ZXh0LmZpbmRKdWRnZW1lbnRCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICBpZiAoanVkZ2VtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGp1ZGdlbWVudC5nZXREZWNsYXJhdGlvbigpO1xuXG4gICAgICBkZWNsYXJhdGlvbnMucHVzaChkZWNsYXJhdGlvbik7XG5cbiAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxDb250ZXh0LnRyYWNlKGBUaGVyZSBpcyBubyBqdWRnZW1lbnQgZm9yIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmApO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufSJdLCJuYW1lcyI6WyJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZXNRdWVyeSIsInZlcmlmeUZyYW1lRnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZEZyYW1lIiwidmVyaWZ5U3RhdGVkRnJhbWUiLCJ2ZXJpZnlGcmFtZSIsImZyYW1lTm9kZSIsImZyYW1lcyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsImZyYW1lVmVyaWZpZWQiLCJmcmFtZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwic29tZSIsInZlcmlmeUZyYW1lRnVuY3Rpb24iLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iLCJkZXJpdmVkRnJhbWVWZXJpZmllZCIsImRlY2xhcmF0aW9ucyIsImRlY2xhcmF0aW9uTm9kZXMiLCJkZWNsYXJhdGlvbnNWZXJpZmllZCIsImV2ZXJ5IiwiZGVjbGFyYXRpb25Ob2RlIiwiZGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlTm9kZXMiLCJtZXRhdmFyaWFibGVzVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJmcmFtZSIsIkZyYW1lIiwiZnJvbURlY2xhcmF0aW9ucyIsInB1c2giLCJzdGF0ZWRGcmFtZVZlcmlmaWVkIiwiZGVjbGFyYXRpb25Ob2Rlc0xlbmd0aCIsImxlbmd0aCIsIm1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSIsInZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJqdWRnZW1lbnQiLCJmaW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOYW1lIiwiZGVjbGFyYXRpb24iLCJnZXREZWNsYXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOENBOzs7ZUFBQTs7OzJEQTVDaUI7NERBQ0M7NkRBQ1E7a0VBQ0k7Z0ZBQ2M7cUJB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
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgRnJhbWUgZnJvbSBcIi4uL2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCB2ZXJpZnlEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZSBmcm9tIFwiLi9tZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZnJhbWUvbWV0YXZhcmlhYmxlXCIpLFxuICAgICAgZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9mcmFtZS9kZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2ZyYW1lL21ldGF2YXJpYWJsZVwiKTtcblxuY29uc3QgdmVyaWZ5RnJhbWVGdW5jdGlvbnMgPSBbXG4gIHZlcmlmeURlcml2ZWRGcmFtZSxcbiAgdmVyaWZ5U3RhdGVkRnJhbWVcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZnJhbWVWZXJpZmllZDtcblxuICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS4uLmApO1xuXG4gIGZyYW1lVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlGcmFtZUZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lRnVuY3Rpb24oZnJhbWVOb2RlLCBmcmFtZXMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS5gKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkRnJhbWUoZnJhbWVOb2RlLCBmcmFtZXMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkRnJhbWVWZXJpZmllZDtcblxuICBpZiAoIXN0YXRlZCkge1xuICAgIGNvbnN0IGZyYW1lU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhmcmFtZU5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lU3RyaW5nfScgZGVyaXZlZCBmcmFtZS4uLmApO1xuXG4gICAgY29uc3QgZGVjbGFyYXRpb25zID0gW10sXG4gICAgICAgICAgZGVjbGFyYXRpb25Ob2RlcyA9IGRlY2xhcmF0aW9uTm9kZXNRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICAgIGRlY2xhcmF0aW9uc1ZlcmlmaWVkID0gZGVjbGFyYXRpb25Ob2Rlcy5ldmVyeSgoZGVjbGFyYXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5RGVjbGFyYXRpb24oZGVjbGFyYXRpb25Ob2RlLCBkZWNsYXJhdGlvbnMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGRlY2xhcmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoZGVjbGFyYXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVzID0gbWV0YXZhcmlhYmxlTm9kZXNRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlc1ZlcmlmaWVkID0gbWV0YXZhcmlhYmxlTm9kZXMuZXZlcnkoKG1ldGF2YXJpYWJsZU5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZXNWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmcmFtZSA9IEZyYW1lLmZyb21EZWNsYXJhdGlvbnMoZGVjbGFyYXRpb25zKTtcblxuICAgICAgICBmcmFtZXMucHVzaChmcmFtZSk7XG5cbiAgICAgICAgZGVyaXZlZEZyYW1lVmVyaWZpZWQgPSB0cnVlOyAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVyaXZlZEZyYW1lVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgZGVyaXZlZCBmcmFtZS5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZEZyYW1lVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkRnJhbWVWZXJpZmllZDtcblxuICBpZiAoc3RhdGVkKSB7XG4gICAgY29uc3QgZnJhbWVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBzdGF0ZWQgZnJhbWUuLi5gKTtcblxuICAgIGNvbnN0IGRlY2xhcmF0aW9uTm9kZXMgPSBkZWNsYXJhdGlvbk5vZGVzUXVlcnkoZnJhbWVOb2RlKSxcbiAgICAgICAgICBkZWNsYXJhdGlvbk5vZGVzTGVuZ3RoID0gZGVjbGFyYXRpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoZGVjbGFyYXRpb25Ob2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShmcmFtZU5vZGUpO1xuXG4gICAgICBpZiAobWV0YXZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBtZXRhVHlwZSA9IGZyYW1lTWV0YVR5cGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUgPSB2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUpIHtcbiAgICAgICAgICBjb25zdCBmcmFtZSA9IEZyYW1lLmZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgICAgZnJhbWVzLnB1c2goZnJhbWUpO1xuXG4gICAgICAgICAgc3RhdGVkRnJhbWVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsQ29udGV4dC50cmFjZShgVGhlICcke2ZyYW1lU3RyaW5nfScgc3RhdGVkIGZyYW1lIGNhbm5vdCBoYXZlIG1vcmUgdGhhbiBvbmUgbWV0YXZhcmlhYmxlLmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbENvbnRleHQudHJhY2UoYFRoZSAnJHtmcmFtZVN0cmluZ30nIHN0YXRlZCBmcmFtZSBjYW5ub3QgaGF2ZSBkZWNsYXJhdGlvbnMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEZyYW1lVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgc3RhdGVkIGZyYW1lLmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRGcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgY29uc3QgbWV0YVR5cGUgPSBmcmFtZU1ldGFUeXBlLCAvLy9cbiAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBqdWRnZW1lbnQgPSBsb2NhbENvbnRleHQuZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICAgIGlmIChqdWRnZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0ganVkZ2VtZW50LmdldERlY2xhcmF0aW9uKCk7XG5cbiAgICAgIGRlY2xhcmF0aW9ucy5wdXNoKGRlY2xhcmF0aW9uKTtcblxuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbENvbnRleHQudHJhY2UoYFRoZXJlIGlzIG5vIGp1ZGdlbWVudCBmb3IgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gKTtcbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59Il0sIm5hbWVzIjpbInZlcmlmeUZyYW1lIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVzUXVlcnkiLCJ2ZXJpZnlGcmFtZUZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRGcmFtZSIsInZlcmlmeVN0YXRlZEZyYW1lIiwiZnJhbWVOb2RlIiwiZnJhbWVzIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwiZnJhbWVWZXJpZmllZCIsImZyYW1lU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidmVyaWZ5RnJhbWVGdW5jdGlvbiIsImRlYnVnIiwiZGVyaXZlZEZyYW1lVmVyaWZpZWQiLCJkZWNsYXJhdGlvbnMiLCJkZWNsYXJhdGlvbk5vZGVzIiwiZGVjbGFyYXRpb25zVmVyaWZpZWQiLCJldmVyeSIsImRlY2xhcmF0aW9uTm9kZSIsImRlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZU5vZGVzIiwibWV0YXZhcmlhYmxlc1ZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwiZnJhbWUiLCJGcmFtZSIsImZyb21EZWNsYXJhdGlvbnMiLCJwdXNoIiwic3RhdGVkRnJhbWVWZXJpZmllZCIsImRlY2xhcmF0aW9uTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJtZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUiLCJ2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlIiwiZnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50IiwiZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTmFtZSIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9CQTs7O2VBQXdCQTs7OzJEQWxCUDs0REFDQzs2REFDUTtrRUFDSTtnRkFDYztxQkFFTjtvQkFDZTs7Ozs7O0FBRXJELElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDbENDLHdCQUF3QkMsSUFBQUEsaUJBQVUsRUFBQyx1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
|
package/lib/verify/lemma.js
CHANGED
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _lemma = /*#__PURE__*/ _interop_require_default(require("../lemma"));
|
|
12
12
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
13
13
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
14
|
-
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
15
14
|
var _array = require("../utilities/array");
|
|
16
15
|
var _constants = require("../constants");
|
|
17
16
|
var _query = require("../utilities/query");
|
|
@@ -29,7 +28,7 @@ function verifyLemma(lemmaNode, fileContext) {
|
|
|
29
28
|
if (labelsVerified) {
|
|
30
29
|
var localContext = _local.default.fromFileContext(fileContext), suppositions = [], suppositionNodes = suppositionsNodeQuery(lemmaNode), suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, localContext);
|
|
31
30
|
if (suppositionsVerified) {
|
|
32
|
-
var consequents = [], consequentNode = consequentNodeQuery(lemmaNode), consequentVerified = (
|
|
31
|
+
var consequents = [], consequentNode = consequentNodeQuery(lemmaNode), consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
|
|
33
32
|
if (consequentVerified) {
|
|
34
33
|
var proofNode = proofNodeQuery(lemmaNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, statementNode = consequent.getStatementNode(), substitutions = _substitutions.default.fromNothing(), proofVerified = verifyProof(proofNode, statementNode, substitutions, localContext);
|
|
35
34
|
if (proofVerified) {
|
|
@@ -46,4 +45,4 @@ function verifyLemma(lemmaNode, fileContext) {
|
|
|
46
45
|
return lemmaVerified;
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMZW1tYSBmcm9tIFwiLi4vbGVtbWFcIjtcbi8vIGltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuLy8gaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG4vLyBpbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvc3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYS9wcm9vZiFcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2xlbW1hL2xhYmVsXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYS9jb25zZXF1ZW50IVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbGVtbWEvc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUxlbW1hKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGxlbW1hVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVzQXNTdHJpbmcobGFiZWxOb2Rlcyk7XG5cbiAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyBhIGxlbW1hLi4uYCwgbGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBsZW1tYS4uLmAsIGxlbW1hTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IFtdLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbnNOb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeUNvbnNlcXVlbnQoY29uc2VxdWVudE5vZGUsIGNvbnNlcXVlbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoY29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KGxlbW1hTm9kZSksXG4gICAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBjb25zZXF1ZW50LmdldFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICAgICAgcHJvb2ZWZXJpZmllZCA9IHZlcmlmeVByb29mKHByb29mTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAocHJvb2ZWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgICAgICAgbGVtbWEgPSBMZW1tYS5mcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dChsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTGVtbWEobGVtbWEpO1xuXG4gICAgICAgICAgbGVtbWFWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBsZW1tYS5gLCBsZW1tYU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBsZW1tYS5gLCBsZW1tYU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGxlbW1hVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TGVtbWEiLCJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwibGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJsZW1tYVZlcmlmaWVkIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJFTVBUWV9TVFJJTkciLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0Iiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwiY29uc2VxdWVudHMiLCJjb25zZXF1ZW50Tm9kZSIsImNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeUNvbnNlcXVlbnQiLCJwcm9vZk5vZGUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UHJvb2YiLCJsZW1tYSIsIkxlbW1hIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJhZGRMZW1tYSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7Ozs0REFoQk47NERBRU87b0VBQ0M7cUJBSUo7eUJBQ087cUJBQ1M7Ozs7OztBQUV0QyxJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsa0JBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsaUJBQzdCQyxzQkFBc0JILElBQUFBLGdCQUFTLEVBQUMsdUJBQ2hDSSx3QkFBd0JGLElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0osWUFBWU8sU0FBUyxFQUFFQyxXQUFXO0lBQ3hELElBQUlDLGdCQUFnQjtJQUVwQixJQUFNQyxhQUFhUCxnQkFBZ0JJLFlBQzdCSSxlQUFlSCxZQUFZSSxhQUFhLENBQUNGO0lBRTlDQyxpQkFBaUJFLHVCQUFZLEdBQzVCTCxZQUFZTSxLQUFLLENBQUUsd0JBQXVCUCxhQUN4Q0MsWUFBWU0sS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJILGNBQWEsZUFBYUo7SUFFbEUsSUFBTVEsU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsYUFBYVAsWUFBWUssUUFBUVA7SUFFeEQsSUFBSVEsZ0JBQWdCO1FBQ2xCLElBQU1FLGVBQWVDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDWixjQUM1Q2EsZUFBZSxFQUFFLEVBQ2pCQyxtQkFBbUJoQixzQkFBc0JDLFlBQ3pDZ0IsdUJBQXVCQyxtQkFBbUJGLGtCQUFrQkQsY0FBY0g7UUFFaEYsSUFBSUssc0JBQXNCO1lBQ3hCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCckIsb0JBQW9CRSxZQUNyQ29CLHFCQUFxQkMsaUJBQWlCRixnQkFBZ0JELGFBQWFQO1lBRXpFLElBQUlTLG9CQUFvQjtnQkFDdEIsSUFBTUUsWUFBWTVCLGVBQWVNLFlBQzNCdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFDYkcsZ0JBQWdCRCxXQUFXRSxnQkFBZ0IsSUFDM0NDLGdCQUFnQkMsc0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsZ0JBQWdCQyxZQUFZVixXQUFXSSxlQUFlRSxlQUFlakI7Z0JBRTNFLElBQUlvQixlQUFlO29CQUNqQixJQUFNSCxpQkFBZ0JDLHNCQUFhLENBQUNDLFdBQVcsSUFDekNHLFFBQVFDLGNBQUssQ0FBQ0MsMkRBQTJELENBQUMzQixRQUFRTSxjQUFjVyxZQUFZRyxnQkFBZTNCO29CQUVqSUEsWUFBWW1DLFFBQVEsQ0FBQ0g7b0JBRXJCL0IsZ0JBQWdCO2dCQUNsQjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLElBQUlBLGVBQWU7UUFDaEJFLGlCQUFpQkUsdUJBQVksR0FDNUJMLFlBQVlvQyxLQUFLLENBQUUsMEJBQXlCckMsYUFDMUNDLFlBQVlvQyxLQUFLLENBQUMsQUFBQyxvQkFBZ0MsT0FBYmpDLGNBQWEsYUFBV0o7SUFDcEU7SUFFQSxPQUFPRTtBQUNUIn0=
|
package/lib/verify/metaLemma.js
CHANGED
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _metaLemma = /*#__PURE__*/ _interop_require_default(require("../metaLemma"));
|
|
12
12
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
13
13
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
14
|
-
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
15
14
|
var _array = require("../utilities/array");
|
|
16
15
|
var _constants = require("../constants");
|
|
17
16
|
var _query = require("../utilities/query");
|
|
@@ -29,7 +28,7 @@ function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
|
29
28
|
if (labelsVerified) {
|
|
30
29
|
var localContext = _local.default.fromFileContext(fileContext), suppositions = [], suppositionNodes = suppositionsNodeQuery(metaLemmaNode), suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, localContext);
|
|
31
30
|
if (suppositionsVerified) {
|
|
32
|
-
var consequents = [], consequentNode = consequentNodeQuery(metaLemmaNode), consequentVerified = (
|
|
31
|
+
var consequents = [], consequentNode = consequentNodeQuery(metaLemmaNode), consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
|
|
33
32
|
if (consequentVerified) {
|
|
34
33
|
var proofNode = proofNodeQuery(metaLemmaNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, statementNode = consequent.getStatementNode(), substitutions = _substitutions.default.fromNothing(), proofVerified = verifyProof(proofNode, statementNode, substitutions, localContext);
|
|
35
34
|
if (proofVerified) {
|
|
@@ -46,4 +45,4 @@ function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
|
46
45
|
return metaLemmaVerified;
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YUxlbW1hLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUxlbW1hIGZyb20gXCIuLi9tZXRhTGVtbWFcIjtcbi8vIGltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuLy8gaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG4vLyBpbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvc3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhTGVtbWEvcHJvb2YhXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhTGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYS9jb25zZXF1ZW50IVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YUxlbW1hL3N1cHBvc2l0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhTGVtbWEobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGFMZW1tYVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShtZXRhTGVtbWFOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKTtcblxuICAobGFiZWxzU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIGEgbWV0YS1sTGVtbWEuLi5gLCBtZXRhTGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhLWxMZW1tYS4uLmAsIG1ldGFMZW1tYU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25zTm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9uTm9kZXMsIHN1cHBvc2l0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeShtZXRhTGVtbWFOb2RlKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeUNvbnNlcXVlbnQoY29uc2VxdWVudE5vZGUsIGNvbnNlcXVlbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoY29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gY29uc2VxdWVudC5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhTGVtbWEgPSBNZXRhTGVtbWEuZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIGZpbGVDb250ZXh0LmFkZE1ldGFMZW1tYShtZXRhTGVtbWEpO1xuXG4gICAgICAgICAgbWV0YUxlbW1hVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG1ldGFMZW1tYVZlcmlmaWVkKSB7XG4gICAgKGxhYmVsc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIG1ldGEtbGVtbWEuYCwgbWV0YUxlbW1hTm9kZSkgOlxuICAgICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIG1ldGEtbGVtbWEuYCwgbWV0YUxlbW1hTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YUxlbW1hVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YUxlbW1hIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uc2VxdWVudE5vZGVRdWVyeSIsInN1cHBvc2l0aW9uc05vZGVRdWVyeSIsIm1ldGFMZW1tYU5vZGUiLCJmaWxlQ29udGV4dCIsIm1ldGFMZW1tYVZlcmlmaWVkIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJFTVBUWV9TVFJJTkciLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0Iiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwiY29uc2VxdWVudHMiLCJjb25zZXF1ZW50Tm9kZSIsImNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeUNvbnNlcXVlbnQiLCJwcm9vZk5vZGUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UHJvb2YiLCJtZXRhTGVtbWEiLCJNZXRhTGVtbWEiLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dCIsImFkZE1ldGFMZW1tYSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7OztnRUFoQkY7NERBRUc7b0VBQ0M7cUJBSUo7eUJBQ087cUJBQ1M7Ozs7OztBQUV0QyxJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsc0JBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMscUJBQzdCQyxzQkFBc0JILElBQUFBLGdCQUFTLEVBQUMsMkJBQ2hDSSx3QkFBd0JGLElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0osZ0JBQWdCTyxhQUFhLEVBQUVDLFdBQVc7SUFDaEUsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLGFBQWFQLGdCQUFnQkksZ0JBQzdCSSxlQUFlSCxZQUFZSSxhQUFhLENBQUNGO0lBRTlDQyxpQkFBaUJFLHVCQUFZLEdBQzVCTCxZQUFZTSxLQUFLLENBQUUsOEJBQTZCUCxpQkFDOUNDLFlBQVlNLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiSCxjQUFhLHFCQUFtQko7SUFFeEUsSUFBTVEsU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsYUFBYVAsWUFBWUssUUFBUVA7SUFFeEQsSUFBSVEsZ0JBQWdCO1FBQ2xCLElBQU1FLGVBQWVDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDWixjQUM1Q2EsZUFBZSxFQUFFLEVBQ2pCQyxtQkFBbUJoQixzQkFBc0JDLGdCQUN6Q2dCLHVCQUF1QkMsbUJBQW1CRixrQkFBa0JELGNBQWNIO1FBRWhGLElBQUlLLHNCQUFzQjtZQUN4QixJQUFNRSxjQUFjLEVBQUUsRUFDaEJDLGlCQUFpQnJCLG9CQUFvQkUsZ0JBQ3JDb0IscUJBQXFCQyxpQkFBaUJGLGdCQUFnQkQsYUFBYVA7WUFFekUsSUFBSVMsb0JBQW9CO2dCQUN0QixJQUFNRSxZQUFZNUIsZUFBZU0sZ0JBQzNCdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFDYkcsZ0JBQWdCRCxXQUFXRSxnQkFBZ0IsSUFDM0NDLGdCQUFnQkMsc0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsZ0JBQWdCQyxZQUFZVixXQUFXSSxlQUFlRSxlQUFlakI7Z0JBRTNFLElBQUlvQixlQUFlO29CQUNqQixJQUFNRSxZQUFZQyxrQkFBUyxDQUFDQywyREFBMkQsQ0FBQzNCLFFBQVFNLGNBQWNXLFlBQVlHLGVBQWUzQjtvQkFFeklBLFlBQVltQyxZQUFZLENBQUNIO29CQUV6Qi9CLG9CQUFvQjtnQkFDdEI7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxtQkFBbUI7UUFDcEJFLGlCQUFpQkUsdUJBQVksR0FDNUJMLFlBQVlvQyxLQUFLLENBQUUsK0JBQThCckMsaUJBQy9DQyxZQUFZb0MsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWJqQyxjQUFhLGtCQUFnQko7SUFDekU7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _metatheorem = /*#__PURE__*/ _interop_require_default(require("../metatheorem"));
|
|
12
12
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
13
13
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
14
|
-
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
15
14
|
var _array = require("../utilities/array");
|
|
16
15
|
var _query = require("../utilities/query");
|
|
17
16
|
function _interop_require_default(obj) {
|
|
@@ -28,7 +27,7 @@ function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
|
28
27
|
if (labelsVerified) {
|
|
29
28
|
var localContext = _local.default.fromFileContext(fileContext), suppositions = [], suppositionNodes = suppositionsNodeQuery(metatheoremNode), suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, localContext);
|
|
30
29
|
if (suppositionsVerified) {
|
|
31
|
-
var consequents = [], consequentNode = consequentNodeQuery(metatheoremNode), consequentVerified = (
|
|
30
|
+
var consequents = [], consequentNode = consequentNodeQuery(metatheoremNode), consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
|
|
32
31
|
if (consequentVerified) {
|
|
33
32
|
var proofNode = proofNodeQuery(metatheoremNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, substitutions = _substitutions.default.fromNothing(), statementNode = consequent.getStatementNode(), proofVerified = verifyProof(proofNode, statementNode, substitutions, localContext);
|
|
34
33
|
if (proofVerified) {
|
|
@@ -45,4 +44,4 @@ function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
|
45
44
|
return metatheoremVerified;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXRoZW9yZW0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8vIGltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTWV0YXRoZW9yZW0gZnJvbSBcIi4uL21ldGF0aGVvcmVtXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuLy8gaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG4vLyBpbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvc3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGF0aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXRoZW9yZW0vcHJvb2YhXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbS9jb25zZXF1ZW50IVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YXRoZW9yZW0vc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGF0aGVvcmVtKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGF0aGVvcmVtVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVzQXNTdHJpbmcobGFiZWxOb2Rlcyk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbWV0YXRoZW9yZW0uLi5gLCBtZXRhdGhlb3JlbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25zTm9kZVF1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgICAgc3VwcG9zaXRpb25zVmVyaWZpZWQgPSB2ZXJpZnlTdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25Ob2Rlcywgc3VwcG9zaXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBjb25zZXF1ZW50cyA9IFtdLFxuICAgICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpLFxuICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gY29uc2VxdWVudC5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgICAgIHByb29mVmVyaWZpZWQgPSB2ZXJpZnlQcm9vZihwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0KGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICBmaWxlQ29udGV4dC5hZGRNZXRhdGhlb3JlbShtZXRhdGhlb3JlbSk7XG5cbiAgICAgICAgICBtZXRhdGhlb3JlbVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhdGhlb3JlbVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhdGhlb3JlbS5gLCBtZXRhdGhlb3JlbU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF0aGVvcmVtVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXRoZW9yZW0iLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwibWV0YXRoZW9yZW1Ob2RlIiwiZmlsZUNvbnRleHQiLCJtZXRhdGhlb3JlbVZlcmlmaWVkIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0Iiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwiY29uc2VxdWVudHMiLCJjb25zZXF1ZW50Tm9kZSIsImNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeUNvbnNlcXVlbnQiLCJwcm9vZk5vZGUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJzdWJzdGl0dXRpb25zIiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UHJvb2YiLCJtZXRhdGhlb3JlbSIsIk1ldGF0aGVvcmVtIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJhZGRNZXRhdGhlb3JlbSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUF3QkE7OztrRUFkQTs0REFDQztvRUFDQztxQkFJSjtxQkFDZ0I7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsdUJBQzdCQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsd0JBQzNCQyxzQkFBc0JELElBQUFBLGdCQUFTLEVBQUMsNkJBQ2hDRSx3QkFBd0JKLElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0Ysa0JBQWtCTyxlQUFlLEVBQUVDLFdBQVc7SUFDcEUsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLGFBQWFULGdCQUFnQk0sa0JBQzdCSSxlQUFlSCxZQUFZSSxhQUFhLENBQUNGO0lBRS9DRixZQUFZSyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkYsY0FBYSxxQkFBbUJKO0lBRXBFLElBQU1PLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLGFBQWFOLFlBQVlJLFFBQVFOO0lBRXhELElBQUlPLGdCQUFnQjtRQUNsQixJQUFNRSxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1gsY0FDNUNZLGVBQWUsRUFBRSxFQUNqQkMsbUJBQW1CZixzQkFBc0JDLGtCQUN6Q2UsdUJBQXVCQyxtQkFBbUJGLGtCQUFrQkQsY0FBY0g7UUFFaEYsSUFBSUssc0JBQXNCO1lBQ3hCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCcEIsb0JBQW9CRSxrQkFDckNtQixxQkFBcUJDLGlCQUFpQkYsZ0JBQWdCRCxhQUFhUDtZQUV6RSxJQUFJUyxvQkFBb0I7Z0JBQ3RCLElBQU1FLFlBQVl6QixlQUFlSSxrQkFDM0JzQixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGFBQWFGLGlCQUNiRyxnQkFBZ0JDLHNCQUFhLENBQUNDLFdBQVcsSUFDekNDLGdCQUFnQkosV0FBV0ssZ0JBQWdCLElBQzNDQyxnQkFBZ0JDLFlBQVlWLFdBQVdPLGVBQWVILGVBQWVmO2dCQUUzRSxJQUFJb0IsZUFBZTtvQkFDakIsSUFBTUUsY0FBY0Msb0JBQVcsQ0FBQ0MsMkRBQTJELENBQUMzQixRQUFRTSxjQUFjVyxZQUFZQyxlQUFleEI7b0JBRTdJQSxZQUFZa0MsY0FBYyxDQUFDSDtvQkFFM0I5QixzQkFBc0I7Z0JBQ3hCO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSUEscUJBQXFCO1FBQ3ZCRCxZQUFZbUMsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWJoQyxjQUFhLG1CQUFpQko7SUFDdEU7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
@@ -26,8 +26,8 @@ function verifyMetavariableGivenMetaType(metavariableNode, metaType, localContex
|
|
|
26
26
|
var metavariableNodeA = metavariableNode; ///
|
|
27
27
|
metavariableNode = metavariable.getNode();
|
|
28
28
|
var metavariableNodeB = metavariableNode; ///
|
|
29
|
-
var
|
|
30
|
-
metavariableVerifiedGivenMetaType =
|
|
29
|
+
var metavariableUnified = _metavariable.default.unify(metavariableNodeA, metavariableNodeB, localContext);
|
|
30
|
+
metavariableVerifiedGivenMetaType = metavariableUnified; ///
|
|
31
31
|
} else {
|
|
32
32
|
var metavariableMetaTypeName = metavariableMetaType.getName();
|
|
33
33
|
localContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metavariableMetaTypeName, "' when it should be '").concat(metaTypeName, "'."), metavariableNode);
|
|
@@ -41,4 +41,4 @@ function verifyMetavariableGivenMetaType(metavariableNode, metaType, localContex
|
|
|
41
41
|
return metavariableVerifiedGivenMetaType;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGF2YXJpYWJsZVVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFUeXBlTmFtZSA9IG1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGdpdmVuIHRoZSAnJHttZXRhVHlwZU5hbWV9JyBtZXRhLXR5cGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVNZXRhVHlwZSA9PT0gbWV0YVR5cGUpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGUuZ2V0Tm9kZSgpO1xuXG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQiA9IG1ldGF2YXJpYWJsZU5vZGU7IC8vL1xuXG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVVbmlmaWVkID0gbWV0YXZhcmlhYmxlVW5pZmllci51bmlmeShtZXRhdmFyaWFibGVOb2RlQSwgbWV0YXZhcmlhYmxlTm9kZUIsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IG1ldGF2YXJpYWJsZVVuaWZpZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lID0gbWV0YXZhcmlhYmxlTWV0YVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7bWV0YVR5cGVOYW1lfScuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBpcyBub3QgcHJlc2VudCcuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGdpdmVuIHRoZSAnJHttZXRhVHlwZU5hbWV9JyBtZXRhLXR5cGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJsb2NhbENvbnRleHQiLCJtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUiLCJtZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU1ldGFUeXBlIiwiZ2V0TWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlQSIsImdldE5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQiIsIm1ldGF2YXJpYWJsZVVuaWZpZWQiLCJtZXRhdmFyaWFibGVVbmlmaWVyIiwidW5pZnkiLCJtZXRhdmFyaWFibGVNZXRhVHlwZU5hbWUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OzttRUFKUTtvQkFFcUI7Ozs7OztBQUV0QyxTQUFTQSxnQ0FBZ0NDLGdCQUFnQixFQUFFQyxRQUFRLEVBQUVDLFlBQVk7SUFDOUYsSUFBSUMsb0NBQW9DO0lBRXhDLElBQU1DLGVBQWVILFNBQVNJLE9BQU8sSUFDL0JDLHFCQUFxQkosYUFBYUssWUFBWSxDQUFDUDtJQUVyREUsYUFBYU0sS0FBSyxDQUFDLEFBQUMsa0JBQWdFSixPQUEvQ0Usb0JBQW1CLDhCQUF5QyxPQUFiRixjQUFhLG1CQUFpQko7SUFFbEgsSUFBTVMsbUJBQW1CQyxJQUFBQSwwQ0FBb0MsRUFBQ1YsbUJBQ3hEVyxlQUFlVCxhQUFhVSxrQ0FBa0MsQ0FBQ0g7SUFFckUsSUFBSUUsaUJBQWlCLE1BQU07UUFDekIsSUFBTUUsdUJBQXVCRixhQUFhRyxXQUFXO1FBRXJELElBQUlELHlCQUF5QlosVUFBVTtZQUNyQyxJQUFNYyxvQkFBb0JmLGtCQUFrQixHQUFHO1lBRS9DQSxtQkFBbUJXLGFBQWFLLE9BQU87WUFFdkMsSUFBTUMsb0JBQW9CakIsa0JBQWtCLEdBQUc7WUFFL0MsSUFBTWtCLHNCQUFzQkMscUJBQW1CLENBQUNDLEtBQUssQ0FBQ0wsbUJBQW1CRSxtQkFBbUJmO1lBRTVGQyxvQ0FBb0NlLHFCQUFzQixHQUFHO1FBQy9ELE9BQU87WUFDTCxJQUFNRywyQkFBMkJSLHFCQUFxQlIsT0FBTztZQUU3REgsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLFFBQTJERCxPQUFwRGYsb0JBQW1CLG1DQUFpRkYsT0FBaERpQiwwQkFBeUIseUJBQW9DLE9BQWJqQixjQUFhLE9BQUtKO1FBQ25KO0lBQ0YsT0FBTztRQUNMRSxhQUFhb0IsS0FBSyxDQUFDLEFBQUMsUUFBMEIsT0FBbkJoQixvQkFBbUIsb0NBQWtDTjtJQUNsRjtJQUVBLElBQUlHLG1DQUFtQztRQUNyQ0QsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLG9CQUFrRWxCLE9BQS9DRSxvQkFBbUIsOEJBQXlDLE9BQWJGLGNBQWEsaUJBQWVKO0lBQ3BIO0lBRUEsT0FBT0c7QUFDVCJ9
|
package/lib/verify/theorem.js
CHANGED
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _theorem = /*#__PURE__*/ _interop_require_default(require("../theorem"));
|
|
12
12
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
13
13
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
14
|
-
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
15
14
|
var _array = require("../utilities/array");
|
|
16
15
|
var _query = require("../utilities/query");
|
|
17
16
|
function _interop_require_default(obj) {
|
|
@@ -28,7 +27,7 @@ function verifyTheorem(theoremNode, fileContext) {
|
|
|
28
27
|
if (labelsVerified) {
|
|
29
28
|
var localContext = _local.default.fromFileContext(fileContext), suppositions = [], suppositionNodes = suppositionsNodeQuery(theoremNode), suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, localContext);
|
|
30
29
|
if (suppositionsVerified) {
|
|
31
|
-
var consequents = [], consequentNode = consequentNodeQuery(theoremNode), consequentVerified = (
|
|
30
|
+
var consequents = [], consequentNode = consequentNodeQuery(theoremNode), consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
|
|
32
31
|
if (consequentVerified) {
|
|
33
32
|
var proofNode = proofNodeQuery(theoremNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, statementNode = consequent.getStatementNode(), substitutions = _substitutions.default.fromNothing(), proofVerified = verifyProof(proofNode, statementNode, substitutions, localContext);
|
|
34
33
|
if (proofVerified) {
|
|
@@ -45,4 +44,4 @@ function verifyTheorem(theoremNode, fileContext) {
|
|
|
45
44
|
return theoremVerified;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uL3RoZW9yZW1cIjtcbi8vIGltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuLy8gaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG4vLyBpbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvc3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvdGhlb3JlbS9sYWJlbFwiKSxcbiAgICAgIGNvbnNlcXVlbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbS9jb25zZXF1ZW50IVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvdGhlb3JlbS9zdXBwb3NpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGhlb3JlbSh0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHRoZW9yZW1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsc1N0cmluZ30nIHRoZW9yZW0uLi5gLCB0aGVvcmVtTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IFtdLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbnNOb2RlUXVlcnkodGhlb3JlbU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9uTm9kZXMsIHN1cHBvc2l0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeSh0aGVvcmVtTm9kZSksXG4gICAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBjb25zZXF1ZW50LmdldFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICAgICAgcHJvb2ZWZXJpZmllZCA9IHZlcmlmeVByb29mKHByb29mTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAocHJvb2ZWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIGZpbGVDb250ZXh0LmFkZFRoZW9yZW0odGhlb3JlbSk7XG5cbiAgICAgICAgICB0aGVvcmVtVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgdGhlb3JlbS5gLCB0aGVvcmVtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGhlb3JlbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVRoZW9yZW0iLCJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGUiLCJmaWxlQ29udGV4dCIsInRoZW9yZW1WZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnRzIiwiY29uc2VxdWVudE5vZGUiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJ2ZXJpZnlDb25zZXF1ZW50IiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50Iiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25zIiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwidGhlb3JlbSIsIlRoZW9yZW0iLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dCIsImFkZFRoZW9yZW0iLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7OERBZko7NERBRUs7b0VBQ0M7cUJBSUo7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLG9CQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLG1CQUM3QkMsc0JBQXNCSCxJQUFBQSxnQkFBUyxFQUFDLHlCQUNoQ0ksd0JBQXdCRixJQUFBQSxpQkFBVSxFQUFDO0FBRTFCLFNBQVNKLGNBQWNPLFdBQVcsRUFBRUMsV0FBVztJQUM1RCxJQUFJQyxrQkFBa0I7SUFFdEIsSUFBTUMsYUFBYVAsZ0JBQWdCSSxjQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUUvQ0YsWUFBWUssS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJGLGNBQWEsaUJBQWVKO0lBRWhFLElBQU1PLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLGFBQWFOLFlBQVlJLFFBQVFOO0lBRXhELElBQUlPLGdCQUFnQjtRQUNsQixJQUFNRSxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1gsY0FDNUNZLGVBQWUsRUFBRSxFQUNqQkMsbUJBQW1CZixzQkFBc0JDLGNBQ3pDZSx1QkFBdUJDLG1CQUFtQkYsa0JBQWtCRCxjQUFjSDtRQUVoRixJQUFJSyxzQkFBc0I7WUFDeEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJwQixvQkFBb0JFLGNBQ3JDbUIscUJBQXFCQyxpQkFBaUJGLGdCQUFnQkQsYUFBYVA7WUFFekUsSUFBSVMsb0JBQW9CO2dCQUN0QixJQUFNRSxZQUFZM0IsZUFBZU0sY0FDM0JzQixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGFBQWFGLGlCQUNiRyxnQkFBZ0JELFdBQVdFLGdCQUFnQixJQUMzQ0MsZ0JBQWdCQyxzQkFBYSxDQUFDQyxXQUFXLElBQ3pDQyxnQkFBZ0JDLFlBQVlWLFdBQVdJLGVBQWVFLGVBQWVqQjtnQkFFM0UsSUFBSW9CLGVBQWU7b0JBQ2pCLElBQU1ILGlCQUFnQkMsc0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0csVUFBVUMsZ0JBQU8sQ0FBQ0MsMkRBQTJELENBQUMzQixRQUFRTSxjQUFjVyxZQUFZRyxnQkFBZTFCO29CQUVySUEsWUFBWWtDLFVBQVUsQ0FBQ0g7b0JBRXZCOUIsa0JBQWtCO2dCQUNwQjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLElBQUlBLGlCQUFpQjtRQUNuQkQsWUFBWW1DLEtBQUssQ0FBQyxBQUFDLG9CQUFnQyxPQUFiaEMsY0FBYSxlQUFhSjtJQUNsRTtJQUVBLE9BQU9FO0FBQ1QifQ==
|
package/package.json
CHANGED
package/src/argument.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { nodeQuery } from "./utilities/query";
|
|
4
|
+
import { typeNameFromTypeNode } from "./utilities/name";
|
|
4
5
|
|
|
5
6
|
const termNodeQuery = nodeQuery("/argument/term"),
|
|
6
7
|
typeNodeQuery = nodeQuery("/argument//type");
|
|
@@ -24,15 +25,15 @@ export default class Argument {
|
|
|
24
25
|
return this.fileContext;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
let
|
|
28
|
+
verifyAtTopLevel(fileContext) {
|
|
29
|
+
let verifiedAtTopLevel = false;
|
|
29
30
|
|
|
30
31
|
const argumentString = this.string; ///
|
|
31
32
|
|
|
32
|
-
fileContext.trace(`Verifying the '${argumentString}' argument...`);
|
|
33
|
+
fileContext.trace(`Verifying the '${argumentString}' argument at top level...`);
|
|
33
34
|
|
|
34
35
|
if (this.node === null) {
|
|
35
|
-
|
|
36
|
+
verifiedAtTopLevel = true;
|
|
36
37
|
} else {
|
|
37
38
|
const termNode = termNodeQuery(this.node);
|
|
38
39
|
|
|
@@ -44,10 +45,11 @@ export default class Argument {
|
|
|
44
45
|
const typeNode = typeNodeQuery(this.node);
|
|
45
46
|
|
|
46
47
|
if (typeNode !== null) {
|
|
47
|
-
const
|
|
48
|
+
const typeName = typeNameFromTypeNode(typeNode),
|
|
49
|
+
typePresent = this.fileContext.isTypePresentByTypeName(typeName);
|
|
48
50
|
|
|
49
51
|
if (typePresent) {
|
|
50
|
-
|
|
52
|
+
verifiedAtTopLevel = true;
|
|
51
53
|
} else {
|
|
52
54
|
const typeString = this.fileContext.nodeAsString(typeNode);
|
|
53
55
|
|
|
@@ -57,11 +59,11 @@ export default class Argument {
|
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
if (
|
|
61
|
-
fileContext.debug(`...verified the '${argumentString}' argument.`);
|
|
62
|
+
if (verifiedAtTopLevel) {
|
|
63
|
+
fileContext.debug(`...verified the '${argumentString}' argument at top level.`);
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
return
|
|
66
|
+
return verifiedAtTopLevel;
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
static fromArgumentNode(argumentNode, fileContext) {
|
|
@@ -11,13 +11,12 @@ export default class EqualityAssignment {
|
|
|
11
11
|
|
|
12
12
|
assign(localContext) {
|
|
13
13
|
const equalityAdded = localContext.addEquality(this.equality),
|
|
14
|
-
|
|
15
|
-
equalityString = localContext.nodeAsString(equalityNode),
|
|
14
|
+
equalityString = this.equality.getString(),
|
|
16
15
|
equalityAssigned = equalityAdded; ///
|
|
17
16
|
|
|
18
17
|
equalityAssigned ?
|
|
19
|
-
localContext.trace(`Assigned the '${equalityString}' equality
|
|
20
|
-
localContext.debug(`Unable to assign the '${equalityString}' equality
|
|
18
|
+
localContext.trace(`Assigned the '${equalityString}' equality.`) :
|
|
19
|
+
localContext.debug(`Unable to assign the '${equalityString}' equality.`);
|
|
21
20
|
|
|
22
21
|
return equalityAssigned;
|
|
23
22
|
}
|
package/src/axiom.js
CHANGED
|
@@ -1,7 +1,84 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Label from "./label";
|
|
4
|
+
import Consequent from "./consequent";
|
|
5
|
+
import Supposition from "./supposition";
|
|
6
|
+
import LocalContext from "./context/local";
|
|
3
7
|
import TopLevelAssertion from "./topLevelAssertion";
|
|
4
8
|
|
|
9
|
+
import { nodeQuery, nodesQuery } from "./utilities/query";
|
|
10
|
+
import { labelsStringFromLabels } from "./topLevelAssertion";
|
|
11
|
+
|
|
12
|
+
const labelNodesQuery = nodesQuery("/axiom/label"),
|
|
13
|
+
consequentNodeQuery = nodeQuery("/axiom/consequent"),
|
|
14
|
+
suppositionNodesQuery = nodesQuery("/axiom/supposition");
|
|
15
|
+
|
|
5
16
|
export default class Axiom extends TopLevelAssertion {
|
|
6
|
-
|
|
17
|
+
verify() {
|
|
18
|
+
let verified = false;
|
|
19
|
+
|
|
20
|
+
const labelsString = labelsStringFromLabels(this.labels);
|
|
21
|
+
|
|
22
|
+
this.fileContext.trace(`Verifying the '${labelsString}' axiom...`);
|
|
23
|
+
|
|
24
|
+
const labelsVerifiedAtTopLevel = this.labels.every((label) => {
|
|
25
|
+
const labelVVerifiedAtTopLevel = label.verifyAtTopLevel(this.fileContext);
|
|
26
|
+
|
|
27
|
+
if (labelVVerifiedAtTopLevel) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
if (labelsVerifiedAtTopLevel) {
|
|
33
|
+
const localContext = LocalContext.fromFileContext(this.fileContext),
|
|
34
|
+
suppositionsVerified = this.suppositions.every((supposition) => {
|
|
35
|
+
const suppositionVerified = supposition.verify(localContext);
|
|
36
|
+
|
|
37
|
+
if (suppositionVerified) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
if (suppositionsVerified) {
|
|
43
|
+
const consequentVerified = this.consequent.verify(localContext);
|
|
44
|
+
|
|
45
|
+
if (consequentVerified) {
|
|
46
|
+
const axiom = this; ///
|
|
47
|
+
|
|
48
|
+
this.fileContext.addAxiom(axiom);
|
|
49
|
+
|
|
50
|
+
verified = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (verified) {
|
|
56
|
+
this.fileContext.debug(`...verified the '${labelsString}' axiom.`);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return verified;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static fromJSON(json, fileContext) { return TopLevelAssertion.fromJSON(Axiom, json, fileContext); }
|
|
63
|
+
|
|
64
|
+
static fromAxiomNode(axiomNode, fileContext) {
|
|
65
|
+
const labelNodes = labelNodesQuery(axiomNode),
|
|
66
|
+
consequentNode = consequentNodeQuery(axiomNode),
|
|
67
|
+
suppositionNodes = suppositionNodesQuery(axiomNode),
|
|
68
|
+
labels = labelNodes.map((labelNode) => {
|
|
69
|
+
const label = Label.fromLabelNode(labelNode, fileContext);
|
|
70
|
+
|
|
71
|
+
return label;
|
|
72
|
+
}),
|
|
73
|
+
suppositions = suppositionNodes.map((suppositionNode) => {
|
|
74
|
+
const supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
|
|
75
|
+
|
|
76
|
+
return supposition;
|
|
77
|
+
}),
|
|
78
|
+
consequent = Consequent.fromConsequentNode(consequentNode, fileContext),
|
|
79
|
+
proof = null,
|
|
80
|
+
axiom = new Axiom(fileContext, labels, suppositions, consequent, proof);
|
|
81
|
+
|
|
82
|
+
return axiom;
|
|
83
|
+
}
|
|
7
84
|
}
|
package/src/combinator.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import shim from "./shim";
|
|
4
|
-
import Statement from "./statement";
|
|
5
4
|
import LocalContext from "./context/local";
|
|
6
5
|
|
|
7
6
|
import { nodeQuery } from "./utilities/query";
|
|
@@ -25,22 +24,22 @@ export default class Combinator {
|
|
|
25
24
|
return statementNode;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
let
|
|
27
|
+
verifyAtTopLevel(fileContext) {
|
|
28
|
+
let verifiedAtTopLevel;
|
|
30
29
|
|
|
31
30
|
const combinatorString = this.getString(); ///
|
|
32
31
|
|
|
33
|
-
fileContext.trace(`Verifying the '${combinatorString}' combinator...`);
|
|
32
|
+
fileContext.trace(`Verifying the '${combinatorString}' combinator at top level...`);
|
|
34
33
|
|
|
35
|
-
const
|
|
34
|
+
const statementVerifiedAtTopLevel = this.statement.verifyAtTopLevel(fileContext);
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
verifiedAtTopLevel = statementVerifiedAtTopLevel; ///
|
|
38
37
|
|
|
39
|
-
if (
|
|
40
|
-
fileContext.debug(`...verified the '${combinatorString}' combinator.`);
|
|
38
|
+
if (verifiedAtTopLevel) {
|
|
39
|
+
fileContext.debug(`...verified the '${combinatorString}' combinator at top level.`);
|
|
41
40
|
}
|
|
42
41
|
|
|
43
|
-
return
|
|
42
|
+
return verifiedAtTopLevel;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
toJSON() {
|
|
@@ -62,6 +61,8 @@ export default class Combinator {
|
|
|
62
61
|
string
|
|
63
62
|
};
|
|
64
63
|
|
|
64
|
+
const { Statement } = shim;
|
|
65
|
+
|
|
65
66
|
statement = Statement.fromJSON(json, fileContext);
|
|
66
67
|
|
|
67
68
|
const combinator = new Combinator(statement);
|
package/src/conclusion.js
CHANGED
|
@@ -4,7 +4,6 @@ import LocalContext from "./context/local";
|
|
|
4
4
|
import metaLevelUnifier from "./unifier/metaLevel";
|
|
5
5
|
import UnqualifiedStatement from "./statement/unqualified";
|
|
6
6
|
|
|
7
|
-
import { trim } from "./utilities/string";
|
|
8
7
|
import { nodeQuery } from "./utilities/query";
|
|
9
8
|
|
|
10
9
|
const unqualifiedStatementNodeQuery = nodeQuery("/conclusion/unqualifiedStatement");
|
|
@@ -56,10 +55,9 @@ export default class Conclusion {
|
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
verify(localContext) {
|
|
59
|
-
let verified = false
|
|
60
|
-
conclusionString = this.getString(); ///
|
|
58
|
+
let verified = false;
|
|
61
59
|
|
|
62
|
-
conclusionString =
|
|
60
|
+
const conclusionString = this.getString(); ///
|
|
63
61
|
|
|
64
62
|
localContext.trace(`Verifying the '${conclusionString}' conclusion...`);
|
|
65
63
|
|