occam-verify-cli 0.0.906 → 0.0.908
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/conclusion.js +7 -7
- package/lib/context/local.js +8 -33
- package/lib/context/localMeta.js +91 -72
- package/lib/metaConsequent.js +7 -7
- package/lib/metaSupposition.js +7 -7
- package/lib/metavariable.js +2 -3
- package/lib/premise.js +7 -7
- package/lib/utilities/assignments.js +3 -3
- package/lib/verifier/node/metastatement.js +3 -4
- package/lib/verify/conclusion.js +22 -8
- package/lib/verify/metaConsequent.js +21 -7
- package/lib/verify/metaProofStep.js +3 -3
- package/lib/verify/metaSupposition.js +29 -8
- package/lib/verify/metavariableAgainstStatement.js +3 -3
- package/lib/verify/premise.js +26 -8
- package/lib/verify/ruleProofStep.js +6 -8
- package/package.json +1 -1
- package/src/conclusion.js +4 -4
- package/src/context/local.js +8 -24
- package/src/context/localMeta.js +23 -55
- package/src/metaConsequent.js +4 -4
- package/src/metaSupposition.js +4 -4
- package/src/metavariable.js +1 -2
- package/src/premise.js +10 -10
- package/src/utilities/assignments.js +2 -2
- package/src/verifier/node/metastatement.js +2 -3
- package/src/verify/conclusion.js +35 -10
- package/src/verify/metaConsequent.js +34 -9
- package/src/verify/metaProofStep.js +4 -2
- package/src/verify/metaSupposition.js +47 -11
- package/src/verify/metavariableAgainstStatement.js +4 -4
- package/src/verify/premise.js +39 -6
- package/src/verify/ruleProofStep.js +5 -5
package/src/premise.js
CHANGED
|
@@ -199,14 +199,8 @@ export default class Premise {
|
|
|
199
199
|
return json;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
static
|
|
203
|
-
const
|
|
204
|
-
metastatementString = metastatement, ///
|
|
205
|
-
statementString = statement, ///
|
|
206
|
-
lexer = fileContext.getLexer(),
|
|
207
|
-
parser = fileContext.getParser(),
|
|
208
|
-
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
209
|
-
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
202
|
+
static fromStatementNode(statementNode) {
|
|
203
|
+
const metastatementNode = null,
|
|
210
204
|
premise = new Premise(metastatementNode, statementNode);
|
|
211
205
|
|
|
212
206
|
return premise;
|
|
@@ -219,8 +213,14 @@ export default class Premise {
|
|
|
219
213
|
return premise;
|
|
220
214
|
}
|
|
221
215
|
|
|
222
|
-
static
|
|
223
|
-
const
|
|
216
|
+
static fromJSONAndFileContext(json, fileContext) {
|
|
217
|
+
const { metastatement, statement } = json,
|
|
218
|
+
metastatementString = metastatement, ///
|
|
219
|
+
statementString = statement, ///
|
|
220
|
+
lexer = fileContext.getLexer(),
|
|
221
|
+
parser = fileContext.getParser(),
|
|
222
|
+
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
223
|
+
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
224
224
|
premise = new Premise(metastatementNode, statementNode);
|
|
225
225
|
|
|
226
226
|
return premise;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { first } from "../utilities/array";
|
|
4
4
|
|
|
5
|
-
export function assignAssignment(assignments,
|
|
5
|
+
export function assignAssignment(assignments, localContext) {
|
|
6
6
|
let assignmentAssigned = true;
|
|
7
7
|
|
|
8
8
|
const assignmentsLength = assignments.length;
|
|
@@ -11,7 +11,7 @@ export function assignAssignment(assignments, localContextOrLocalMetaContext) {
|
|
|
11
11
|
const firstAssignment = first(assignments),
|
|
12
12
|
assignment = firstAssignment;
|
|
13
13
|
|
|
14
|
-
assignmentAssigned = assignment.assign(
|
|
14
|
+
assignmentAssigned = assignment.assign(localContext);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
return assignmentAssigned;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import LocalContext from "../../context/local";
|
|
4
3
|
import NodeVerifier from "../../verifier/node";
|
|
5
4
|
|
|
6
5
|
import { nodeQuery } from "../../utilities/query";
|
|
@@ -89,7 +88,7 @@ class MetastatementNodeVerifier extends NodeVerifier {
|
|
|
89
88
|
}
|
|
90
89
|
|
|
91
90
|
verifyVariableNode(variableNode, localMetaContext, verifyAhead) {
|
|
92
|
-
const localContext =
|
|
91
|
+
const localContext = localMetaContext, ///
|
|
93
92
|
standaloneVariableVerified = verifyStandaloneVariable(variableNode, localContext, verifyAhead),
|
|
94
93
|
variableNodeVerified = standaloneVariableVerified; ///
|
|
95
94
|
|
|
@@ -97,7 +96,7 @@ class MetastatementNodeVerifier extends NodeVerifier {
|
|
|
97
96
|
}
|
|
98
97
|
|
|
99
98
|
verifyTermNode(termNode, localMetaContext, verifyAhead) {
|
|
100
|
-
const localContext =
|
|
99
|
+
const localContext = localMetaContext, ///
|
|
101
100
|
standaloneTermVerified = verifyStandaloneTerm(termNode, localContext, verifyAhead),
|
|
102
101
|
termNodeVerified = standaloneTermVerified; ///
|
|
103
102
|
|
package/src/verify/conclusion.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import Conclusion from "../conclusion";
|
|
4
|
+
import verifyUnqualifiedStatement from "./statement/unqualified";
|
|
4
5
|
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
5
6
|
|
|
6
7
|
import { nodeQuery } from "../utilities/query";
|
|
7
8
|
|
|
8
|
-
const
|
|
9
|
+
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
10
|
+
metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
|
|
11
|
+
unqualifiedStatementNodeQuery = nodeQuery("/conclusion/unqualifiedStatement!"),
|
|
9
12
|
unqualifiedMetastatementNodeQuery = nodeQuery("/conclusion/unqualifiedMetastatement!");
|
|
10
13
|
|
|
11
14
|
export default function verifyConclusion(conclusionNode, conclusions, localMetaContext) {
|
|
@@ -15,21 +18,43 @@ export default function verifyConclusion(conclusionNode, conclusions, localMetaC
|
|
|
15
18
|
|
|
16
19
|
localMetaContext.trace(`Verifying the '${conclusionString}' conclusion...`, conclusionNode);
|
|
17
20
|
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(conclusionNode),
|
|
21
|
-
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
21
|
+
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode),
|
|
22
|
+
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(conclusionNode);
|
|
22
23
|
|
|
23
|
-
if (
|
|
24
|
-
const
|
|
25
|
-
|
|
24
|
+
if (unqualifiedStatementNode !== null) {
|
|
25
|
+
const derived = false,
|
|
26
|
+
assignments = [],
|
|
27
|
+
localContext = localMetaContext, ///
|
|
28
|
+
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
26
29
|
|
|
27
|
-
|
|
30
|
+
conclusionVerified = unqualifiedStatementVerified; ///
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
34
|
+
const derived = false,
|
|
35
|
+
assignments = [],
|
|
36
|
+
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
28
37
|
|
|
29
|
-
conclusionVerified =
|
|
38
|
+
conclusionVerified = unqualifiedMetastatementVerified; ///
|
|
30
39
|
}
|
|
31
40
|
|
|
32
41
|
if (conclusionVerified) {
|
|
42
|
+
let conclusion;
|
|
43
|
+
|
|
44
|
+
if (unqualifiedStatementNode !== null) {
|
|
45
|
+
const statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
46
|
+
|
|
47
|
+
conclusion = Conclusion.fromStatementNode(statementNode);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
51
|
+
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
52
|
+
|
|
53
|
+
conclusion = Conclusion.fromMetastatementNode(metastatementNode);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
conclusions.push(conclusion);
|
|
57
|
+
|
|
33
58
|
localMetaContext.debug(`...verified the '${conclusionString}' conclusion.`, conclusionNode);
|
|
34
59
|
}
|
|
35
60
|
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import MetaConsequent from "../metaConsequent";
|
|
4
|
+
import verifyUnqualifiedStatement from "./statement/unqualified";
|
|
4
5
|
import verifyUnqualifiedMetastatement from "./metastatement/unqualified";
|
|
5
6
|
|
|
6
7
|
import { nodeQuery } from "../utilities/query";
|
|
7
8
|
|
|
8
|
-
const
|
|
9
|
+
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
10
|
+
metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
|
|
11
|
+
unqualifiedStatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedStatement!"),
|
|
9
12
|
unqualifiedMetastatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedMetastatement!");
|
|
10
13
|
|
|
11
14
|
export default function verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localMetaContext) {
|
|
@@ -15,18 +18,40 @@ export default function verifyMetaConsequent(metaConsequentNode, metaConsequents
|
|
|
15
18
|
|
|
16
19
|
localMetaContext.trace(`Verifying the '${metaConsequentString}' meta-consequent...`, metaConsequentNode);
|
|
17
20
|
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode),
|
|
21
|
-
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
21
|
+
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaConsequentNode),
|
|
22
|
+
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode);
|
|
22
23
|
|
|
23
|
-
if (
|
|
24
|
-
|
|
24
|
+
if (unqualifiedStatementNode !== null) {
|
|
25
|
+
const derived = false,
|
|
26
|
+
assignments = [],
|
|
27
|
+
localContext = localMetaContext, ///
|
|
28
|
+
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
29
|
+
|
|
30
|
+
metaConsequentVerified = unqualifiedStatementVerified; ///
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
34
|
+
const derived = false,
|
|
35
|
+
assignments = [],
|
|
36
|
+
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
37
|
+
|
|
38
|
+
metaConsequentVerified = unqualifiedMetastatementVerified; ///
|
|
25
39
|
}
|
|
26
40
|
|
|
27
41
|
if (metaConsequentVerified) {
|
|
28
|
-
|
|
29
|
-
|
|
42
|
+
let metaConsequent;
|
|
43
|
+
|
|
44
|
+
if (unqualifiedStatementNode !== null) {
|
|
45
|
+
const statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
46
|
+
|
|
47
|
+
metaConsequent = MetaConsequent.fromStatementNode(statementNode);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
51
|
+
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
52
|
+
|
|
53
|
+
metaConsequent = MetaConsequent.fromMetastatementNode(metastatementNode);
|
|
54
|
+
}
|
|
30
55
|
|
|
31
56
|
metaConsequents.push(metaConsequent);
|
|
32
57
|
|
|
@@ -53,7 +53,8 @@ export default function verifyMetaProofStep(metaProofStepNode, substitutions, lo
|
|
|
53
53
|
qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localMetaContext);
|
|
54
54
|
|
|
55
55
|
if (qualifiedMetastatementVerified) {
|
|
56
|
-
const
|
|
56
|
+
const localContext = localMetaContext, ///
|
|
57
|
+
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
57
58
|
|
|
58
59
|
qualifiedMetastatementVerified = assignmentAssigned; ///
|
|
59
60
|
}
|
|
@@ -75,7 +76,8 @@ export default function verifyMetaProofStep(metaProofStepNode, substitutions, lo
|
|
|
75
76
|
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
76
77
|
|
|
77
78
|
if (unqualifiedMetastatementVerified) {
|
|
78
|
-
const
|
|
79
|
+
const localContext = localMetaContext, ///
|
|
80
|
+
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
79
81
|
|
|
80
82
|
unqualifiedMetastatementVerified = assignmentAssigned; ///
|
|
81
83
|
}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import MetaproofStep from "../step/metaproof";
|
|
4
4
|
import MetaSupposition from "../metaSupposition";
|
|
5
|
+
import verifyUnqualifiedStatement from "./statement/unqualified";
|
|
5
6
|
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
6
7
|
|
|
7
8
|
import { nodeQuery } from "../utilities/query";
|
|
8
9
|
import { assignAssignment } from "../utilities/assignments";
|
|
9
10
|
|
|
10
|
-
const
|
|
11
|
+
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
12
|
+
metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
|
|
13
|
+
unqualifiedStatementNodeQuery = nodeQuery("/metaSupposition/unqualifiedStatement!"),
|
|
11
14
|
unqualifiedMetastatementNodeQuery = nodeQuery("/metaSupposition/unqualifiedMetastatement!");
|
|
12
15
|
|
|
13
16
|
export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localMetaContext) {
|
|
@@ -17,21 +20,54 @@ export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositi
|
|
|
17
20
|
|
|
18
21
|
localMetaContext.trace(`Verifying the '${metaSuppositionString}' meta-supposition...`, metaSuppositionNode);
|
|
19
22
|
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSuppositionNode),
|
|
23
|
-
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
23
|
+
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaSuppositionNode),
|
|
24
|
+
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSuppositionNode);
|
|
24
25
|
|
|
25
|
-
if (
|
|
26
|
-
const
|
|
26
|
+
if (unqualifiedStatementNode !== null) {
|
|
27
|
+
const derived = false,
|
|
28
|
+
assignments = [],
|
|
29
|
+
localContext = localMetaContext, ///
|
|
30
|
+
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
27
31
|
|
|
28
|
-
|
|
32
|
+
if (unqualifiedStatementVerified) {
|
|
33
|
+
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
34
|
+
|
|
35
|
+
metaSuppositionVerified = assignmentAssigned; ///
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
40
|
+
const derived = false,
|
|
41
|
+
assignments = [],
|
|
42
|
+
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
43
|
+
|
|
44
|
+
if (unqualifiedMetastatementVerified) {
|
|
45
|
+
const localContext = localMetaContext, ///
|
|
46
|
+
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
47
|
+
|
|
48
|
+
metaSuppositionVerified = assignmentAssigned; ///
|
|
49
|
+
}
|
|
29
50
|
}
|
|
30
51
|
|
|
31
52
|
if (metaSuppositionVerified) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
53
|
+
let metaSupposition,
|
|
54
|
+
metaproofStep;
|
|
55
|
+
|
|
56
|
+
if (unqualifiedStatementNode !== null) {
|
|
57
|
+
const statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
58
|
+
|
|
59
|
+
metaSupposition = MetaSupposition.fromStatementNode(statementNode);
|
|
60
|
+
|
|
61
|
+
metaproofStep = MetaproofStep.fromMetastatementNode(statementNode);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
65
|
+
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
66
|
+
|
|
67
|
+
metaSupposition = MetaSupposition.fromMetastatementNode(metastatementNode);
|
|
68
|
+
|
|
69
|
+
metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
|
|
70
|
+
}
|
|
35
71
|
|
|
36
72
|
metaSuppositions.push(metaSupposition);
|
|
37
73
|
|
|
@@ -38,8 +38,8 @@ export default function verifyMetavariableAgainstStatement(metavariableNodeA, st
|
|
|
38
38
|
|
|
39
39
|
statementNodeB = substitutionStatementNode; ///
|
|
40
40
|
|
|
41
|
-
const
|
|
42
|
-
|
|
41
|
+
const localContext = localContextB, ///
|
|
42
|
+
substitution = substitutionSubstitution,
|
|
43
43
|
statementVerifiedAgainstStatement = verifyStatementAgainstStatement(statementNodeA, statementNodeB, substitution, substitutions, localContext, localContext);
|
|
44
44
|
|
|
45
45
|
if (statementVerifiedAgainstStatement) {
|
|
@@ -60,8 +60,8 @@ export default function verifyMetavariableAgainstStatement(metavariableNodeA, st
|
|
|
60
60
|
} else {
|
|
61
61
|
let verifiedAhead;
|
|
62
62
|
|
|
63
|
-
const
|
|
64
|
-
|
|
63
|
+
const statementNode = statementNodeB, ///
|
|
64
|
+
metavariableNode = metavariableNodeA, ///
|
|
65
65
|
statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromMetavariableNodeStatementNodeAndSubstitutionNode(metavariableNode, statementNode, substitutionNode),
|
|
66
66
|
substitution = statementForMetavariableSubstitution; ///
|
|
67
67
|
|
package/src/verify/premise.js
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import Premise from "../premise";
|
|
4
4
|
import MetaproofStep from "../step/metaproof";
|
|
5
|
+
import verifyUnqualifiedStatement from "../verify/statement/unqualified";
|
|
5
6
|
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
6
7
|
|
|
7
8
|
import { nodeQuery } from "../utilities/query";
|
|
8
9
|
import { assignAssignment } from "../utilities/assignments";
|
|
9
10
|
|
|
10
|
-
const
|
|
11
|
+
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
|
|
12
|
+
metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
|
|
13
|
+
unqualifiedStatementNodeQuery = nodeQuery("/premise/unqualifiedStatement!"),
|
|
11
14
|
unqualifiedMetastatementNodeQuery = nodeQuery("/premise/unqualifiedMetastatement!");
|
|
12
15
|
|
|
13
16
|
export default function verifyPremise(premiseNode, premises, localMetaContext) {
|
|
@@ -17,7 +20,21 @@ export default function verifyPremise(premiseNode, premises, localMetaContext) {
|
|
|
17
20
|
|
|
18
21
|
localMetaContext.trace(`Verifying the '${premiseString}' premise...`, premiseNode);
|
|
19
22
|
|
|
20
|
-
const
|
|
23
|
+
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode),
|
|
24
|
+
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(premiseNode);
|
|
25
|
+
|
|
26
|
+
if (unqualifiedStatementNode !== null) {
|
|
27
|
+
const derived = false,
|
|
28
|
+
assignments = [],
|
|
29
|
+
localContext = localMetaContext, ///
|
|
30
|
+
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
|
|
31
|
+
|
|
32
|
+
if (unqualifiedStatementVerified) {
|
|
33
|
+
const assignmentAssigned = assignAssignment(assignments, localContext);
|
|
34
|
+
|
|
35
|
+
premiseVerified = assignmentAssigned; ///
|
|
36
|
+
}
|
|
37
|
+
}
|
|
21
38
|
|
|
22
39
|
if (unqualifiedMetastatementNode !== null) {
|
|
23
40
|
const derived = false,
|
|
@@ -25,16 +42,32 @@ export default function verifyPremise(premiseNode, premises, localMetaContext) {
|
|
|
25
42
|
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
26
43
|
|
|
27
44
|
if (unqualifiedMetastatementVerified) {
|
|
28
|
-
const
|
|
45
|
+
const localContext = localMetaContext, ///
|
|
46
|
+
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
29
47
|
|
|
30
48
|
premiseVerified = assignmentAssigned; ///
|
|
31
49
|
}
|
|
32
50
|
}
|
|
33
51
|
|
|
34
52
|
if (premiseVerified) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
53
|
+
let premise,
|
|
54
|
+
metaproofStep;
|
|
55
|
+
|
|
56
|
+
if (unqualifiedStatementNode !== null) {
|
|
57
|
+
const statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
58
|
+
|
|
59
|
+
metaproofStep = MetaproofStep.fromMetastatementNode(statementNode);
|
|
60
|
+
|
|
61
|
+
premise = Premise.fromStatementNode(statementNode);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (unqualifiedMetastatementNode !== null) {
|
|
65
|
+
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
66
|
+
|
|
67
|
+
metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
|
|
68
|
+
|
|
69
|
+
premise = Premise.fromMetastatementNode(metastatementNode);
|
|
70
|
+
}
|
|
38
71
|
|
|
39
72
|
premises.push(premise);
|
|
40
73
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import LocalContext from "../context/local";
|
|
4
3
|
import MetaproofStep from "../step/metaproof";
|
|
5
4
|
import verifyRuleSubproof from "../verify/ruleSubproof";
|
|
6
5
|
import verifyRuleSubDerivation from "../verify/ruleSubDerivation";
|
|
7
6
|
import verifyQualifiedStatement from "../verify/statement/qualified";
|
|
8
|
-
import verifyUnqualifiedStatement from "../verify/statement/unqualified";
|
|
9
7
|
import verifyQualifiedMetastatement from "../verify/metastatement/qualified";
|
|
10
8
|
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
11
9
|
|
|
@@ -47,7 +45,7 @@ export default function verifyRuleProofStep(ruleProofStepNode, localMetaContext)
|
|
|
47
45
|
let qualifiedStatementVerified;
|
|
48
46
|
|
|
49
47
|
const assignments = [],
|
|
50
|
-
localContext =
|
|
48
|
+
localContext = localMetaContext; ///
|
|
51
49
|
|
|
52
50
|
qualifiedStatementVerified = verifyQualifiedStatement(qualifiedStatementNode, assignments, localContext);
|
|
53
51
|
|
|
@@ -76,7 +74,8 @@ export default function verifyRuleProofStep(ruleProofStepNode, localMetaContext)
|
|
|
76
74
|
qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localMetaContext);
|
|
77
75
|
|
|
78
76
|
if (qualifiedMetastatementVerified) {
|
|
79
|
-
const
|
|
77
|
+
const localContext = localMetaContext, ///
|
|
78
|
+
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
80
79
|
|
|
81
80
|
qualifiedMetastatementVerified = assignmentAssigned; ///
|
|
82
81
|
}
|
|
@@ -98,7 +97,8 @@ export default function verifyRuleProofStep(ruleProofStepNode, localMetaContext)
|
|
|
98
97
|
unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
|
|
99
98
|
|
|
100
99
|
if (unqualifiedMetastatementVerified) {
|
|
101
|
-
const
|
|
100
|
+
const localContext = localMetaContext, ///
|
|
101
|
+
assignmentAssigned = assignAssignment(assignments, localContext);
|
|
102
102
|
|
|
103
103
|
unqualifiedMetastatementVerified = assignmentAssigned; ///
|
|
104
104
|
}
|