occam-verify-cli 0.0.922 → 0.0.924
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/axiom.js +9 -9
- package/lib/conclusion.js +11 -41
- package/lib/conjecture.js +9 -9
- package/lib/constants.js +1 -13
- package/lib/context/file.js +3 -3
- package/lib/context/local.js +19 -59
- package/lib/declaration.js +15 -15
- package/lib/lemma.js +9 -9
- package/lib/metaLemma.js +7 -7
- package/lib/metatheorem.js +7 -7
- package/lib/metavariable.js +8 -1
- package/lib/mixins/nodesVerifier/metaLevel.js +6 -6
- package/lib/premise.js +14 -91
- package/lib/{step/proof.js → proofStep.js} +1 -1
- package/lib/rule.js +1 -45
- package/lib/ruleNames.js +1 -9
- package/lib/substitution/statementForMetavariable.js +9 -1
- package/lib/substitution.js +1 -8
- package/lib/supposition.js +55 -1
- package/lib/theorem.js +9 -9
- package/lib/topLevelAssertion.js +186 -0
- package/lib/utilities/customGrammar.js +2 -2
- package/lib/utilities/match.js +13 -50
- package/lib/utilities/node.js +2 -27
- package/lib/utilities/tokens.js +1 -8
- package/lib/utilities/verify.js +8 -24
- package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +29 -29
- package/lib/verifier/nodes/metaLevel.js +13 -13
- package/lib/verify/axiom.js +4 -4
- package/lib/verify/conclusion.js +10 -11
- package/lib/verify/conjecture.js +4 -4
- package/lib/verify/containedAssertion.js +91 -0
- package/lib/verify/declaration.js +7 -7
- package/lib/verify/definedAssertion.js +115 -0
- package/lib/verify/derivation.js +7 -7
- package/lib/verify/frame.js +2 -2
- package/lib/verify/judgement.js +2 -2
- package/lib/verify/lemma.js +5 -5
- package/lib/verify/metaLemma.js +12 -12
- package/lib/verify/metastatement.js +48 -67
- package/lib/verify/metatheorem.js +12 -12
- package/lib/verify/metavariable.js +2 -2
- package/lib/verify/premise.js +11 -30
- package/lib/verify/proof.js +3 -3
- package/lib/verify/proofStep.js +8 -8
- package/lib/verify/rule.js +10 -10
- package/lib/verify/statement/qualified.js +38 -15
- package/lib/verify/statement/unqualified.js +38 -10
- package/lib/verify/statement.js +85 -92
- package/lib/verify/subDerivation.js +3 -3
- package/lib/verify/subproof.js +3 -3
- package/lib/verify/supposition.js +3 -3
- package/lib/verify/termAsConstructor.js +2 -2
- package/lib/verify/theorem.js +4 -4
- package/package.json +2 -2
- package/src/axiom.js +4 -4
- package/src/conclusion.js +13 -52
- package/src/conjecture.js +4 -4
- package/src/constants.js +0 -3
- package/src/context/file.js +2 -2
- package/src/context/local.js +21 -67
- package/src/declaration.js +19 -19
- package/src/lemma.js +4 -4
- package/src/metaLemma.js +4 -4
- package/src/metatheorem.js +4 -4
- package/src/metavariable.js +6 -0
- package/src/mixins/nodesVerifier/metaLevel.js +8 -8
- package/src/premise.js +20 -137
- package/src/rule.js +0 -67
- package/src/ruleNames.js +0 -2
- package/src/substitution/statementForMetavariable.js +14 -0
- package/src/substitution.js +0 -6
- package/src/supposition.js +46 -0
- package/src/theorem.js +4 -4
- package/src/{axiomLemmaTheoremConjecture.js → topLevelAssertion.js} +36 -23
- package/src/utilities/customGrammar.js +1 -2
- package/src/utilities/match.js +13 -60
- package/src/utilities/node.js +3 -32
- package/src/utilities/tokens.js +0 -8
- package/src/utilities/verify.js +4 -20
- package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +36 -37
- package/src/verifier/nodes/metaLevel.js +17 -17
- package/src/verify/axiom.js +5 -4
- package/src/verify/conclusion.js +9 -13
- package/src/verify/conjecture.js +5 -4
- package/src/verify/{statementAsContainedAssertion.js → containedAssertion.js} +20 -36
- package/src/verify/declaration.js +8 -8
- package/src/verify/{statementAsDefinedAssertion.js → definedAssertion.js} +22 -37
- package/src/verify/derivation.js +6 -6
- package/src/verify/frame.js +1 -1
- package/src/verify/judgement.js +1 -1
- package/src/verify/lemma.js +8 -5
- package/src/verify/metaLemma.js +24 -24
- package/src/verify/metastatement.js +48 -76
- package/src/verify/metatheorem.js +23 -23
- package/src/verify/metavariable.js +1 -1
- package/src/verify/premise.js +14 -46
- package/src/verify/proof.js +2 -2
- package/src/verify/proofStep.js +4 -4
- package/src/verify/rule.js +11 -11
- package/src/verify/statement/qualified.js +56 -21
- package/src/verify/statement/unqualified.js +52 -10
- package/src/verify/statement.js +133 -39
- package/src/verify/subDerivation.js +2 -2
- package/src/verify/subproof.js +2 -2
- package/src/verify/supposition.js +1 -1
- package/src/verify/termAsConstructor.js +2 -2
- package/src/verify/theorem.js +7 -4
- package/lib/axiomLemmaTheoremConjecture.js +0 -174
- package/lib/metaConsequent.js +0 -108
- package/lib/metaLemmaMetatheorem.js +0 -191
- package/lib/metaSupposition.js +0 -160
- package/lib/node/metastatement/bracketed.js +0 -16
- package/lib/step/metaproof.js +0 -106
- package/lib/substitution/metastatementForMetavariable.js +0 -173
- package/lib/verify/metaConsequent.js +0 -50
- package/lib/verify/metaDerivation.js +0 -31
- package/lib/verify/metaSubDerivation.js +0 -25
- package/lib/verify/metaSubproof.js +0 -34
- package/lib/verify/metaSupposition.js +0 -61
- package/lib/verify/metaSuppositions.js +0 -28
- package/lib/verify/metaproof.js +0 -31
- package/lib/verify/metaproofStep.js +0 -98
- package/lib/verify/metastatement/qualified.js +0 -95
- package/lib/verify/metastatement/unqualified.js +0 -37
- package/lib/verify/metastatementAsContainedAssertion.js +0 -109
- package/lib/verify/metastatementAsDefinedAssertion.js +0 -132
- package/lib/verify/metavariableAgainstMetastatement.js +0 -44
- package/lib/verify/statementAsContainedAssertion.js +0 -109
- package/lib/verify/statementAsDefinedAssertion.js +0 -132
- package/src/metaConsequent.js +0 -83
- package/src/metaLemmaMetatheorem.js +0 -188
- package/src/metaSupposition.js +0 -127
- package/src/node/metastatement/bracketed.js +0 -9
- package/src/step/metaproof.js +0 -73
- package/src/substitution/metastatementForMetavariable.js +0 -90
- package/src/verify/metaConsequent.js +0 -61
- package/src/verify/metaDerivation.js +0 -23
- package/src/verify/metaSubDerivation.js +0 -22
- package/src/verify/metaSubproof.js +0 -32
- package/src/verify/metaSupposition.js +0 -78
- package/src/verify/metaSuppositions.js +0 -17
- package/src/verify/metaproof.js +0 -28
- package/src/verify/metaproofStep.js +0 -137
- package/src/verify/metastatement/qualified.js +0 -130
- package/src/verify/metastatement/unqualified.js +0 -34
- package/src/verify/metastatementAsContainedAssertion.js +0 -127
- package/src/verify/metastatementAsDefinedAssertion.js +0 -156
- package/src/verify/metavariableAgainstMetastatement.js +0 -42
- /package/src/{step/proof.js → proofStep.js} +0 -0
package/src/metaSupposition.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import LocalContext from "./context/local";
|
|
4
|
-
import metaLevelNodesVerifier from "./verifier/nodes/metaLevel";
|
|
5
|
-
|
|
6
|
-
import { match } from "./utilities/array";
|
|
7
|
-
import { nodeAsString } from "./utilities/string";
|
|
8
|
-
import { nodeQuery, nodesQuery } from "./utilities/query";
|
|
9
|
-
import { statementNodeFromStatementString, metastatementNodeFromMetastatementString } from "./utilities/node";
|
|
10
|
-
|
|
11
|
-
const subproofAssertionNodeQuery = nodeQuery("/metastatement/subproofAssertion!"),
|
|
12
|
-
subproofAssertionMetastatementNodesQuery = nodesQuery("/subproofAssertion/metastatement"),
|
|
13
|
-
metaSubproofMetaSuppositionMetastatementNodesQuery = nodesQuery("/metaSubproof/metaSupposition/unqualifiedMetastatement/metastatement!"),
|
|
14
|
-
metaSubproofLastMetpProofStepMetastatementNodeQuery = nodeQuery("/metaSubproof/metaSubDerivation/lastMetpProofStep/unqualifiedMetastatement|qualifiedMetastatement/metastatement!");
|
|
15
|
-
|
|
16
|
-
export default class MetaSupposition {
|
|
17
|
-
constructor(metastatementNode, statementNode) {
|
|
18
|
-
this.metastatementNode = metastatementNode;
|
|
19
|
-
this.statementNode = statementNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getMetastatementNode() {
|
|
23
|
-
return this.metastatementNode;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
getStatementNode() {
|
|
27
|
-
return this.statementNode;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
matchMetaSubproofNode(metaSubproofNode, substitutions, fileContext, localContext) {
|
|
31
|
-
let matchesMetaSubproofNode = false;
|
|
32
|
-
|
|
33
|
-
if (this.metastatementNode !== null) {
|
|
34
|
-
const subproofAssertionNode = subproofAssertionNodeQuery(this.metastatementNode);
|
|
35
|
-
|
|
36
|
-
if (subproofAssertionNode !== null) {
|
|
37
|
-
const metaSubproofMetaSuppositionMetastatementNodes = metaSubproofMetaSuppositionMetastatementNodesQuery(metaSubproofNode),
|
|
38
|
-
metaSubproofLastMetpProofStepMetastatementNode = metaSubproofLastMetpProofStepMetastatementNodeQuery(metaSubproofNode),
|
|
39
|
-
metaSubproofMetastatementNodes = [
|
|
40
|
-
...metaSubproofMetaSuppositionMetastatementNodes,
|
|
41
|
-
metaSubproofLastMetpProofStepMetastatementNode
|
|
42
|
-
],
|
|
43
|
-
subproofAssertionMetastatementNodes = subproofAssertionMetastatementNodesQuery(subproofAssertionNode);
|
|
44
|
-
|
|
45
|
-
matchesMetaSubproofNode = match(subproofAssertionMetastatementNodes, metaSubproofMetastatementNodes, (subproofAssertionMetastatementNode, ruleSubproofMetastatementNode) => {
|
|
46
|
-
const fileContextA = fileContext, ///
|
|
47
|
-
nonTerminalNodeA = subproofAssertionMetastatementNode, ///
|
|
48
|
-
nonTerminalNodeB = ruleSubproofMetastatementNode, ///
|
|
49
|
-
localContextA = LocalContext.fromFileContext(fileContextA), ///
|
|
50
|
-
localContextB = localContext, ///
|
|
51
|
-
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
52
|
-
const verifiedAhead = true;
|
|
53
|
-
|
|
54
|
-
return verifiedAhead;
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
if (nonTerminalNodeVerified) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return matchesMetaSubproofNode;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
matchMetastatementNode(metastatementNode, substitutions, fileContext, localContext) {
|
|
68
|
-
let matchesMetastatementNode = false;
|
|
69
|
-
|
|
70
|
-
if (this.metastatementNode !== null) {
|
|
71
|
-
const fileContextA = fileContext, ///
|
|
72
|
-
nonTerminalNodeA = this.metastatementNode, ///
|
|
73
|
-
nonTerminalNodeB = metastatementNode, ///
|
|
74
|
-
localContextA = LocalContext.fromFileContext(fileContextA), ///
|
|
75
|
-
localContextB = localContext, ///
|
|
76
|
-
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
77
|
-
const verifiedAhead = true;
|
|
78
|
-
|
|
79
|
-
return verifiedAhead;
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
matchesMetastatementNode = nonTerminalNodeVerified; ///
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return matchesMetastatementNode;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
toJSON(tokens) {
|
|
89
|
-
const metastatementString = nodeAsString(this.metastatementNode, tokens),
|
|
90
|
-
statementString = nodeAsString(this.statementNode, tokens),
|
|
91
|
-
metastatement = metastatementString, ///
|
|
92
|
-
statement = statementString, ///
|
|
93
|
-
json = {
|
|
94
|
-
metastatement,
|
|
95
|
-
statement
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
return json;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
static fromStatementNode(statementNode) {
|
|
102
|
-
const metastatementNode = null,
|
|
103
|
-
metaSupposition = new MetaSupposition(metastatementNode, statementNode);
|
|
104
|
-
|
|
105
|
-
return metaSupposition;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
static fromMetastatementNode(metastatementNode) {
|
|
109
|
-
const statementNode = null,
|
|
110
|
-
metaSupposition = new MetaSupposition(metastatementNode, statementNode);
|
|
111
|
-
|
|
112
|
-
return metaSupposition;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
static fromJSONAndFileContext(json, fileContext) {
|
|
116
|
-
const { metastatement, statement } = json,
|
|
117
|
-
metastatementString = metastatement, ///
|
|
118
|
-
statementString = statement, ///
|
|
119
|
-
lexer = fileContext.getLexer(),
|
|
120
|
-
parser = fileContext.getParser(),
|
|
121
|
-
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
122
|
-
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
123
|
-
metaSupposition = new MetaSupposition(metastatementNode, statementNode);
|
|
124
|
-
|
|
125
|
-
return metaSupposition;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { metastatementNodeFromMetastatementString } from "../../utilities/node";
|
|
4
|
-
|
|
5
|
-
const bracketedMetastatementString = "(A)";
|
|
6
|
-
|
|
7
|
-
const bracketedMetastatementNode = metastatementNodeFromMetastatementString(bracketedMetastatementString);
|
|
8
|
-
|
|
9
|
-
export default bracketedMetastatementNode;
|
package/src/step/metaproof.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default class MetaproofStep {
|
|
4
|
-
constructor(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode) {
|
|
5
|
-
this.statementNode = statementNode;
|
|
6
|
-
this.ruleSubproofNode = ruleSubproofNode;
|
|
7
|
-
this.metaSubproofNode = metaSubproofNode;
|
|
8
|
-
this.metastatementNode = metastatementNode;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
getStatementNode() {
|
|
12
|
-
return this.statementNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getRuleSubproofNode() {
|
|
16
|
-
return this.ruleSubproofNode;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
getMetaSubproofNode() {
|
|
20
|
-
return this.metaSubproofNode;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
getMetastatementNode() {
|
|
24
|
-
return this.metastatementNode;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
matchMetastatementNode(metastatementNode) {
|
|
28
|
-
let matchesMetastatementNode = false;
|
|
29
|
-
|
|
30
|
-
if (this.metastatementNode !== null) {
|
|
31
|
-
matchesMetastatementNode = this.metastatementNode.match(metastatementNode);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return matchesMetastatementNode;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
static fromStatementNode(statementNode) {
|
|
38
|
-
const ruleSubproofNode = null,
|
|
39
|
-
metaSubproofNode = null,
|
|
40
|
-
metastatementNode = null,
|
|
41
|
-
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
42
|
-
|
|
43
|
-
return metaproofStep;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static fromRuleSubproofNode(ruleSubproofNode) {
|
|
47
|
-
const statementNode = null,
|
|
48
|
-
metaSubproofNode = null,
|
|
49
|
-
metastatementNode = null,
|
|
50
|
-
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
51
|
-
|
|
52
|
-
return metaproofStep;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
static fromMetaSubproofNode(metaSubproofNode) {
|
|
56
|
-
const statementNode = null,
|
|
57
|
-
ruleSubproofNode = null,
|
|
58
|
-
metastatementNode = null,
|
|
59
|
-
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
60
|
-
|
|
61
|
-
return metaproofStep;
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
static fromMetastatementNode(metastatementNode) {
|
|
66
|
-
const statementNode = null,
|
|
67
|
-
ruleSubproofNode = null,
|
|
68
|
-
metaSubproofNode = null,
|
|
69
|
-
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
70
|
-
|
|
71
|
-
return metaproofStep;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Substitution from "../substitution";
|
|
4
|
-
|
|
5
|
-
import { nodeAsString } from "../utilities/string";
|
|
6
|
-
import { bracketedMetastatementChildNodeFromMetastatementNode } from "../utilities/match";
|
|
7
|
-
import { metavariableNodeFromMetavariableString, metastatementNodeFromMetastatementString } from "../utilities/node";
|
|
8
|
-
|
|
9
|
-
export default class MetastatementForMetavariableSubstitution extends Substitution {
|
|
10
|
-
constructor(metavariableNode, metastatementNode) {
|
|
11
|
-
super();
|
|
12
|
-
|
|
13
|
-
this.metavariableNode = metavariableNode;
|
|
14
|
-
this.metastatementNode = metastatementNode;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
getMetavariableNode() {
|
|
18
|
-
return this.metavariableNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getMetastatementNode() {
|
|
22
|
-
return this.metastatementNode;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
matchMetavariableNode(metavariableNode) {
|
|
26
|
-
const matchesMetavariableNode = this.metavariableNode.match(metavariableNode);
|
|
27
|
-
|
|
28
|
-
return matchesMetavariableNode;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
matchMetastatementNode(metastatementNode) {
|
|
32
|
-
let matchesMetastatementNode;
|
|
33
|
-
|
|
34
|
-
matchesMetastatementNode = this.metastatementNode.match(metastatementNode)
|
|
35
|
-
|
|
36
|
-
if (!matchesMetastatementNode) {
|
|
37
|
-
const bracketedMetastatementChildNode = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode);
|
|
38
|
-
|
|
39
|
-
if (bracketedMetastatementChildNode !== null) {
|
|
40
|
-
const metastatementNode = bracketedMetastatementChildNode; ///
|
|
41
|
-
|
|
42
|
-
matchesMetastatementNode = this.metastatementNode.match(metastatementNode);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return matchesMetastatementNode;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
toJSON(tokens) {
|
|
50
|
-
const metavariableString = nodeAsString(this.metavariableNode, tokens),
|
|
51
|
-
metastatementString = nodeAsString(this.metastatementNode, tokens),
|
|
52
|
-
metavariable = metavariableString, ///
|
|
53
|
-
metastatement = metastatementString, ///
|
|
54
|
-
json = {
|
|
55
|
-
metavariable,
|
|
56
|
-
metastatement
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
return json;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
static fromJSONAndFileContext(json, fileContext) {
|
|
63
|
-
const { metavariable, metastatement } = json,
|
|
64
|
-
metavariableString = metavariable, ///
|
|
65
|
-
metastatementString = metastatement, ///
|
|
66
|
-
lexer = fileContext.getLexer(),
|
|
67
|
-
parser = fileContext.getParser(),
|
|
68
|
-
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
69
|
-
metavariableNode = metavariableNodeFromMetavariableString(metavariableString, lexer, parser),
|
|
70
|
-
metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metastatementNode, metavariableNode);
|
|
71
|
-
|
|
72
|
-
return metastatementForMetavariableSubstitution;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
static fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode) {
|
|
76
|
-
let metastatementForMetavariableSubstitution;
|
|
77
|
-
|
|
78
|
-
metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableNode, metastatementNode);
|
|
79
|
-
|
|
80
|
-
const bracketedMetastatementChildNode = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode);
|
|
81
|
-
|
|
82
|
-
if (bracketedMetastatementChildNode !== null) {
|
|
83
|
-
const metastatementNode = bracketedMetastatementChildNode; ///
|
|
84
|
-
|
|
85
|
-
metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableNode, metastatementNode);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return metastatementForMetavariableSubstitution;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import MetaConsequent from "../metaConsequent";
|
|
4
|
-
import verifyUnqualifiedStatement from "./statement/unqualified";
|
|
5
|
-
import verifyUnqualifiedMetastatement from "./metastatement/unqualified";
|
|
6
|
-
|
|
7
|
-
import { nodeQuery } from "../utilities/query";
|
|
8
|
-
|
|
9
|
-
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
10
|
-
metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
|
|
11
|
-
unqualifiedStatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedStatement!"),
|
|
12
|
-
unqualifiedMetastatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedMetastatement!");
|
|
13
|
-
|
|
14
|
-
export default function verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localContext) {
|
|
15
|
-
let metaConsequentVerified = false;
|
|
16
|
-
|
|
17
|
-
const metaConsequentString = localContext.nodeAsString(metaConsequentNode);
|
|
18
|
-
|
|
19
|
-
localContext.trace(`Verifying the '${metaConsequentString}' meta-consequent...`, metaConsequentNode);
|
|
20
|
-
|
|
21
|
-
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaConsequentNode),
|
|
22
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode);
|
|
23
|
-
|
|
24
|
-
if (unqualifiedStatementNode !== null) {
|
|
25
|
-
const derived = false,
|
|
26
|
-
assignments = [],
|
|
27
|
-
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
28
|
-
|
|
29
|
-
metaConsequentVerified = unqualifiedStatementVerified; ///
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
33
|
-
const derived = false,
|
|
34
|
-
assignments = [],
|
|
35
|
-
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
|
|
36
|
-
|
|
37
|
-
metaConsequentVerified = unqualifiedMetastatementVerified; ///
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (metaConsequentVerified) {
|
|
41
|
-
let metaConsequent;
|
|
42
|
-
|
|
43
|
-
if (unqualifiedStatementNode !== null) {
|
|
44
|
-
const statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
45
|
-
|
|
46
|
-
metaConsequent = MetaConsequent.fromStatementNode(statementNode);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
50
|
-
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
51
|
-
|
|
52
|
-
metaConsequent = MetaConsequent.fromMetastatementNode(metastatementNode);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
metaConsequents.push(metaConsequent);
|
|
56
|
-
|
|
57
|
-
localContext.debug(`...verified the '${metaConsequentString}' meta-consequent.`, metaConsequentNode);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return metaConsequentVerified;
|
|
61
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyMetaproofStep from "../verify/metaproofStep";
|
|
4
|
-
|
|
5
|
-
import { nodesQuery } from "../utilities/query";
|
|
6
|
-
|
|
7
|
-
const metaproofStepNodesQuery = nodesQuery("/metaDerivation/metaproofStep|lastMetaproofStep");
|
|
8
|
-
|
|
9
|
-
export default function verifyMetaDerivation(metaDerivationNode, substitutions, localContext) {
|
|
10
|
-
let metaDerivationVerified;
|
|
11
|
-
|
|
12
|
-
const metaproofStepNodes = metaproofStepNodesQuery(metaDerivationNode);
|
|
13
|
-
|
|
14
|
-
metaDerivationVerified = metaproofStepNodes.every((metaproofStepNode) => {
|
|
15
|
-
const metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localContext);
|
|
16
|
-
|
|
17
|
-
if (metaproofStepVerified) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return metaDerivationVerified;
|
|
23
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { nodesQuery } from "../utilities/query";
|
|
4
|
-
|
|
5
|
-
const metaproofStepNodesQuery = nodesQuery("/metaSubDerivation/metaproofStep|lastMetaproofStep");
|
|
6
|
-
|
|
7
|
-
export default function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localContext) {
|
|
8
|
-
let metaSubDerivationVerified;
|
|
9
|
-
|
|
10
|
-
const metaproofStepNodes = metaproofStepNodesQuery(metaSubDerivationNode);
|
|
11
|
-
|
|
12
|
-
metaSubDerivationVerified = metaproofStepNodes.every((metaproofStepNode) => {
|
|
13
|
-
const { verifyMetaproofStep } = verifyMetaSubDerivation,
|
|
14
|
-
metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localContext);
|
|
15
|
-
|
|
16
|
-
if (metaproofStepVerified) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
return metaSubDerivationVerified;
|
|
22
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import LocalContext from "../context/local";
|
|
4
|
-
import verifyMetaSuppositions from "../verify/metaSuppositions";
|
|
5
|
-
import verifyMetaSubDerivation from "../verify/metaSubDerivation";
|
|
6
|
-
|
|
7
|
-
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
8
|
-
|
|
9
|
-
const metaSuppositionNodesQuery = nodesQuery("/metaSubproof/metaSupposition"),
|
|
10
|
-
metaSubDerivationNodeQuery = nodeQuery("/metaSubproof/metaSubDerivation");
|
|
11
|
-
|
|
12
|
-
export default function verifyMetaSubproof(metaSubproofNode, substitutions, localContext) {
|
|
13
|
-
let metaSubproofVerified = false;
|
|
14
|
-
|
|
15
|
-
localContext = LocalContext.fromLocalContext(localContext); ///
|
|
16
|
-
|
|
17
|
-
const metaSuppositions = [],
|
|
18
|
-
metaSuppositionNodes = metaSuppositionNodesQuery(metaSubproofNode),
|
|
19
|
-
metaSuppositionsVerified = verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext);
|
|
20
|
-
|
|
21
|
-
if (metaSuppositionsVerified) {
|
|
22
|
-
const metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode),
|
|
23
|
-
metaSubDerivationVerified = verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localContext);
|
|
24
|
-
|
|
25
|
-
if (metaSubDerivationVerified) {
|
|
26
|
-
metaSubproofVerified = true;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return metaSubproofVerified;
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import MetaproofStep from "../step/metaproof";
|
|
4
|
-
import MetaSupposition from "../metaSupposition";
|
|
5
|
-
import verifyUnqualifiedStatement from "./statement/unqualified";
|
|
6
|
-
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
7
|
-
|
|
8
|
-
import { nodeQuery } from "../utilities/query";
|
|
9
|
-
import { assignAssignment } from "../utilities/assignments";
|
|
10
|
-
|
|
11
|
-
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
12
|
-
metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
|
|
13
|
-
unqualifiedStatementNodeQuery = nodeQuery("/metaSupposition/unqualifiedStatement!"),
|
|
14
|
-
unqualifiedMetastatementNodeQuery = nodeQuery("/metaSupposition/unqualifiedMetastatement!");
|
|
15
|
-
|
|
16
|
-
export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localContext) {
|
|
17
|
-
let metaSuppositionVerified = false;
|
|
18
|
-
|
|
19
|
-
const metaSuppositionString = localContext.nodeAsString(metaSuppositionNode);
|
|
20
|
-
|
|
21
|
-
localContext.trace(`Verifying the '${metaSuppositionString}' meta-supposition...`, metaSuppositionNode);
|
|
22
|
-
|
|
23
|
-
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaSuppositionNode),
|
|
24
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSuppositionNode);
|
|
25
|
-
|
|
26
|
-
if (unqualifiedStatementNode !== null) {
|
|
27
|
-
const derived = false,
|
|
28
|
-
assignments = [],
|
|
29
|
-
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
30
|
-
|
|
31
|
-
if (unqualifiedStatementVerified) {
|
|
32
|
-
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
33
|
-
|
|
34
|
-
metaSuppositionVerified = assignmentAssigned; ///
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
39
|
-
const derived = false,
|
|
40
|
-
assignments = [],
|
|
41
|
-
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
|
|
42
|
-
|
|
43
|
-
if (unqualifiedMetastatementVerified) {
|
|
44
|
-
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
45
|
-
|
|
46
|
-
metaSuppositionVerified = assignmentAssigned; ///
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (metaSuppositionVerified) {
|
|
51
|
-
let metaSupposition,
|
|
52
|
-
metaproofStep;
|
|
53
|
-
|
|
54
|
-
if (unqualifiedStatementNode !== null) {
|
|
55
|
-
const statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
56
|
-
|
|
57
|
-
metaSupposition = MetaSupposition.fromStatementNode(statementNode);
|
|
58
|
-
|
|
59
|
-
metaproofStep = MetaproofStep.fromMetastatementNode(statementNode);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
63
|
-
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
64
|
-
|
|
65
|
-
metaSupposition = MetaSupposition.fromMetastatementNode(metastatementNode);
|
|
66
|
-
|
|
67
|
-
metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
metaSuppositions.push(metaSupposition);
|
|
71
|
-
|
|
72
|
-
localContext.addMetaproofStep(metaproofStep);
|
|
73
|
-
|
|
74
|
-
localContext.debug(`...verified the '${metaSuppositionString}' meta-supposition.`, metaSuppositionNode);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return metaSuppositionVerified;
|
|
78
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyMetaSupposition from "../verify/metaSupposition";
|
|
4
|
-
|
|
5
|
-
export default function verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext) {
|
|
6
|
-
let metaSuppositionsVerified;
|
|
7
|
-
|
|
8
|
-
metaSuppositionsVerified = metaSuppositionNodes.every((metaSuppositionNode) => {
|
|
9
|
-
const metaSuppositionVerified = verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localContext);
|
|
10
|
-
|
|
11
|
-
if (metaSuppositionVerified) {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
return metaSuppositionsVerified;
|
|
17
|
-
}
|
package/src/verify/metaproof.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import LocalContext from "../context/local";
|
|
4
|
-
import verifyMetaDerivation from "../verify/metaDerivation";
|
|
5
|
-
|
|
6
|
-
import { nodeQuery } from "../utilities/query";
|
|
7
|
-
|
|
8
|
-
const metaDerivationNodeQuery = nodeQuery("/metaproof/metaDerivation!");
|
|
9
|
-
|
|
10
|
-
export default function verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext) {
|
|
11
|
-
let metaproofVerified = false;
|
|
12
|
-
|
|
13
|
-
localContext = LocalContext.fromLocalContext(localContext); ///
|
|
14
|
-
|
|
15
|
-
const metaDerivationNode = metaDerivationNodeQuery(metaproofNode),
|
|
16
|
-
metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, substitutions, localContext);
|
|
17
|
-
|
|
18
|
-
if (metaDerivationVerified) {
|
|
19
|
-
const lastMetaproofStep = localContext.getLastMetaproofStep(),
|
|
20
|
-
lastMetaproofStepMetastatementNode = lastMetaproofStep.getMetastatementNode(),
|
|
21
|
-
lastMetastatementNode = lastMetaproofStepMetastatementNode, ///
|
|
22
|
-
lastMetastatementNodeMatchesMetastatementNode = lastMetastatementNode.match(metastatementNode);
|
|
23
|
-
|
|
24
|
-
metaproofVerified = lastMetastatementNodeMatchesMetastatementNode; ///
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return metaproofVerified;
|
|
28
|
-
}
|