occam-verify-cli 0.0.939 → 0.0.941
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/premise.js +3 -3
- package/lib/supposition.js +3 -3
- package/lib/verifier/metaLevel.js +7 -7
- package/lib/verifier/statementAsCombinator.js +13 -7
- package/lib/verifier/termAsConstructor.js +5 -5
- package/lib/verifier/topLevel.js +236 -0
- package/lib/verify/declaration/metavariable.js +70 -4
- package/lib/verify/declaration/type.js +36 -3
- package/lib/verify/declaration/variable.js +38 -3
- package/lib/verify/error.js +18 -0
- package/lib/verify/file.js +7 -21
- package/lib/verify/metavariable.js +4 -26
- package/lib/verify/statement.js +4 -26
- package/lib/verify/term.js +4 -23
- package/lib/verify/type.js +10 -57
- package/lib/verify/variable.js +10 -59
- package/package.json +5 -5
- package/src/premise.js +2 -2
- package/src/supposition.js +2 -2
- package/src/verifier/metaLevel.js +7 -9
- package/src/verifier/statementAsCombinator.js +18 -9
- package/src/verifier/termAsConstructor.js +6 -7
- package/src/verifier/topLevel.js +160 -0
- package/src/verify/declaration/metavariable.js +112 -2
- package/src/verify/declaration/type.js +48 -1
- package/src/verify/declaration/variable.js +50 -1
- package/src/verify/error.js +11 -0
- package/src/verify/file.js +8 -29
- package/src/verify/metavariable.js +0 -22
- package/src/verify/statement.js +0 -25
- package/src/verify/term.js +0 -19
- package/src/verify/type.js +6 -56
- package/src/verify/variable.js +6 -58
- package/lib/verify/declaration/topLevel.js +0 -75
- package/src/verify/declaration/topLevel.js +0 -101
package/src/verify/variable.js
CHANGED
|
@@ -1,75 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import VariableAssignment from "../assignment/variable";
|
|
5
|
-
|
|
6
|
-
import { objectType } from "../type";
|
|
7
|
-
|
|
8
|
-
export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
3
|
+
export default function verifyVariable(variableNode, localContext, verifyAhead) {
|
|
9
4
|
let variableVerified = false;
|
|
10
5
|
|
|
11
|
-
const variableString = fileContext.nodeAsString(variableNode);
|
|
12
|
-
|
|
13
|
-
fileContext.trace(`Verifying the '${variableString}' variable...`, variableNode);
|
|
14
|
-
|
|
15
|
-
const variablePresent = fileContext.isVariablePresentByVariableNode(variableNode);
|
|
16
|
-
|
|
17
|
-
if (variablePresent) {
|
|
18
|
-
fileContext.debug(`The variable '${variableString}' is already present.`, variableNode);
|
|
19
|
-
} else {
|
|
20
|
-
let variable;
|
|
21
|
-
|
|
22
|
-
if (typeNode === null) {
|
|
23
|
-
const type = objectType;
|
|
24
|
-
|
|
25
|
-
variable = Variable.fromVariableNodeAndType(variableNode, type);
|
|
26
|
-
} else {
|
|
27
|
-
const type = fileContext.findTypeByTypeNode(typeNode);
|
|
28
|
-
|
|
29
|
-
if (type === null) {
|
|
30
|
-
const typeString = fileContext.nodeAsString(typeNode);
|
|
31
|
-
|
|
32
|
-
fileContext.debug(`The '${variableString}' variable's '${typeString}' type is not present.`, variableNode);
|
|
33
|
-
} else {
|
|
34
|
-
variable = Variable.fromVariableNodeAndType(variableNode, type);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (variable !== null) {
|
|
39
|
-
const variableAssignment = VariableAssignment.fromVariable(variable),
|
|
40
|
-
variableAssigned = variableAssignment.assign(fileContext);
|
|
41
|
-
|
|
42
|
-
if (variableAssigned) {
|
|
43
|
-
variableVerified = true;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (variableVerified) {
|
|
49
|
-
fileContext.debug(`...verified the '${variableString}' variable.`, variableNode);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return variableVerified;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export function verifyStandaloneVariable(variableNode, localContext, verifyAhead) {
|
|
56
|
-
let standaloneVariableVerified = false;
|
|
57
|
-
|
|
58
6
|
const variableString = localContext.nodeAsString(variableNode);
|
|
59
7
|
|
|
60
|
-
localContext.trace(`Verifying the '${variableString}'
|
|
8
|
+
localContext.trace(`Verifying the '${variableString}' variable...`, variableNode);
|
|
61
9
|
|
|
62
10
|
const variablePresent = localContext.isVariablePresentByVariableNode(variableNode);
|
|
63
11
|
|
|
64
12
|
if (variablePresent) {
|
|
65
13
|
const verifiedAhead = verifyAhead();
|
|
66
14
|
|
|
67
|
-
|
|
15
|
+
variableVerified = verifiedAhead; ///
|
|
68
16
|
}
|
|
69
17
|
|
|
70
|
-
if (
|
|
71
|
-
localContext.debug(`...verified the '${variableString}'
|
|
18
|
+
if (variableVerified) {
|
|
19
|
+
localContext.debug(`...verified the '${variableString}' variable.`, variableNode);
|
|
72
20
|
}
|
|
73
21
|
|
|
74
|
-
return
|
|
22
|
+
return variableVerified;
|
|
75
23
|
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyTopLevelDeclaration;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _rule = /*#__PURE__*/ _interop_require_default(require("../../verify/rule"));
|
|
12
|
-
var _axiom = /*#__PURE__*/ _interop_require_default(require("../../verify/axiom"));
|
|
13
|
-
var _lemma = /*#__PURE__*/ _interop_require_default(require("../../verify/lemma"));
|
|
14
|
-
var _theorem = /*#__PURE__*/ _interop_require_default(require("../../verify/theorem"));
|
|
15
|
-
var _metaLemma = /*#__PURE__*/ _interop_require_default(require("../../verify/metaLemma"));
|
|
16
|
-
var _conjecture = /*#__PURE__*/ _interop_require_default(require("../../verify/conjecture"));
|
|
17
|
-
var _metatheorem = /*#__PURE__*/ _interop_require_default(require("../../verify/metatheorem"));
|
|
18
|
-
var _type = /*#__PURE__*/ _interop_require_default(require("../../verify/declaration/type"));
|
|
19
|
-
var _variable = /*#__PURE__*/ _interop_require_default(require("../../verify/declaration/variable"));
|
|
20
|
-
var _combinator = /*#__PURE__*/ _interop_require_default(require("../../verify/declaration/combinator"));
|
|
21
|
-
var _constructor = /*#__PURE__*/ _interop_require_default(require("../../verify/declaration/constructor"));
|
|
22
|
-
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../../verify/declaration/metavariable"));
|
|
23
|
-
var _query = require("../../utilities/query");
|
|
24
|
-
function _interop_require_default(obj) {
|
|
25
|
-
return obj && obj.__esModule ? obj : {
|
|
26
|
-
default: obj
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
var ruleNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/rule!"), axiomNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/axiom!"), lemmaNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/lemma!"), theoremNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/theorem!"), metaLemmaNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/metaLemma!"), conjectureNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/conjecture!"), metatheoremNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/metatheorem!"), typeDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/typeDeclaration!"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/variableDeclaration!"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/combinatorDeclaration!"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/constructorDeclaration!"), metavariableDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/metavariableDeclaration!");
|
|
30
|
-
function verifyTopLevelDeclaration(topLevelDeclarationNode, fileContext) {
|
|
31
|
-
var topLevelDeclarationVerified = false;
|
|
32
|
-
var node = topLevelDeclarationNode, ruleNode = ruleNodeQuery(node), axiomNode = axiomNodeQuery(node), lemmaNode = lemmaNodeQuery(node), theoremNode = theoremNodeQuery(node), metaLemmaNode = metaLemmaNodeQuery(node), conjectureNode = conjectureNodeQuery(node), metatheoremNode = metatheoremNodeQuery(node), typeDeclarationNode = typeDeclarationNodeQuery(node), variableDeclarationNode = variableDeclarationNodeQuery(node), combinatorDeclarationNode = combinatorDeclarationNodeQuery(node), constructorDeclarationNode = constructorDeclarationNodeQuery(node), metavariableDeclarationNode = metavariableDeclarationNodeQuery(node);
|
|
33
|
-
if (false) {
|
|
34
|
-
///
|
|
35
|
-
} else if (ruleNode !== null) {
|
|
36
|
-
var ruleVerified = (0, _rule.default)(ruleNode, fileContext);
|
|
37
|
-
topLevelDeclarationVerified = ruleVerified; ///
|
|
38
|
-
} else if (axiomNode !== null) {
|
|
39
|
-
var axiomVerified = (0, _axiom.default)(axiomNode, fileContext);
|
|
40
|
-
topLevelDeclarationVerified = axiomVerified; ///
|
|
41
|
-
} else if (lemmaNode !== null) {
|
|
42
|
-
var lemmaVerified = (0, _lemma.default)(lemmaNode, fileContext);
|
|
43
|
-
topLevelDeclarationVerified = lemmaVerified; ///
|
|
44
|
-
} else if (theoremNode !== null) {
|
|
45
|
-
var theoremVerified = (0, _theorem.default)(theoremNode, fileContext);
|
|
46
|
-
topLevelDeclarationVerified = theoremVerified; ///
|
|
47
|
-
} else if (metaLemmaNode !== null) {
|
|
48
|
-
var metaLemmaVerified = (0, _metaLemma.default)(metaLemmaNode, fileContext);
|
|
49
|
-
topLevelDeclarationVerified = metaLemmaVerified; ///
|
|
50
|
-
} else if (conjectureNode !== null) {
|
|
51
|
-
var conjectureVerified = (0, _conjecture.default)(conjectureNode, fileContext);
|
|
52
|
-
topLevelDeclarationVerified = conjectureVerified; ///
|
|
53
|
-
} else if (metatheoremNode !== null) {
|
|
54
|
-
var metatheoremVerified = (0, _metatheorem.default)(metatheoremNode, fileContext);
|
|
55
|
-
topLevelDeclarationVerified = metatheoremVerified; ///
|
|
56
|
-
} else if (typeDeclarationNode !== null) {
|
|
57
|
-
var typeDeclarationVerified = (0, _type.default)(typeDeclarationNode, fileContext);
|
|
58
|
-
topLevelDeclarationVerified = typeDeclarationVerified; ///
|
|
59
|
-
} else if (variableDeclarationNode !== null) {
|
|
60
|
-
var variableDeclarationVerified = (0, _variable.default)(variableDeclarationNode, fileContext);
|
|
61
|
-
topLevelDeclarationVerified = variableDeclarationVerified; ///
|
|
62
|
-
} else if (combinatorDeclarationNode !== null) {
|
|
63
|
-
var combinatorDeclarationVerified = (0, _combinator.default)(combinatorDeclarationNode, fileContext);
|
|
64
|
-
topLevelDeclarationVerified = combinatorDeclarationVerified; ///
|
|
65
|
-
} else if (constructorDeclarationNode !== null) {
|
|
66
|
-
var constructorDeclarationVerified = (0, _constructor.default)(constructorDeclarationNode, fileContext);
|
|
67
|
-
topLevelDeclarationVerified = constructorDeclarationVerified; ///
|
|
68
|
-
} else if (metavariableDeclarationNode !== null) {
|
|
69
|
-
var metavariableDeclarationVerified = (0, _metavariable.default)(metavariableDeclarationNode, fileContext);
|
|
70
|
-
topLevelDeclarationVerified = metavariableDeclarationVerified; ///
|
|
71
|
-
}
|
|
72
|
-
return topLevelDeclarationVerified;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdG9wTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlSdWxlIGZyb20gXCIuLi8uLi92ZXJpZnkvcnVsZVwiO1xuaW1wb3J0IHZlcmlmeUF4aW9tIGZyb20gXCIuLi8uLi92ZXJpZnkvYXhpb21cIjtcbmltcG9ydCB2ZXJpZnlMZW1tYSBmcm9tIFwiLi4vLi4vdmVyaWZ5L2xlbW1hXCI7XG5pbXBvcnQgdmVyaWZ5VGhlb3JlbSBmcm9tIFwiLi4vLi4vdmVyaWZ5L3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlNZXRhTGVtbWEgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhTGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlDb25qZWN0dXJlIGZyb20gXCIuLi8uLi92ZXJpZnkvY29uamVjdHVyZVwiO1xuaW1wb3J0IHZlcmlmeU1ldGF0aGVvcmVtIGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXRoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlUeXBlRGVjbGFyYXRpb24gZnJvbSBcIi4uLy4uL3ZlcmlmeS9kZWNsYXJhdGlvbi90eXBlXCI7XG5pbXBvcnQgdmVyaWZ5VmFyaWFibGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgdmVyaWZ5Q29tYmluYXRvckRlY2xhcmF0aW9uIGZyb20gXCIuLi8uLi92ZXJpZnkvZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IHZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24gZnJvbSBcIi4uLy4uL3ZlcmlmeS9kZWNsYXJhdGlvbi9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIGZyb20gXCIuLi8uLi92ZXJpZnkvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcnVsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL3J1bGUhXCIpLFxuICAgICAgYXhpb21Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi9heGlvbSFcIiksXG4gICAgICBsZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL2xlbW1hIVwiKSxcbiAgICAgIHRoZW9yZW1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi90aGVvcmVtIVwiKSxcbiAgICAgIG1ldGFMZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL21ldGFMZW1tYSFcIiksXG4gICAgICBjb25qZWN0dXJlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RvcExldmVsRGVjbGFyYXRpb24vY29uamVjdHVyZSFcIiksXG4gICAgICBtZXRhdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL21ldGF0aGVvcmVtIVwiKSxcbiAgICAgIHR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL3R5cGVEZWNsYXJhdGlvbiFcIiksXG4gICAgICB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RvcExldmVsRGVjbGFyYXRpb24vdmFyaWFibGVEZWNsYXJhdGlvbiFcIiksXG4gICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi9jb21iaW5hdG9yRGVjbGFyYXRpb24hXCIpLFxuICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24hXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi9tZXRhdmFyaWFibGVEZWNsYXJhdGlvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVRvcExldmVsRGVjbGFyYXRpb24odG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBub2RlID0gdG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGUsIC8vL1xuICAgICAgICBydWxlTm9kZSA9IHJ1bGVOb2RlUXVlcnkobm9kZSksXG4gICAgICAgIGF4aW9tTm9kZSA9IGF4aW9tTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICBsZW1tYU5vZGUgPSBsZW1tYU5vZGVRdWVyeShub2RlKSxcbiAgICAgICAgdGhlb3JlbU5vZGUgPSB0aGVvcmVtTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICBtZXRhTGVtbWFOb2RlID0gbWV0YUxlbW1hTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICBjb25qZWN0dXJlTm9kZSA9IGNvbmplY3R1cmVOb2RlUXVlcnkobm9kZSksXG4gICAgICAgIG1ldGF0aGVvcmVtTm9kZSA9IG1ldGF0aGVvcmVtTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICB0eXBlRGVjbGFyYXRpb25Ob2RlID0gdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSA9IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkobm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgPSBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkobm9kZSksXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeShub2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlID0gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkobm9kZSk7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAocnVsZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBydWxlVmVyaWZpZWQgPSB2ZXJpZnlSdWxlKHJ1bGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBydWxlVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmIChheGlvbU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBheGlvbVZlcmlmaWVkID0gdmVyaWZ5QXhpb20oYXhpb21Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBheGlvbVZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSBpZiAobGVtbWFOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbGVtbWFWZXJpZmllZCA9IHZlcmlmeUxlbW1hKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gbGVtbWFWZXJpZmllZDsgIC8vL1xuICB9IGVsc2UgaWYgKHRoZW9yZW1Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGhlb3JlbVZlcmlmaWVkID0gdmVyaWZ5VGhlb3JlbSh0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gdGhlb3JlbVZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSBpZiAobWV0YUxlbW1hTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFMZW1tYVZlcmlmaWVkID0gdmVyaWZ5TWV0YUxlbW1hKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IG1ldGFMZW1tYVZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSBpZiAoY29uamVjdHVyZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb25qZWN0dXJlVmVyaWZpZWQgPSB2ZXJpZnlDb25qZWN0dXJlKGNvbmplY3R1cmVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb25qZWN0dXJlVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmIChtZXRhdGhlb3JlbU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhdGhlb3JlbVZlcmlmaWVkID0gdmVyaWZ5TWV0YXRoZW9yZW0obWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBtZXRhdGhlb3JlbVZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSBpZiAodHlwZURlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSBpZiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlWYXJpYWJsZURlY2xhcmF0aW9uKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmIChjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlDb21iaW5hdG9yRGVjbGFyYXRpb24oY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmIChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24oY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDsgIC8vL1xuICB9IGVsc2UgaWYgKG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbihtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7ICAvLy9cbiAgfVxuXG4gIHJldHVybiB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbiIsInJ1bGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJheGlvbU5vZGVRdWVyeSIsImxlbW1hTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGVRdWVyeSIsIm1ldGFMZW1tYU5vZGVRdWVyeSIsImNvbmplY3R1cmVOb2RlUXVlcnkiLCJtZXRhdGhlb3JlbU5vZGVRdWVyeSIsInR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJ0b3BMZXZlbERlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwidG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkIiwibm9kZSIsInJ1bGVOb2RlIiwiYXhpb21Ob2RlIiwibGVtbWFOb2RlIiwidGhlb3JlbU5vZGUiLCJtZXRhTGVtbWFOb2RlIiwiY29uamVjdHVyZU5vZGUiLCJtZXRhdGhlb3JlbU5vZGUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJydWxlVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlIiwiYXhpb21WZXJpZmllZCIsInZlcmlmeUF4aW9tIiwibGVtbWFWZXJpZmllZCIsInZlcmlmeUxlbW1hIiwidGhlb3JlbVZlcmlmaWVkIiwidmVyaWZ5VGhlb3JlbSIsIm1ldGFMZW1tYVZlcmlmaWVkIiwidmVyaWZ5TWV0YUxlbW1hIiwiY29uamVjdHVyZVZlcmlmaWVkIiwidmVyaWZ5Q29uamVjdHVyZSIsIm1ldGF0aGVvcmVtVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdGhlb3JlbSIsInR5cGVEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5VHlwZURlY2xhcmF0aW9uIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5VmFyaWFibGVEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5Q29tYmluYXRvckRlY2xhcmF0aW9uIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOEJBOzs7ZUFBd0JBOzs7MkRBNUJEOzREQUNDOzREQUNBOzhEQUNFO2dFQUNFO2lFQUNDO2tFQUNDOzJEQUNJOytEQUNJO2lFQUNFO2tFQUNDO21FQUNDO3FCQUVoQjs7Ozs7O0FBRTFCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQywrQkFDMUJDLGlCQUFpQkQsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDM0JFLGlCQUFpQkYsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDM0JHLG1CQUFtQkgsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDN0JJLHFCQUFxQkosSUFBQUEsZ0JBQVMsRUFBQyxvQ0FDL0JLLHNCQUFzQkwsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDaENNLHVCQUF1Qk4sSUFBQUEsZ0JBQVMsRUFBQyxzQ0FDakNPLDJCQUEyQlAsSUFBQUEsZ0JBQVMsRUFBQywwQ0FDckNRLCtCQUErQlIsSUFBQUEsZ0JBQVMsRUFBQyw4Q0FDekNTLGlDQUFpQ1QsSUFBQUEsZ0JBQVMsRUFBQyxnREFDM0NVLGtDQUFrQ1YsSUFBQUEsZ0JBQVMsRUFBQyxpREFDNUNXLG1DQUFtQ1gsSUFBQUEsZ0JBQVMsRUFBQztBQUVwQyxTQUFTRiwwQkFBMEJjLHVCQUF1QixFQUFFQyxXQUFXO0lBQ3BGLElBQUlDLDhCQUE4QjtJQUVsQyxJQUFNQyxPQUFPSCx5QkFDUEksV0FBV2pCLGNBQWNnQixPQUN6QkUsWUFBWWhCLGVBQWVjLE9BQzNCRyxZQUFZaEIsZUFBZWEsT0FDM0JJLGNBQWNoQixpQkFBaUJZLE9BQy9CSyxnQkFBZ0JoQixtQkFBbUJXLE9BQ25DTSxpQkFBaUJoQixvQkFBb0JVLE9BQ3JDTyxrQkFBa0JoQixxQkFBcUJTLE9BQ3ZDUSxzQkFBc0JoQix5QkFBeUJRLE9BQy9DUywwQkFBMEJoQiw2QkFBNkJPLE9BQ3ZEVSw0QkFBNEJoQiwrQkFBK0JNLE9BQzNEVyw2QkFBNkJoQixnQ0FBZ0NLLE9BQzdEWSw4QkFBOEJoQixpQ0FBaUNJO0lBRXJFLElBQUksT0FBTztJQUNULEdBQUc7SUFDTCxPQUFPLElBQUlDLGFBQWEsTUFBTTtRQUM1QixJQUFNWSxlQUFlQyxJQUFBQSxhQUFVLEVBQUNiLFVBQVVIO1FBRTFDQyw4QkFBOEJjLGNBQWUsR0FBRztJQUNsRCxPQUFPLElBQUlYLGNBQWMsTUFBTTtRQUM3QixJQUFNYSxnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ2QsV0FBV0o7UUFFN0NDLDhCQUE4QmdCLGVBQWdCLEdBQUc7SUFDbkQsT0FBTyxJQUFJWixjQUFjLE1BQU07UUFDN0IsSUFBTWMsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNmLFdBQVdMO1FBRTdDQyw4QkFBOEJrQixlQUFnQixHQUFHO0lBQ25ELE9BQU8sSUFBSWIsZ0JBQWdCLE1BQU07UUFDL0IsSUFBTWUsa0JBQWtCQyxJQUFBQSxnQkFBYSxFQUFDaEIsYUFBYU47UUFFbkRDLDhCQUE4Qm9CLGlCQUFrQixHQUFHO0lBQ3JELE9BQU8sSUFBSWQsa0JBQWtCLE1BQU07UUFDakMsSUFBTWdCLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ2pCLGVBQWVQO1FBRXpEQyw4QkFBOEJzQixtQkFBb0IsR0FBRztJQUN2RCxPQUFPLElBQUlmLG1CQUFtQixNQUFNO1FBQ2xDLElBQU1pQixxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDbEIsZ0JBQWdCUjtRQUU1REMsOEJBQThCd0Isb0JBQXFCLEdBQUc7SUFDeEQsT0FBTyxJQUFJaEIsb0JBQW9CLE1BQU07UUFDbkMsSUFBTWtCLHNCQUFzQkMsSUFBQUEsb0JBQWlCLEVBQUNuQixpQkFBaUJUO1FBRS9EQyw4QkFBOEIwQixxQkFBc0IsR0FBRztJQUN6RCxPQUFPLElBQUlqQix3QkFBd0IsTUFBTTtRQUN2QyxJQUFNbUIsMEJBQTBCQyxJQUFBQSxhQUFxQixFQUFDcEIscUJBQXFCVjtRQUUzRUMsOEJBQThCNEIseUJBQTBCLEdBQUc7SUFDN0QsT0FBTyxJQUFJbEIsNEJBQTRCLE1BQU07UUFDM0MsSUFBTW9CLDhCQUE4QkMsSUFBQUEsaUJBQXlCLEVBQUNyQix5QkFBeUJYO1FBRXZGQyw4QkFBOEI4Qiw2QkFBOEIsR0FBRztJQUNqRSxPQUFPLElBQUluQiw4QkFBOEIsTUFBTTtRQUM3QyxJQUFNcUIsZ0NBQWdDQyxJQUFBQSxtQkFBMkIsRUFBQ3RCLDJCQUEyQlo7UUFFN0ZDLDhCQUE4QmdDLCtCQUFnQyxHQUFHO0lBQ25FLE9BQU8sSUFBSXBCLCtCQUErQixNQUFNO1FBQzlDLElBQU1zQixpQ0FBaUNDLElBQUFBLG9CQUE0QixFQUFDdkIsNEJBQTRCYjtRQUVoR0MsOEJBQThCa0MsZ0NBQWlDLEdBQUc7SUFDcEUsT0FBTyxJQUFJckIsZ0NBQWdDLE1BQU07UUFDL0MsSUFBTXVCLGtDQUFrQ0MsSUFBQUEscUJBQTZCLEVBQUN4Qiw2QkFBNkJkO1FBRW5HQyw4QkFBOEJvQyxpQ0FBa0MsR0FBRztJQUNyRTtJQUVBLE9BQU9wQztBQUNUIn0=
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyRule from "../../verify/rule";
|
|
4
|
-
import verifyAxiom from "../../verify/axiom";
|
|
5
|
-
import verifyLemma from "../../verify/lemma";
|
|
6
|
-
import verifyTheorem from "../../verify/theorem";
|
|
7
|
-
import verifyMetaLemma from "../../verify/metaLemma";
|
|
8
|
-
import verifyConjecture from "../../verify/conjecture";
|
|
9
|
-
import verifyMetatheorem from "../../verify/metatheorem";
|
|
10
|
-
import verifyTypeDeclaration from "../../verify/declaration/type";
|
|
11
|
-
import verifyVariableDeclaration from "../../verify/declaration/variable";
|
|
12
|
-
import verifyCombinatorDeclaration from "../../verify/declaration/combinator";
|
|
13
|
-
import verifyConstructorDeclaration from "../../verify/declaration/constructor";
|
|
14
|
-
import verifyMetavariableDeclaration from "../../verify/declaration/metavariable";
|
|
15
|
-
|
|
16
|
-
import { nodeQuery } from "../../utilities/query";
|
|
17
|
-
|
|
18
|
-
const ruleNodeQuery = nodeQuery("/topLevelDeclaration/rule!"),
|
|
19
|
-
axiomNodeQuery = nodeQuery("/topLevelDeclaration/axiom!"),
|
|
20
|
-
lemmaNodeQuery = nodeQuery("/topLevelDeclaration/lemma!"),
|
|
21
|
-
theoremNodeQuery = nodeQuery("/topLevelDeclaration/theorem!"),
|
|
22
|
-
metaLemmaNodeQuery = nodeQuery("/topLevelDeclaration/metaLemma!"),
|
|
23
|
-
conjectureNodeQuery = nodeQuery("/topLevelDeclaration/conjecture!"),
|
|
24
|
-
metatheoremNodeQuery = nodeQuery("/topLevelDeclaration/metatheorem!"),
|
|
25
|
-
typeDeclarationNodeQuery = nodeQuery("/topLevelDeclaration/typeDeclaration!"),
|
|
26
|
-
variableDeclarationNodeQuery = nodeQuery("/topLevelDeclaration/variableDeclaration!"),
|
|
27
|
-
combinatorDeclarationNodeQuery = nodeQuery("/topLevelDeclaration/combinatorDeclaration!"),
|
|
28
|
-
constructorDeclarationNodeQuery = nodeQuery("/topLevelDeclaration/constructorDeclaration!"),
|
|
29
|
-
metavariableDeclarationNodeQuery = nodeQuery("/topLevelDeclaration/metavariableDeclaration!");
|
|
30
|
-
|
|
31
|
-
export default function verifyTopLevelDeclaration(topLevelDeclarationNode, fileContext) {
|
|
32
|
-
let topLevelDeclarationVerified = false;
|
|
33
|
-
|
|
34
|
-
const node = topLevelDeclarationNode, ///
|
|
35
|
-
ruleNode = ruleNodeQuery(node),
|
|
36
|
-
axiomNode = axiomNodeQuery(node),
|
|
37
|
-
lemmaNode = lemmaNodeQuery(node),
|
|
38
|
-
theoremNode = theoremNodeQuery(node),
|
|
39
|
-
metaLemmaNode = metaLemmaNodeQuery(node),
|
|
40
|
-
conjectureNode = conjectureNodeQuery(node),
|
|
41
|
-
metatheoremNode = metatheoremNodeQuery(node),
|
|
42
|
-
typeDeclarationNode = typeDeclarationNodeQuery(node),
|
|
43
|
-
variableDeclarationNode = variableDeclarationNodeQuery(node),
|
|
44
|
-
combinatorDeclarationNode = combinatorDeclarationNodeQuery(node),
|
|
45
|
-
constructorDeclarationNode = constructorDeclarationNodeQuery(node),
|
|
46
|
-
metavariableDeclarationNode = metavariableDeclarationNodeQuery(node);
|
|
47
|
-
|
|
48
|
-
if (false) {
|
|
49
|
-
///
|
|
50
|
-
} else if (ruleNode !== null) {
|
|
51
|
-
const ruleVerified = verifyRule(ruleNode, fileContext);
|
|
52
|
-
|
|
53
|
-
topLevelDeclarationVerified = ruleVerified; ///
|
|
54
|
-
} else if (axiomNode !== null) {
|
|
55
|
-
const axiomVerified = verifyAxiom(axiomNode, fileContext);
|
|
56
|
-
|
|
57
|
-
topLevelDeclarationVerified = axiomVerified; ///
|
|
58
|
-
} else if (lemmaNode !== null) {
|
|
59
|
-
const lemmaVerified = verifyLemma(lemmaNode, fileContext);
|
|
60
|
-
|
|
61
|
-
topLevelDeclarationVerified = lemmaVerified; ///
|
|
62
|
-
} else if (theoremNode !== null) {
|
|
63
|
-
const theoremVerified = verifyTheorem(theoremNode, fileContext);
|
|
64
|
-
|
|
65
|
-
topLevelDeclarationVerified = theoremVerified; ///
|
|
66
|
-
} else if (metaLemmaNode !== null) {
|
|
67
|
-
const metaLemmaVerified = verifyMetaLemma(metaLemmaNode, fileContext);
|
|
68
|
-
|
|
69
|
-
topLevelDeclarationVerified = metaLemmaVerified; ///
|
|
70
|
-
} else if (conjectureNode !== null) {
|
|
71
|
-
const conjectureVerified = verifyConjecture(conjectureNode, fileContext);
|
|
72
|
-
|
|
73
|
-
topLevelDeclarationVerified = conjectureVerified; ///
|
|
74
|
-
} else if (metatheoremNode !== null) {
|
|
75
|
-
const metatheoremVerified = verifyMetatheorem(metatheoremNode, fileContext);
|
|
76
|
-
|
|
77
|
-
topLevelDeclarationVerified = metatheoremVerified; ///
|
|
78
|
-
} else if (typeDeclarationNode !== null) {
|
|
79
|
-
const typeDeclarationVerified = verifyTypeDeclaration(typeDeclarationNode, fileContext);
|
|
80
|
-
|
|
81
|
-
topLevelDeclarationVerified = typeDeclarationVerified; ///
|
|
82
|
-
} else if (variableDeclarationNode !== null) {
|
|
83
|
-
const variableDeclarationVerified = verifyVariableDeclaration(variableDeclarationNode, fileContext);
|
|
84
|
-
|
|
85
|
-
topLevelDeclarationVerified = variableDeclarationVerified; ///
|
|
86
|
-
} else if (combinatorDeclarationNode !== null) {
|
|
87
|
-
const combinatorDeclarationVerified = verifyCombinatorDeclaration(combinatorDeclarationNode, fileContext);
|
|
88
|
-
|
|
89
|
-
topLevelDeclarationVerified = combinatorDeclarationVerified; ///
|
|
90
|
-
} else if (constructorDeclarationNode !== null) {
|
|
91
|
-
const constructorDeclarationVerified = verifyConstructorDeclaration(constructorDeclarationNode, fileContext);
|
|
92
|
-
|
|
93
|
-
topLevelDeclarationVerified = constructorDeclarationVerified; ///
|
|
94
|
-
} else if (metavariableDeclarationNode !== null) {
|
|
95
|
-
const metavariableDeclarationVerified = verifyMetavariableDeclaration(metavariableDeclarationNode, fileContext);
|
|
96
|
-
|
|
97
|
-
topLevelDeclarationVerified = metavariableDeclarationVerified; ///
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return topLevelDeclarationVerified;
|
|
101
|
-
}
|