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/src/premise.js CHANGED
@@ -199,14 +199,8 @@ export default class Premise {
199
199
  return json;
200
200
  }
201
201
 
202
- static fromJSONAndFileContext(json, fileContext) {
203
- const { metastatement, statement } = json,
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 fromStatementNode(statementNode) {
223
- const metastatementNode = null,
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, localContextOrLocalMetaContext) {
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(localContextOrLocalMetaContext);
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 = LocalContext.fromLocalMetaContext(localMetaContext),
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 = LocalContext.fromLocalMetaContext(localMetaContext),
99
+ const localContext = localMetaContext, ///
101
100
  standaloneTermVerified = verifyStandaloneTerm(termNode, localContext, verifyAhead),
102
101
  termNodeVerified = standaloneTermVerified; ///
103
102
 
@@ -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 metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
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 derived = false,
19
- assignments = [],
20
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(conclusionNode),
21
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
21
+ const unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode),
22
+ unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(conclusionNode);
22
23
 
23
- if (unqualifiedMetastatementVerified) {
24
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
25
- conclusion = Conclusion.fromMetastatementNode(metastatementNode);
24
+ if (unqualifiedStatementNode !== null) {
25
+ const derived = false,
26
+ assignments = [],
27
+ localContext = localMetaContext, ///
28
+ unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
26
29
 
27
- conclusions.push(conclusion);
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 = true;
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 metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
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 derived = false,
19
- assignments = [],
20
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode),
21
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
21
+ const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaConsequentNode),
22
+ unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode);
22
23
 
23
- if (unqualifiedMetastatementVerified) {
24
- metaConsequentVerified = true;
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
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
29
- metaConsequent = MetaConsequent.fromMetastatementNode(metastatementNode);
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 assignmentAssigned = assignAssignment(assignments, localMetaContext);
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 assignmentAssigned = assignAssignment(assignments, localMetaContext);
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 metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
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 derived = false,
21
- assignments = [],
22
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSuppositionNode),
23
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
23
+ const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaSuppositionNode),
24
+ unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSuppositionNode);
24
25
 
25
- if (unqualifiedMetastatementVerified) {
26
- const assignmentAssigned = assignAssignment(assignments, localMetaContext);
26
+ if (unqualifiedStatementNode !== null) {
27
+ const derived = false,
28
+ assignments = [],
29
+ localContext = localMetaContext, ///
30
+ unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
27
31
 
28
- metaSuppositionVerified = assignmentAssigned; ///
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
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
33
- metaSupposition = MetaSupposition.fromMetastatementNode(metastatementNode),
34
- metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
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 substitution = substitutionSubstitution,
42
- localContext = localContextB, ///
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 metavariableNode = metavariableNodeA, ///
64
- statementNode = statementNodeB, ///
63
+ const statementNode = statementNodeB, ///
64
+ metavariableNode = metavariableNodeA, ///
65
65
  statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromMetavariableNodeStatementNodeAndSubstitutionNode(metavariableNode, statementNode, substitutionNode),
66
66
  substitution = statementForMetavariableSubstitution; ///
67
67
 
@@ -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 metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
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 unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(premiseNode);
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 assignmentAssigned = assignAssignment(assignments, localMetaContext);
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
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
36
- metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode),
37
- premise = Premise.fromMetastatementNode(metastatementNode);
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 = LocalContext.fromLocalMetaContext(localMetaContext);
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 assignmentAssigned = assignAssignment(assignments, localMetaContext);
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 assignmentAssigned = assignAssignment(assignments, localMetaContext);
100
+ const localContext = localMetaContext, ///
101
+ assignmentAssigned = assignAssignment(assignments, localContext);
102
102
 
103
103
  unqualifiedMetastatementVerified = assignmentAssigned; ///
104
104
  }