occam-verify-cli 0.0.677 → 0.0.679
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/bin/action/verify.js +14 -4
- package/lib/conclusion.js +10 -5
- package/lib/consequent.js +8 -3
- package/lib/context/file.js +74 -4
- package/lib/context/release.js +7 -2
- package/lib/equality.js +16 -16
- package/lib/premise.js +12 -7
- package/lib/supposition.js +9 -4
- package/lib/type.js +3 -8
- package/lib/utilities/string.js +26 -13
- package/lib/verifier/node/metastatement.js +173 -0
- package/lib/verifier/node/statementAsCombinator.js +186 -0
- package/lib/verifier/node/termAsConstructor.js +224 -0
- package/lib/verifier/node.js +158 -0
- package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/conclusion.js +13 -12
- package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/premise.js +13 -12
- package/lib/verifier/nodes/metastatementForMetavariable.js +198 -0
- package/lib/verifier/nodes/statement.js +199 -0
- package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/conclusion.js +13 -12
- package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/premise.js +13 -12
- package/lib/verifier/nodes/statementForMetavariable.js +203 -0
- package/lib/verifier/nodes/term.js +212 -0
- package/lib/verifier/{termForVariable/supposition.js → nodes/termForVariable/consequent.js} +13 -12
- package/lib/verifier/{termForVariable/consequent.js → nodes/termForVariable/supposition.js} +13 -12
- package/lib/verifier/nodes/termForVariable.js +209 -0
- package/lib/verifier/nodes.js +175 -0
- package/lib/verify/assertion/type.js +20 -10
- package/lib/verify/axiom.js +3 -3
- package/lib/verify/conclusion.js +3 -3
- package/lib/verify/conjecture.js +3 -3
- package/lib/verify/consequent.js +3 -3
- package/lib/verify/declaration/combinator.js +7 -2
- package/lib/verify/declaration/constructor.js +8 -2
- package/lib/verify/declaration/metavariable.js +7 -2
- package/lib/verify/declaration/type.js +7 -2
- package/lib/verify/declaration/variable.js +8 -2
- package/lib/verify/file.js +3 -3
- package/lib/verify/label.js +9 -4
- package/lib/verify/lemma.js +3 -3
- package/lib/verify/metastatement/qualified.js +5 -6
- package/lib/verify/metastatement/unqualified.js +9 -7
- package/lib/verify/metastatement.js +34 -157
- package/lib/verify/metavariable.js +6 -4
- package/lib/verify/premise.js +3 -3
- package/lib/verify/release.js +3 -3
- package/lib/verify/rule.js +3 -3
- package/lib/verify/statement/qualified.js +5 -6
- package/lib/verify/statement/unqualified.js +9 -7
- package/lib/verify/statement.js +112 -317
- package/lib/verify/statementAsCombinator.js +8 -82
- package/lib/verify/supposition.js +3 -3
- package/lib/verify/term.js +69 -213
- package/lib/verify/termAsConstructor.js +15 -89
- package/lib/verify/theorem.js +3 -3
- package/lib/verify/type.js +7 -5
- package/lib/verify/typeInference.js +5 -5
- package/lib/verify/variable.js +7 -5
- package/package.json +5 -5
- package/src/conclusion.js +5 -4
- package/src/consequent.js +3 -2
- package/src/context/file.js +11 -4
- package/src/context/release.js +9 -2
- package/src/equality.js +10 -10
- package/src/premise.js +7 -6
- package/src/supposition.js +4 -3
- package/src/type.js +3 -8
- package/src/utilities/string.js +34 -23
- package/src/verifier/node/metastatement.js +57 -0
- package/src/verifier/node/statementAsCombinator.js +80 -0
- package/src/verifier/node/termAsConstructor.js +124 -0
- package/src/verifier/node.js +85 -0
- package/src/verifier/nodes/metastatementForMetavariable/conclusion.js +11 -0
- package/src/verifier/nodes/metastatementForMetavariable/premise.js +11 -0
- package/src/verifier/{metastatementForMetavariable.js → nodes/metastatementForMetavariable.js} +6 -6
- package/src/verifier/nodes/statement.js +98 -0
- package/src/verifier/nodes/statementForMetavariable/conclusion.js +11 -0
- package/src/verifier/nodes/statementForMetavariable/premise.js +11 -0
- package/src/verifier/{statementForMetavariable.js → nodes/statementForMetavariable.js} +10 -10
- package/src/verifier/nodes/term.js +111 -0
- package/src/verifier/nodes/termForVariable/consequent.js +11 -0
- package/src/verifier/nodes/termForVariable/supposition.js +11 -0
- package/src/verifier/{termForVariable.js → nodes/termForVariable.js} +9 -9
- package/src/verifier/nodes.js +111 -0
- package/src/verify/assertion/type.js +25 -9
- package/src/verify/axiom.js +2 -2
- package/src/verify/conclusion.js +2 -2
- package/src/verify/conjecture.js +2 -2
- package/src/verify/consequent.js +2 -2
- package/src/verify/declaration/combinator.js +9 -1
- package/src/verify/declaration/constructor.js +15 -1
- package/src/verify/declaration/metavariable.js +9 -1
- package/src/verify/declaration/type.js +14 -1
- package/src/verify/declaration/variable.js +15 -1
- package/src/verify/file.js +2 -2
- package/src/verify/label.js +10 -2
- package/src/verify/lemma.js +4 -4
- package/src/verify/metastatement/qualified.js +4 -6
- package/src/verify/metastatement/unqualified.js +9 -7
- package/src/verify/metastatement.js +32 -57
- package/src/verify/metavariable.js +6 -3
- package/src/verify/premise.js +2 -2
- package/src/verify/release.js +2 -2
- package/src/verify/rule.js +2 -2
- package/src/verify/statement/qualified.js +4 -6
- package/src/verify/statement/unqualified.js +9 -7
- package/src/verify/statement.js +159 -283
- package/src/verify/statementAsCombinator.js +9 -129
- package/src/verify/supposition.js +2 -2
- package/src/verify/term.js +94 -159
- package/src/verify/termAsConstructor.js +20 -135
- package/src/verify/theorem.js +2 -2
- package/src/verify/type.js +7 -4
- package/src/verify/typeInference.js +4 -4
- package/src/verify/variable.js +7 -4
- package/lib/verifier/metastatementForMetavariable.js +0 -198
- package/lib/verifier/statementForMetavariable.js +0 -203
- package/lib/verifier/termForVariable.js +0 -209
- package/lib/verifier.js +0 -138
- package/src/verifier/metastatementForMetavariable/conclusion.js +0 -9
- package/src/verifier/metastatementForMetavariable/premise.js +0 -9
- package/src/verifier/statementForMetavariable/conclusion.js +0 -9
- package/src/verifier/statementForMetavariable/premise.js +0 -9
- package/src/verifier/termForVariable/consequent.js +0 -9
- package/src/verifier/termForVariable/supposition.js +0 -9
- package/src/verifier.js +0 -74
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import verifyVariable from "../../verify/variable";
|
|
4
4
|
|
|
5
5
|
import { nodeQuery } from "../../utilities/query";
|
|
6
|
+
import { EMPTY_STRING } from "../../constants";
|
|
6
7
|
|
|
7
8
|
const typeNodeQuery = nodeQuery("/variableDeclaration/type"),
|
|
8
9
|
variableNodeQuery = nodeQuery("/variableDeclaration/variable");
|
|
@@ -12,9 +13,22 @@ export default function verifyVariableDeclaration(variableDeclarationNode, fileC
|
|
|
12
13
|
|
|
13
14
|
const typeNode = typeNodeQuery(variableDeclarationNode),
|
|
14
15
|
variableNode = variableNodeQuery(variableDeclarationNode),
|
|
15
|
-
|
|
16
|
+
typeString = fileContext.nodeAsString(typeNode),
|
|
17
|
+
variableString = fileContext.nodeAsString(variableNode);
|
|
18
|
+
|
|
19
|
+
(typeString === EMPTY_STRING) ?
|
|
20
|
+
fileContext.trace(`Verifying the '${variableString}' variable declaration...`, variableDeclarationNode) :
|
|
21
|
+
fileContext.trace(`Verifying the '${variableString}:${typeString}' variable declaration...`, variableDeclarationNode);
|
|
22
|
+
|
|
23
|
+
const variableVVerified = verifyVariable(variableNode, typeNode, fileContext);
|
|
16
24
|
|
|
17
25
|
variableDeclarationVerified = variableVVerified; ///
|
|
18
26
|
|
|
27
|
+
if (variableDeclarationVerified) {
|
|
28
|
+
(typeString === EMPTY_STRING) ?
|
|
29
|
+
fileContext.debug(`...verified the '${variableString}' variable declaration.`, variableDeclarationNode) :
|
|
30
|
+
fileContext.debug(`...verified the '${variableString}:${typeString}' variable declaration.`, variableDeclarationNode);
|
|
31
|
+
}
|
|
32
|
+
|
|
19
33
|
return variableDeclarationVerified;
|
|
20
34
|
}
|
package/src/verify/file.js
CHANGED
|
@@ -23,7 +23,7 @@ export default function verifyFile(filePath, releaseContext) {
|
|
|
23
23
|
errorNodesLength = errorNodes.length;
|
|
24
24
|
|
|
25
25
|
if (errorNodesLength > 0) {
|
|
26
|
-
releaseContext.
|
|
26
|
+
releaseContext.info(`The '${filePath}' file cannot be verified because it contains errors.`);
|
|
27
27
|
} else {
|
|
28
28
|
const topLevelDeclarationNodes = topLevelDeclarationNodesQuery(node),
|
|
29
29
|
topLevelDeclarationsVerified = topLevelDeclarationNodes.every((topLevelDeclarationNode) => {
|
|
@@ -43,7 +43,7 @@ export default function verifyFile(filePath, releaseContext) {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
if (fileVerified) {
|
|
46
|
-
releaseContext.info(
|
|
46
|
+
releaseContext.info(`...verified the '${filePath}' file.`);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
return fileVerified;
|
package/src/verify/label.js
CHANGED
|
@@ -8,12 +8,16 @@ export default function verifyLabel(labelNode, labels, fileContext) {
|
|
|
8
8
|
let labelVerified = false;
|
|
9
9
|
|
|
10
10
|
const labelName = labelNameFromLabelNode(labelNode),
|
|
11
|
-
|
|
11
|
+
labelString = fileContext.nodeAsString(labelNode);
|
|
12
|
+
|
|
13
|
+
fileContext.trace(`Verifying the '${labelString}' label...`, labelNode);
|
|
14
|
+
|
|
15
|
+
const labelPresent = fileContext.isLabelPresentByLabelName(labelName);
|
|
12
16
|
|
|
13
17
|
if (labelPresent) {
|
|
14
18
|
const labelString = fileContext.nodeAsString(labelNode);
|
|
15
19
|
|
|
16
|
-
fileContext.
|
|
20
|
+
fileContext.info(`The '${labelString}' label is already present.`, labelNode);
|
|
17
21
|
} else {
|
|
18
22
|
const label = Label.fromLabelNode(labelNode);
|
|
19
23
|
|
|
@@ -22,5 +26,9 @@ export default function verifyLabel(labelNode, labels, fileContext) {
|
|
|
22
26
|
labelVerified = true;
|
|
23
27
|
}
|
|
24
28
|
|
|
29
|
+
if (labelVerified) {
|
|
30
|
+
fileContext.debug(`...verified the '${labelString}' label.`, labelNode);
|
|
31
|
+
}
|
|
32
|
+
|
|
25
33
|
return labelVerified;
|
|
26
34
|
}
|
package/src/verify/lemma.js
CHANGED
|
@@ -24,8 +24,8 @@ export default function verifyLemma(lemmaNode, fileContext) {
|
|
|
24
24
|
proofContext = ProofContext.fromFileContext(fileContext);
|
|
25
25
|
|
|
26
26
|
(labelsString === EMPTY_STRING) ?
|
|
27
|
-
fileContext.
|
|
28
|
-
fileContext.
|
|
27
|
+
fileContext.trace(`Verifying a lemma...`, lemmaNode) :
|
|
28
|
+
fileContext.trace(`Verifying the '${labelsString}' lemma...`, lemmaNode);
|
|
29
29
|
|
|
30
30
|
const labels = [],
|
|
31
31
|
labelsVerified = verifyLabels(labelNodes, labels, fileContext);
|
|
@@ -65,8 +65,8 @@ export default function verifyLemma(lemmaNode, fileContext) {
|
|
|
65
65
|
|
|
66
66
|
if (lemmaVerified) {
|
|
67
67
|
(labelsString === EMPTY_STRING) ?
|
|
68
|
-
fileContext.
|
|
69
|
-
fileContext.
|
|
68
|
+
fileContext.debug(`...verified the lemma.`, lemmaNode) :
|
|
69
|
+
fileContext.debug(`...verified the '${labelsString}' lemma.`, lemmaNode);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
return lemmaVerified;
|
|
@@ -14,7 +14,7 @@ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode,
|
|
|
14
14
|
const metastatementString = metaproofContext.nodeAsString(metastatementNode),
|
|
15
15
|
metastatementMetaproofContext = metaproofContext; ///
|
|
16
16
|
|
|
17
|
-
metaproofContext.
|
|
17
|
+
metaproofContext.trace(`Verifying the '${metastatementString}' qualified metastatement...`, qualifiedMetastatementNode);
|
|
18
18
|
|
|
19
19
|
const referenceNode = referenceNodeQuery(qualifiedMetastatementNode),
|
|
20
20
|
referenceName = referenceNameFromReferenceNode(referenceNode),
|
|
@@ -25,12 +25,10 @@ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode,
|
|
|
25
25
|
|
|
26
26
|
qualifiedMetastatementVerified = ruleMatchesMetastatement; ///
|
|
27
27
|
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (qualifiedMetastatementVerified) {
|
|
31
|
-
const metastatementString = metaproofContext.nodeAsString(metastatementNode);
|
|
32
28
|
|
|
33
|
-
|
|
29
|
+
if (qualifiedMetastatementVerified) {
|
|
30
|
+
metaproofContext.debug(`...verified the '${metastatementString}' qualified metastatement.`, qualifiedMetastatementNode);
|
|
31
|
+
}
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
return qualifiedMetastatementVerified;
|
|
@@ -14,7 +14,7 @@ export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementN
|
|
|
14
14
|
if (metastatementNode !== null) {
|
|
15
15
|
const metastatementString = metaproofContext.nodeAsString(metastatementNode);
|
|
16
16
|
|
|
17
|
-
metaproofContext.
|
|
17
|
+
metaproofContext.trace(`Verifying the '${metastatementString}' unqualified metastatement...`, unqualifiedMetastatementNode);
|
|
18
18
|
|
|
19
19
|
if (derived) {
|
|
20
20
|
const metastatementMatches = metaproofContext.matchMetastatement(metastatementNode);
|
|
@@ -23,16 +23,18 @@ export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementN
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
if (!unqualifiedMetastatementVerified) {
|
|
26
|
-
const metastatementVerified = verifyMetastatement(metastatementNode, derived, metaproofContext)
|
|
26
|
+
const metastatementVerified = verifyMetastatement(metastatementNode, derived, metaproofContext, () => {
|
|
27
|
+
const verifiedAhead = true;
|
|
28
|
+
|
|
29
|
+
return verifiedAhead;
|
|
30
|
+
});
|
|
27
31
|
|
|
28
32
|
unqualifiedMetastatementVerified = metastatementVerified; ///
|
|
29
33
|
}
|
|
30
|
-
}
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
metaproofContext.info(`Verified the '${metastatementString}' unqualified metastatement.`, unqualifiedMetastatementNode);
|
|
35
|
+
if (unqualifiedMetastatementVerified) {
|
|
36
|
+
metaproofContext.debug(`...verified the '${metastatementString}' unqualified metastatement.`, unqualifiedMetastatementNode);
|
|
37
|
+
}
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
return unqualifiedMetastatementVerified;
|
|
@@ -1,80 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import metastatementNodeVerifier from "../verifier/node/metastatement";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
function verifyMetastatement(metastatementNode, derived, metaproofContext, verifyAhead) {
|
|
6
|
+
let metastatementVerified;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, metaproofContext) {
|
|
10
|
-
let nonTerminalNodeVerified = false;
|
|
11
|
-
|
|
12
|
-
const nonTerminalNode = nonTerminalNodeA, ///
|
|
13
|
-
ruleName = nonTerminalNode.getRuleName(); ///
|
|
14
|
-
|
|
15
|
-
switch (ruleName) {
|
|
16
|
-
case METAVARIABLE_RULE_NAME: {
|
|
17
|
-
const metavariableNode = nonTerminalNode, ///
|
|
18
|
-
metavariableNodeVerified = this.verifyMetavariableNode(metavariableNode, metaproofContext);
|
|
19
|
-
|
|
20
|
-
nonTerminalNodeVerified = metavariableNodeVerified; ///
|
|
8
|
+
const metastatementString = metaproofContext.nodeAsString(metastatementNode);
|
|
21
9
|
|
|
22
|
-
|
|
23
|
-
}
|
|
10
|
+
metaproofContext.trace(`Verifying the '${metastatementString}' metastatement...`, metastatementNode);
|
|
24
11
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
nodesB = childNodes, ///
|
|
29
|
-
nodesVerified = this.verifyNodes(nodesA, nodesB, metaproofContext);
|
|
12
|
+
const verifyMetastatementFunctions = [
|
|
13
|
+
verifyStandaloneMetastatement
|
|
14
|
+
];
|
|
30
15
|
|
|
31
|
-
|
|
16
|
+
metastatementVerified = verifyMetastatementFunctions.some((verifyStatementFunction) => {
|
|
17
|
+
const metastatementVerified = verifyStatementFunction(metastatementNode, derived, metaproofContext, verifyAhead);
|
|
32
18
|
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
if (metastatementVerified) {
|
|
20
|
+
return true;
|
|
35
21
|
}
|
|
22
|
+
});
|
|
36
23
|
|
|
37
|
-
|
|
24
|
+
if (metastatementVerified) {
|
|
25
|
+
metaproofContext.debug(`...verified the '${metastatementString}' metastatement.`, metastatementNode);
|
|
38
26
|
}
|
|
39
27
|
|
|
40
|
-
|
|
41
|
-
let metavariableNodeVerified = false;
|
|
42
|
-
|
|
43
|
-
const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
44
|
-
metavariablePresent = metaproofContext.isMetavariablePresentByMetavariableName(metavariableName);
|
|
45
|
-
|
|
46
|
-
if (!metavariablePresent) {
|
|
47
|
-
const metavariableString = metaproofContext.nodeAsString(metavariableNode);
|
|
48
|
-
|
|
49
|
-
metaproofContext.error(`The '${metavariableString}' metavariable is not present.`, metavariableNode);
|
|
50
|
-
} else {
|
|
51
|
-
metavariableNodeVerified = true;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return metavariableNodeVerified;
|
|
55
|
-
}
|
|
28
|
+
return metastatementVerified;
|
|
56
29
|
}
|
|
57
30
|
|
|
58
|
-
|
|
31
|
+
Object.assign(verifyMetastatement, {
|
|
32
|
+
metastatementNodeVerifier
|
|
33
|
+
});
|
|
59
34
|
|
|
60
|
-
export default
|
|
61
|
-
|
|
35
|
+
export default verifyMetastatement;
|
|
36
|
+
|
|
37
|
+
function verifyStandaloneMetastatement(metastatementNode, derived, metaproofContext, verifyAhead) {
|
|
38
|
+
let standaloneMetastatementVerified;
|
|
62
39
|
|
|
63
40
|
const metastatementString = metaproofContext.nodeAsString(metastatementNode);
|
|
64
41
|
|
|
65
|
-
metaproofContext.
|
|
42
|
+
metaproofContext.trace(`Verifying the '${metastatementString}' standalone metastatement...`, metastatementNode);
|
|
66
43
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
nonTerminalNodeB = metastatementNode, ///
|
|
70
|
-
nonTerminalNodeVerified = metastatementVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, metaproofContext);
|
|
44
|
+
const nonTerminalNode = metastatementNode, ///
|
|
45
|
+
nonTerminalNodeVerified = metastatementNodeVerifier.verifyNonTerminalNode(nonTerminalNode, metaproofContext);
|
|
71
46
|
|
|
72
|
-
|
|
73
|
-
}
|
|
47
|
+
standaloneMetastatementVerified = nonTerminalNodeVerified; ///
|
|
74
48
|
|
|
75
|
-
if (
|
|
76
|
-
metaproofContext.debug(
|
|
49
|
+
if (standaloneMetastatementVerified) {
|
|
50
|
+
metaproofContext.debug(`...verified the '${metastatementString}' standalone metastatement.`, metastatementNode);
|
|
77
51
|
}
|
|
78
52
|
|
|
79
|
-
return
|
|
80
|
-
|
|
53
|
+
return standaloneMetastatementVerified;
|
|
54
|
+
|
|
55
|
+
}
|
|
@@ -7,12 +7,15 @@ import { metaTypeNameFromMetaTypeNode, metavariableNameFromMetavariableNode } fr
|
|
|
7
7
|
export default function verifyMetavariable(metavariableNode, metaTypeNode, fileContext) {
|
|
8
8
|
let metavariableVerified = false;
|
|
9
9
|
|
|
10
|
+
const metavariableString = fileContext.nodeAsString(metavariableNode);
|
|
11
|
+
|
|
12
|
+
fileContext.trace(`Verifying the '${metavariableString}' metavariable...`, metavariableNode);
|
|
13
|
+
|
|
10
14
|
const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
11
|
-
metavariableString = fileContext.nodeAsString(metavariableNode),
|
|
12
15
|
metavariablePresent = fileContext.isMetavariablePresentByMetavariableName(metavariableName);
|
|
13
16
|
|
|
14
17
|
if (metavariablePresent) {
|
|
15
|
-
fileContext.
|
|
18
|
+
fileContext.info(`The metavariable '${metavariableName}' is already present.`, metavariableNode);
|
|
16
19
|
} else {
|
|
17
20
|
const metaTypeName = metaTypeNameFromMetaTypeNode(metaTypeNode),
|
|
18
21
|
metaType = fileContext.findMetaTypeByMetaTypeName(metaTypeName),
|
|
@@ -25,7 +28,7 @@ export default function verifyMetavariable(metavariableNode, metaTypeNode, fileC
|
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
if (metavariableVerified) {
|
|
28
|
-
fileContext.
|
|
31
|
+
fileContext.debug(`...verified the '${metavariableString}' metavariable.`, metavariableNode);
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
return metavariableVerified;
|
package/src/verify/premise.js
CHANGED
|
@@ -14,7 +14,7 @@ export default function verifyPremise(premiseNode, premises, metaproofContext) {
|
|
|
14
14
|
|
|
15
15
|
const premiseString = metaproofContext.nodeAsString(premiseNode);
|
|
16
16
|
|
|
17
|
-
metaproofContext.
|
|
17
|
+
metaproofContext.trace(`Verifying the '${premiseString}' premise...`, premiseNode);
|
|
18
18
|
|
|
19
19
|
const derived = false,
|
|
20
20
|
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(premiseNode),
|
|
@@ -33,7 +33,7 @@ export default function verifyPremise(premiseNode, premises, metaproofContext) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
if (premiseVerified) {
|
|
36
|
-
metaproofContext.
|
|
36
|
+
metaproofContext.debug(`...verified the '${premiseString}' premise.`, premiseNode);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
return premiseVerified;
|
package/src/verify/release.js
CHANGED
|
@@ -16,7 +16,7 @@ export default function verifyRelease(releaseName, releaseContextMap) {
|
|
|
16
16
|
if (verified) {
|
|
17
17
|
releaseVerified = true;
|
|
18
18
|
} else {
|
|
19
|
-
releaseContext.
|
|
19
|
+
releaseContext.info(`Verifying the '${releaseName}' project...`);
|
|
20
20
|
|
|
21
21
|
const releaseFilesVerified = verifyReleaseFiles(releaseContext);
|
|
22
22
|
|
|
@@ -29,7 +29,7 @@ export default function verifyRelease(releaseName, releaseContextMap) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
if (releaseVerified) {
|
|
32
|
-
releaseContext.info(
|
|
32
|
+
releaseContext.info(`...verified the '${releaseName}' project.`);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
package/src/verify/rule.js
CHANGED
|
@@ -22,7 +22,7 @@ export default function verifyRule(ruleNode, fileContext) {
|
|
|
22
22
|
labelsString = fileContext.nodesAsString(labelNodes),
|
|
23
23
|
metaProofContext = MetaproofContext.fromFileContext(fileContext);
|
|
24
24
|
|
|
25
|
-
fileContext.
|
|
25
|
+
fileContext.trace(`Verifying the '${labelsString}' rule...`, ruleNode);
|
|
26
26
|
|
|
27
27
|
const labels = [],
|
|
28
28
|
labelsVerified = verifyLabels(labelNodes, labels, fileContext);
|
|
@@ -66,7 +66,7 @@ export default function verifyRule(ruleNode, fileContext) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
if (ruleVerified) {
|
|
69
|
-
fileContext.
|
|
69
|
+
fileContext.debug(`...verified the '${labelsString}' rule.`, ruleNode);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
return ruleVerified;
|
|
@@ -14,7 +14,7 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
|
|
|
14
14
|
const statementString = proofContext.nodeAsString(statementNode),
|
|
15
15
|
statementProofContext = proofContext; ///
|
|
16
16
|
|
|
17
|
-
proofContext.
|
|
17
|
+
proofContext.trace(`Verifying the '${statementString}' qualified statement...`, qualifiedStatementNode);
|
|
18
18
|
|
|
19
19
|
const referenceNode = referenceNodeQuery(qualifiedStatementNode),
|
|
20
20
|
referenceName = referenceNameFromReferenceNode(referenceNode);
|
|
@@ -68,12 +68,10 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
|
|
|
68
68
|
qualifiedStatementVerified = conjectureMatchesStatement; ///
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (qualifiedStatementVerified) {
|
|
74
|
-
const statementString = proofContext.nodeAsString(statementNode);
|
|
75
71
|
|
|
76
|
-
|
|
72
|
+
if (qualifiedStatementVerified) {
|
|
73
|
+
proofContext.debug(`...verified the '${statementString}' qualified statement.`, qualifiedStatementNode);
|
|
74
|
+
}
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
return qualifiedStatementVerified;
|
|
@@ -14,7 +14,7 @@ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, ass
|
|
|
14
14
|
if (statementNode !== null) {
|
|
15
15
|
const statementString = proofContext.nodeAsString(statementNode);
|
|
16
16
|
|
|
17
|
-
proofContext.
|
|
17
|
+
proofContext.trace(`Verifying the '${statementString}' unqualified statement...`, unqualifiedStatementNode);
|
|
18
18
|
|
|
19
19
|
if (derived) {
|
|
20
20
|
const statementMatches = proofContext.matchStatement(statementNode);
|
|
@@ -24,16 +24,18 @@ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, ass
|
|
|
24
24
|
|
|
25
25
|
if (!unqualifiedStatementVerified) {
|
|
26
26
|
const context = proofContext, ///
|
|
27
|
-
statementVerified = verifyStatement(statementNode, assignments, derived, context)
|
|
27
|
+
statementVerified = verifyStatement(statementNode, assignments, derived, context, () => {
|
|
28
|
+
const verifiedAhead = true;
|
|
29
|
+
|
|
30
|
+
return verifiedAhead;
|
|
31
|
+
});
|
|
28
32
|
|
|
29
33
|
unqualifiedStatementVerified = statementVerified; ///
|
|
30
34
|
}
|
|
31
|
-
}
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
proofContext.info(`Verified the '${statementString}' unqualified statement.`, unqualifiedStatementNode);
|
|
36
|
+
if (unqualifiedStatementVerified) {
|
|
37
|
+
proofContext.debug(`...verified the '${statementString}' unqualified statement.`, unqualifiedStatementNode);
|
|
38
|
+
}
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
return unqualifiedStatementVerified;
|