occam-verify-cli 0.0.913 → 0.0.915

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.
Files changed (110) hide show
  1. package/lib/assignment/frameAssertion.js +4 -4
  2. package/lib/axiomLemmaTheoremConjecture.js +4 -3
  3. package/lib/conclusion.js +5 -5
  4. package/lib/context/file.js +3 -3
  5. package/lib/context/local/intrinsicLevel.js +326 -0
  6. package/lib/context/local/metaLevel.js +290 -0
  7. package/lib/metaConsequent.js +4 -4
  8. package/lib/metaLemmaMetatheorem.js +11 -11
  9. package/lib/metaSupposition.js +7 -7
  10. package/lib/metavariable.js +5 -5
  11. package/lib/premise.js +12 -12
  12. package/lib/rule.js +12 -12
  13. package/lib/verifier/node/metaLevel.js +214 -0
  14. package/lib/verifier/node/statementAsCombinator.js +9 -9
  15. package/lib/verifier/node/termAsConstructor.js +7 -7
  16. package/lib/verify/axiom.js +3 -3
  17. package/lib/verify/conclusion.js +7 -7
  18. package/lib/verify/conjecture.js +3 -3
  19. package/lib/verify/containedAssertion.js +23 -4
  20. package/lib/verify/declaration.js +15 -15
  21. package/lib/verify/definedAssertion.js +18 -4
  22. package/lib/verify/derivation.js +3 -3
  23. package/lib/verify/frame.js +16 -16
  24. package/lib/verify/frameAssertion.js +33 -33
  25. package/lib/verify/lemma.js +3 -3
  26. package/lib/verify/metaConsequent.js +7 -7
  27. package/lib/verify/metaDerivation.js +3 -3
  28. package/lib/verify/metaLemma.js +6 -6
  29. package/lib/verify/metaSubDerivation.js +3 -3
  30. package/lib/verify/metaSubproof.js +7 -6
  31. package/lib/verify/metaSupposition.js +9 -9
  32. package/lib/verify/metaSuppositions.js +3 -3
  33. package/lib/verify/metaproof.js +7 -6
  34. package/lib/verify/metaproofStep.js +23 -23
  35. package/lib/verify/metastatement/qualified.js +22 -22
  36. package/lib/verify/metastatement/unqualified.js +7 -7
  37. package/lib/verify/metastatement.js +26 -26
  38. package/lib/verify/metatheorem.js +6 -6
  39. package/lib/verify/metavariable.js +6 -6
  40. package/lib/verify/premise.js +9 -9
  41. package/lib/verify/premises.js +3 -3
  42. package/lib/verify/proof.js +4 -3
  43. package/lib/verify/rule.js +6 -6
  44. package/lib/verify/ruleDerivation.js +3 -3
  45. package/lib/verify/ruleProof.js +7 -6
  46. package/lib/verify/ruleProofStep.js +26 -25
  47. package/lib/verify/ruleSubDerivation.js +3 -3
  48. package/lib/verify/ruleSubproof.js +7 -6
  49. package/lib/verify/statement.js +4 -17
  50. package/lib/verify/subDerivation.js +3 -3
  51. package/lib/verify/subproof.js +4 -3
  52. package/lib/verify/termAsConstructor.js +3 -3
  53. package/lib/verify/theorem.js +4 -4
  54. package/package.json +2 -2
  55. package/src/assignment/frameAssertion.js +5 -5
  56. package/src/axiomLemmaTheoremConjecture.js +4 -2
  57. package/src/conclusion.js +7 -7
  58. package/src/context/file.js +2 -2
  59. package/src/context/{local.js → local/intrinsicLevel.js} +25 -20
  60. package/src/context/{localMeta.js → local/metaLevel.js} +21 -16
  61. package/src/metaConsequent.js +7 -7
  62. package/src/metaLemmaMetatheorem.js +11 -11
  63. package/src/metaSupposition.js +13 -13
  64. package/src/metavariable.js +6 -7
  65. package/src/premise.js +26 -26
  66. package/src/rule.js +12 -12
  67. package/src/verifier/node/{metastatement.js → metaLevel.js} +19 -21
  68. package/src/verifier/node/statementAsCombinator.js +8 -8
  69. package/src/verifier/node/termAsConstructor.js +6 -6
  70. package/src/verify/axiom.js +4 -3
  71. package/src/verify/conclusion.js +5 -6
  72. package/src/verify/conjecture.js +4 -3
  73. package/src/verify/containedAssertion.js +24 -3
  74. package/src/verify/declaration.js +15 -15
  75. package/src/verify/definedAssertion.js +23 -3
  76. package/src/verify/derivation.js +2 -2
  77. package/src/verify/frame.js +15 -15
  78. package/src/verify/frameAssertion.js +33 -33
  79. package/src/verify/lemma.js +4 -3
  80. package/src/verify/metaConsequent.js +5 -6
  81. package/src/verify/metaDerivation.js +2 -2
  82. package/src/verify/metaLemma.js +8 -7
  83. package/src/verify/metaSubDerivation.js +2 -2
  84. package/src/verify/metaSubproof.js +7 -5
  85. package/src/verify/metaSupposition.js +7 -8
  86. package/src/verify/metaSuppositions.js +2 -2
  87. package/src/verify/metaproof.js +7 -5
  88. package/src/verify/metaproofStep.js +21 -25
  89. package/src/verify/metastatement/qualified.js +24 -24
  90. package/src/verify/metastatement/unqualified.js +6 -6
  91. package/src/verify/metastatement.js +25 -25
  92. package/src/verify/metatheorem.js +8 -7
  93. package/src/verify/metavariable.js +5 -5
  94. package/src/verify/premise.js +7 -8
  95. package/src/verify/premises.js +2 -2
  96. package/src/verify/proof.js +4 -2
  97. package/src/verify/rule.js +8 -7
  98. package/src/verify/ruleDerivation.js +2 -2
  99. package/src/verify/ruleProof.js +7 -5
  100. package/src/verify/ruleProofStep.js +22 -25
  101. package/src/verify/ruleSubDerivation.js +2 -2
  102. package/src/verify/ruleSubproof.js +7 -5
  103. package/src/verify/statement.js +2 -22
  104. package/src/verify/subDerivation.js +2 -2
  105. package/src/verify/subproof.js +4 -2
  106. package/src/verify/termAsConstructor.js +4 -3
  107. package/src/verify/theorem.js +5 -4
  108. package/lib/context/local.js +0 -320
  109. package/lib/context/localMeta.js +0 -284
  110. package/lib/verifier/node/metastatement.js +0 -214
@@ -2,10 +2,10 @@
2
2
 
3
3
  import Lemma from "../lemma";
4
4
  import verifyProof from "../verify/proof";
5
- import LocalContext from "../context/local";
6
5
  import verifyLabels from "../verify/labels";
7
6
  import verifyConsequent from "../verify/consequent";
8
7
  import verifySuppositions from "../verify/suppositions";
8
+ import IntrinsicLevelLocalContext from "../context/local/intrinsicLevel";
9
9
 
10
10
  import { first } from "../utilities/array";
11
11
  import { EMPTY_STRING } from "../constants";
@@ -19,9 +19,10 @@ const proofNodeQuery = nodeQuery("/lemma/proof!"),
19
19
  export default function verifyLemma(lemmaNode, fileContext) {
20
20
  let lemmaVerified = false;
21
21
 
22
- const labelNodes = labelNodesQuery(lemmaNode),
22
+ const intrinsicLevelLocalContext = IntrinsicLevelLocalContext.fromFileContext(fileContext),
23
+ labelNodes = labelNodesQuery(lemmaNode),
23
24
  labelsString = fileContext.nodesAsString(labelNodes),
24
- localContext = LocalContext.fromFileContext(fileContext);
25
+ localContext = intrinsicLevelLocalContext; ///
25
26
 
26
27
  (labelsString === EMPTY_STRING) ?
27
28
  fileContext.trace(`Verifying a lemma...`, lemmaNode) :
@@ -11,12 +11,12 @@ const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
11
11
  unqualifiedStatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedStatement!"),
12
12
  unqualifiedMetastatementNodeQuery = nodeQuery("/metaConsequent/unqualifiedMetastatement!");
13
13
 
14
- export default function verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localMetaContext) {
14
+ export default function verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localContext) {
15
15
  let metaConsequentVerified = false;
16
16
 
17
- const metaConsequentString = localMetaContext.nodeAsString(metaConsequentNode);
17
+ const metaConsequentString = localContext.nodeAsString(metaConsequentNode);
18
18
 
19
- localMetaContext.trace(`Verifying the '${metaConsequentString}' meta-consequent...`, metaConsequentNode);
19
+ localContext.trace(`Verifying the '${metaConsequentString}' meta-consequent...`, metaConsequentNode);
20
20
 
21
21
  const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaConsequentNode),
22
22
  unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConsequentNode);
@@ -24,7 +24,6 @@ export default function verifyMetaConsequent(metaConsequentNode, metaConsequents
24
24
  if (unqualifiedStatementNode !== null) {
25
25
  const derived = false,
26
26
  assignments = [],
27
- localContext = localMetaContext, ///
28
27
  unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
29
28
 
30
29
  metaConsequentVerified = unqualifiedStatementVerified; ///
@@ -33,7 +32,7 @@ export default function verifyMetaConsequent(metaConsequentNode, metaConsequents
33
32
  if (unqualifiedMetastatementNode !== null) {
34
33
  const derived = false,
35
34
  assignments = [],
36
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
35
+ unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
37
36
 
38
37
  metaConsequentVerified = unqualifiedMetastatementVerified; ///
39
38
  }
@@ -55,7 +54,7 @@ export default function verifyMetaConsequent(metaConsequentNode, metaConsequents
55
54
 
56
55
  metaConsequents.push(metaConsequent);
57
56
 
58
- localMetaContext.debug(`...verified the '${metaConsequentString}' meta-consequent.`, metaConsequentNode);
57
+ localContext.debug(`...verified the '${metaConsequentString}' meta-consequent.`, metaConsequentNode);
59
58
  }
60
59
 
61
60
  return metaConsequentVerified;
@@ -6,13 +6,13 @@ import { nodesQuery } from "../utilities/query";
6
6
 
7
7
  const metaproofStepNodesQuery = nodesQuery("/metaDerivation/metaproofStep|lastMetaproofStep");
8
8
 
9
- export default function verifyMetaDerivation(metaDerivationNode, substitutions, localMetaContext) {
9
+ export default function verifyMetaDerivation(metaDerivationNode, substitutions, localContext) {
10
10
  let metaDerivationVerified;
11
11
 
12
12
  const metaproofStepNodes = metaproofStepNodesQuery(metaDerivationNode);
13
13
 
14
14
  metaDerivationVerified = metaproofStepNodes.every((metaproofStepNode) => {
15
- const metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext);
15
+ const metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localContext);
16
16
 
17
17
  if (metaproofStepVerified) {
18
18
  return true;
@@ -3,8 +3,8 @@
3
3
  import MetaLemma from "../metaLemma";
4
4
  import verifyLabels from "../verify/labels";
5
5
  import verifyMetaproof from "../verify/metaproof";
6
- import LocalMetaContext from "../context/localMeta";
7
6
  import verifyMetaConsequent from "../verify/metaConsequent";
7
+ import MetaLevelLocalContext from "../context/local/metaLevel";
8
8
  import verifyMetaSuppositions from "../verify/metaSuppositions";
9
9
 
10
10
  import { first } from "../utilities/array";
@@ -20,8 +20,7 @@ export default function verifyMetaLemma(metaLemmaNode, fileContext) {
20
20
  let metaLemmaVerified = false;
21
21
 
22
22
  const labelNodes = labelNodesQuery(metaLemmaNode),
23
- labelsString = fileContext.nodesAsString(labelNodes),
24
- localMetaContext = LocalMetaContext.fromFileContext(fileContext);
23
+ labelsString = fileContext.nodesAsString(labelNodes);
25
24
 
26
25
  (labelsString === EMPTY_STRING) ?
27
26
  fileContext.trace(`Verifying a meta-lLemma...`, metaLemmaNode) :
@@ -31,21 +30,23 @@ export default function verifyMetaLemma(metaLemmaNode, fileContext) {
31
30
  labelsVerified = verifyLabels(labelNodes, labels, fileContext);
32
31
 
33
32
  if (labelsVerified) {
34
- const substitutions = [],
33
+ const metaLevelLocalContext = MetaLevelLocalContext.fromFileContext(fileContext),
34
+ localContext = metaLevelLocalContext, ///
35
+ substitutions = [],
35
36
  metaSuppositions = [],
36
37
  metaSuppositionNodes = metaSuppositionsNodeQuery(metaLemmaNode),
37
- metaSuppositionsVerified = verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localMetaContext);
38
+ metaSuppositionsVerified = verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext);
38
39
 
39
40
  if (metaSuppositionsVerified) {
40
41
  const metaConsequents = [],
41
42
  metaConsequentNode = metaConsequentNodeQuery(metaLemmaNode),
42
- metaConsequentVerified = verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localMetaContext);
43
+ metaConsequentVerified = verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localContext);
43
44
 
44
45
  if (metaConsequentVerified) {
45
46
  const metaproofNode = metaproofNodeQuery(metaLemmaNode),
46
47
  firstMetaConsequent = first(metaConsequents),
47
48
  metaConsequent = firstMetaConsequent, ///
48
- metaproofVerified = verifyMetaproof(metaproofNode, metaConsequent, substitutions, localMetaContext);
49
+ metaproofVerified = verifyMetaproof(metaproofNode, metaConsequent, substitutions, localContext);
49
50
 
50
51
  if (metaproofVerified) {
51
52
  const metaLemma = MetaLemma.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext);
@@ -4,14 +4,14 @@ import { nodesQuery } from "../utilities/query";
4
4
 
5
5
  const metaproofStepNodesQuery = nodesQuery("/metaSubDerivation/metaproofStep|lastMetaproofStep");
6
6
 
7
- export default function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext) {
7
+ export default function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localContext) {
8
8
  let metaSubDerivationVerified;
9
9
 
10
10
  const metaproofStepNodes = metaproofStepNodesQuery(metaSubDerivationNode);
11
11
 
12
12
  metaSubDerivationVerified = metaproofStepNodes.every((metaproofStepNode) => {
13
13
  const { verifyMetaproofStep } = verifyMetaSubDerivation,
14
- metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext);
14
+ metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localContext);
15
15
 
16
16
  if (metaproofStepVerified) {
17
17
  return true;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import LocalMetaContext from "../context/localMeta";
3
+ import MetaLevelLocalContext from "../context/local/metaLevel";
4
4
  import verifyMetaSuppositions from "../verify/metaSuppositions";
5
5
  import verifyMetaSubDerivation from "../verify/metaSubDerivation";
6
6
 
@@ -9,18 +9,20 @@ import { nodeQuery, nodesQuery } from "../utilities/query";
9
9
  const suppositionNodesQuery = nodesQuery("/metaSubproof/supposition"),
10
10
  metaSubDerivationNodeQuery = nodeQuery("/metaSubproof/metaSubDerivation");
11
11
 
12
- export default function verifyMetaSubproof(metaSubproofNode, substitutions, localMetaContext) {
12
+ export default function verifyMetaSubproof(metaSubproofNode, substitutions, localContext) {
13
13
  let metaSubproofVerified = false;
14
14
 
15
- localMetaContext = LocalMetaContext.fromLocalMetaContext(localMetaContext); ///
15
+ const metaLevelLocalContext = MetaLevelLocalContext.fromLocalContext(localContext);
16
+
17
+ localContext = metaLevelLocalContext; ///
16
18
 
17
19
  const metaSuppositions = [],
18
20
  suppositionNodes = suppositionNodesQuery(metaSubproofNode),
19
- metaSuppositionsVerified = verifyMetaSuppositions(suppositionNodes, metaSuppositions, localMetaContext);
21
+ metaSuppositionsVerified = verifyMetaSuppositions(suppositionNodes, metaSuppositions, localContext);
20
22
 
21
23
  if (metaSuppositionsVerified) {
22
24
  const metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode),
23
- metaSubDerivationVerified = verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext);
25
+ metaSubDerivationVerified = verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localContext);
24
26
 
25
27
  if (metaSubDerivationVerified) {
26
28
  metaSubproofVerified = true;
@@ -13,12 +13,12 @@ const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
13
13
  unqualifiedStatementNodeQuery = nodeQuery("/metaSupposition/unqualifiedStatement!"),
14
14
  unqualifiedMetastatementNodeQuery = nodeQuery("/metaSupposition/unqualifiedMetastatement!");
15
15
 
16
- export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localMetaContext) {
16
+ export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localContext) {
17
17
  let metaSuppositionVerified = false;
18
18
 
19
- const metaSuppositionString = localMetaContext.nodeAsString(metaSuppositionNode);
19
+ const metaSuppositionString = localContext.nodeAsString(metaSuppositionNode);
20
20
 
21
- localMetaContext.trace(`Verifying the '${metaSuppositionString}' meta-supposition...`, metaSuppositionNode);
21
+ localContext.trace(`Verifying the '${metaSuppositionString}' meta-supposition...`, metaSuppositionNode);
22
22
 
23
23
  const unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaSuppositionNode),
24
24
  unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSuppositionNode);
@@ -26,7 +26,6 @@ export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositi
26
26
  if (unqualifiedStatementNode !== null) {
27
27
  const derived = false,
28
28
  assignments = [],
29
- localContext = localMetaContext, ///
30
29
  unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
31
30
 
32
31
  if (unqualifiedStatementVerified) {
@@ -39,10 +38,10 @@ export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositi
39
38
  if (unqualifiedMetastatementNode !== null) {
40
39
  const derived = false,
41
40
  assignments = [],
42
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
41
+ unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
43
42
 
44
43
  if (unqualifiedMetastatementVerified) {
45
- const localContext = localMetaContext, ///
44
+ const localContext = localContext, ///
46
45
  assignmentAssigned = assignAssignment(assignments, localContext);
47
46
 
48
47
  metaSuppositionVerified = assignmentAssigned; ///
@@ -71,9 +70,9 @@ export default function verifyMetaSupposition(metaSuppositionNode, metaSuppositi
71
70
 
72
71
  metaSuppositions.push(metaSupposition);
73
72
 
74
- localMetaContext.addMetaproofStep(metaproofStep);
73
+ localContext.addMetaproofStep(metaproofStep);
75
74
 
76
- localMetaContext.debug(`...verified the '${metaSuppositionString}' meta-supposition.`, metaSuppositionNode);
75
+ localContext.debug(`...verified the '${metaSuppositionString}' meta-supposition.`, metaSuppositionNode);
77
76
  }
78
77
 
79
78
  return metaSuppositionVerified;
@@ -2,11 +2,11 @@
2
2
 
3
3
  import verifyMetaSupposition from "../verify/metaSupposition";
4
4
 
5
- export default function verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localMetaContext) {
5
+ export default function verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext) {
6
6
  let metaSuppositionsVerified;
7
7
 
8
8
  metaSuppositionsVerified = metaSuppositionNodes.every((metaSuppositionNode) => {
9
- const metaSuppositionVerified = verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localMetaContext);
9
+ const metaSuppositionVerified = verifyMetaSupposition(metaSuppositionNode, metaSuppositions, localContext);
10
10
 
11
11
  if (metaSuppositionVerified) {
12
12
  return true;
@@ -1,22 +1,24 @@
1
1
  "use strict";
2
2
 
3
- import LocalMetaContext from "../context/localMeta";
4
3
  import verifyMetaDerivation from "../verify/metaDerivation";
4
+ import MetaLevelLocalContext from "../context/local/metaLevel";
5
5
 
6
6
  import { nodeQuery } from "../utilities/query";
7
7
 
8
8
  const metaDerivationNodeQuery = nodeQuery("/metaproof/metaDerivation!");
9
9
 
10
- export default function verifyMetaproof(metaproofNode, conclusion, substitutions, localMetaContext) {
10
+ export default function verifyMetaproof(metaproofNode, conclusion, substitutions, localContext) {
11
11
  let metaproofVerified = false;
12
12
 
13
- localMetaContext = LocalMetaContext.fromLocalMetaContext(localMetaContext); ///
13
+ const metaLevelLocalContext = MetaLevelLocalContext.fromLocalContext(localContext);
14
+
15
+ localContext = metaLevelLocalContext; ///
14
16
 
15
17
  const metaDerivationNode = metaDerivationNodeQuery(metaproofNode),
16
- metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, substitutions, localMetaContext);
18
+ metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, substitutions, localContext);
17
19
 
18
20
  if (metaDerivationVerified) {
19
- const lastMetaproofStep = localMetaContext.getLastMetaproofStep(),
21
+ const lastMetaproofStep = localContext.getLastMetaproofStep(),
20
22
  metaproofStep = lastMetaproofStep, ///
21
23
  metastatementNode = metaproofStep.getMetastatementNode(),
22
24
  conclusionMetastatementNode = conclusion.getMetastatementNode(),
@@ -18,7 +18,7 @@ const metaSubproofNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/metaSu
18
18
  qualifiedMetastatementNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/qualifiedMetastatement!"),
19
19
  unqualifiedMetastatementNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/unqualifiedMetastatement!");
20
20
 
21
- export default function verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext) {
21
+ export default function verifyMetaproofStep(metaproofStepNode, substitutions, localContext) {
22
22
  let metaproofStepVerified = false;
23
23
 
24
24
  const metaSubproofNode = metaSubproofNodeQuery(metaproofStepNode),
@@ -32,20 +32,19 @@ export default function verifyMetaproofStep(metaproofStepNode, substitutions, lo
32
32
  } else if (metaSubproofNode !== null) {
33
33
  let metaSubproofVerified;
34
34
 
35
- metaSubproofVerified = verifyMetaSubproof(metaSubproofNode, substitutions, localMetaContext);
35
+ metaSubproofVerified = verifyMetaSubproof(metaSubproofNode, substitutions, localContext);
36
36
 
37
37
  if (metaSubproofVerified) {
38
38
  const metaproofStep = MetaproofStep.fromMetaSubproofNode(metaSubproofNode);
39
39
 
40
- localMetaContext.addMetaproofStep(metaproofStep);
40
+ localContext.addMetaproofStep(metaproofStep);
41
41
 
42
42
  metaproofStepVerified = true;
43
43
  }
44
44
  } else if (qualifiedStatementNode !== null) {
45
45
  let qualifiedStatementVerified;
46
46
 
47
- const assignments = [],
48
- localContext = localMetaContext; ///
47
+ const assignments = []; ///
49
48
 
50
49
  qualifiedStatementVerified = verifyQualifiedStatement(qualifiedStatementNode, assignments, localContext);
51
50
 
@@ -59,43 +58,41 @@ export default function verifyMetaproofStep(metaproofStepNode, substitutions, lo
59
58
  const statementNode = statementNodeQuery(qualifiedStatementNode),
60
59
  metaproofStep = MetaproofStep.fromStatementNode(statementNode);
61
60
 
62
- localMetaContext.addMetaproofStep(metaproofStep);
61
+ localContext.addMetaproofStep(metaproofStep);
63
62
 
64
63
  metaproofStepVerified = true;
65
64
  }
66
65
  } else if (unqualifiedStatementNode !== null) {
67
- let qualifiedStatementVerified;
66
+ let unqualifiedStatementVerified;
68
67
 
69
- const assignments = [],
70
- localContext = localMetaContext, ///
71
- substitutions = null;
68
+ const derived = true,
69
+ assignments = [];
72
70
 
73
- qualifiedStatementVerified = verifyQualifiedStatement(qualifiedStatementNode, substitutions, assignments, localContext);
71
+ unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
74
72
 
75
- if (qualifiedStatementVerified) {
73
+ if (unqualifiedStatementVerified) {
76
74
  const assignmentAssigned = assignAssignment(assignments, localContext);
77
75
 
78
- qualifiedStatementVerified = assignmentAssigned; ///
76
+ unqualifiedStatementVerified = assignmentAssigned; ///
79
77
  }
80
78
 
81
- if (qualifiedStatementVerified) {
82
- const statementNode = statementNodeQuery(qualifiedStatementNode),
79
+ if (unqualifiedStatementVerified) {
80
+ const statementNode = statementNodeQuery(unqualifiedStatementNode),
83
81
  metaproofStep = MetaproofStep.fromStatementNode(statementNode);
84
82
 
85
- localMetaContext.addMetaproofStep(metaproofStep);
83
+ localContext.addMetaproofStep(metaproofStep);
86
84
 
87
- metaproofStepVerified = qualifiedStatementVerified; ///
85
+ metaproofStepVerified = unqualifiedStatementVerified; ///
88
86
  }
89
87
  } else if (qualifiedMetastatementNode !== null) {
90
88
  let qualifiedMetastatementVerified;
91
89
 
92
90
  const assignments = [];
93
91
 
94
- qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localMetaContext);
92
+ qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localContext);
95
93
 
96
94
  if (qualifiedMetastatementVerified) {
97
- const localContext = localMetaContext, ///
98
- assignmentAssigned = assignAssignment(assignments, localContext);
95
+ const assignmentAssigned = assignAssignment(assignments, localContext);
99
96
 
100
97
  qualifiedMetastatementVerified = assignmentAssigned; ///
101
98
  }
@@ -104,7 +101,7 @@ export default function verifyMetaproofStep(metaproofStepNode, substitutions, lo
104
101
  const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
105
102
  metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
106
103
 
107
- localMetaContext.addMetaproofStep(metaproofStep);
104
+ localContext.addMetaproofStep(metaproofStep);
108
105
 
109
106
  metaproofStepVerified = qualifiedMetastatementVerified; ///
110
107
  }
@@ -114,11 +111,10 @@ export default function verifyMetaproofStep(metaproofStepNode, substitutions, lo
114
111
  const derived = true,
115
112
  assignments = [];
116
113
 
117
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext);
114
+ unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
118
115
 
119
116
  if (unqualifiedMetastatementVerified) {
120
- const localContext = localMetaContext, ///
121
- assignmentAssigned = assignAssignment(assignments, localContext);
117
+ const assignmentAssigned = assignAssignment(assignments, localContext);
122
118
 
123
119
  unqualifiedMetastatementVerified = assignmentAssigned; ///
124
120
  }
@@ -127,7 +123,7 @@ export default function verifyMetaproofStep(metaproofStepNode, substitutions, lo
127
123
  const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
128
124
  metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
129
125
 
130
- localMetaContext.addMetaproofStep(metaproofStep);
126
+ localContext.addMetaproofStep(metaproofStep);
131
127
 
132
128
  metaproofStepVerified = true;
133
129
  }
@@ -7,12 +7,12 @@ import { nodeQuery } from "../../utilities/query";
7
7
  const metavariableNodeQuery = nodeQuery("/qualifiedMetastatement/reference!/metavariable!"),
8
8
  metastatementNodeQuery = nodeQuery("/qualifiedMetastatement/metastatement!");
9
9
 
10
- export default function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localMetaContext) {
10
+ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localContext) {
11
11
  let qualifiedMetastatementVerified;
12
12
 
13
- const qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
13
+ const qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
14
14
 
15
- localMetaContext.trace(`Verifying the '${qualifiedMetastatementString}' qualified metastatement...`, qualifiedMetastatementNode);
15
+ localContext.trace(`Verifying the '${qualifiedMetastatementString}' qualified metastatement...`, qualifiedMetastatementNode);
16
16
 
17
17
  const metavariableNode = metavariableNodeQuery(qualifiedMetastatementNode),
18
18
  verifyQualifiedMetastatementFunctions = [
@@ -21,7 +21,7 @@ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode,
21
21
  ];
22
22
 
23
23
  qualifiedMetastatementVerified = verifyQualifiedMetastatementFunctions.some((verifyQualifiedMetastatementFunction) => { ///
24
- const qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext);
24
+ const qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localContext);
25
25
 
26
26
  if (qualifiedMetastatementVerified) {
27
27
  return true;
@@ -31,7 +31,7 @@ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode,
31
31
  if (qualifiedMetastatementVerified) {
32
32
  const derived = false,
33
33
  metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
34
- metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, () => {
34
+ metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localContext, () => {
35
35
  const verifiedAhead = true;
36
36
 
37
37
  return verifiedAhead;
@@ -41,45 +41,45 @@ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode,
41
41
  }
42
42
 
43
43
  if (qualifiedMetastatementVerified) {
44
- localMetaContext.debug(`...verified the '${qualifiedMetastatementString}' qualified metastatement.`, qualifiedMetastatementNode);
44
+ localContext.debug(`...verified the '${qualifiedMetastatementString}' qualified metastatement.`, qualifiedMetastatementNode);
45
45
  }
46
46
 
47
47
  return qualifiedMetastatementVerified;
48
48
  }
49
49
 
50
- function verifyQualifiedMetastatementAAgainstRule(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext) {
50
+ function verifyQualifiedMetastatementAAgainstRule(qualifiedMetastatementNode, metavariableNode, substitutions, localContext) {
51
51
  let qualifiedMetastatementVerifiedAgainstRule = false;
52
52
 
53
- const rule = localMetaContext.findRuleByMetavariableNode(metavariableNode);
53
+ const rule = localContext.findRuleByMetavariableNode(metavariableNode);
54
54
 
55
55
  if (rule !== null) {
56
56
  const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
57
- metavariableString = localMetaContext.nodeAsString(metavariableNode),
58
- qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
57
+ metavariableString = localContext.nodeAsString(metavariableNode),
58
+ qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
59
59
 
60
- localMetaContext.trace(`Verifying the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' rule...`, qualifiedMetastatementNode);
60
+ localContext.trace(`Verifying the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' rule...`, qualifiedMetastatementNode);
61
61
 
62
- const ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, localMetaContext);
62
+ const ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, localContext);
63
63
 
64
64
  qualifiedMetastatementVerifiedAgainstRule = ruleMatchesMetastatement; ///
65
65
 
66
66
  if (qualifiedMetastatementVerifiedAgainstRule) {
67
- localMetaContext.debug(`...verified the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' rule.`, qualifiedMetastatementNode);
67
+ localContext.debug(`...verified the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' rule.`, qualifiedMetastatementNode);
68
68
  }
69
69
  }
70
70
 
71
71
  return qualifiedMetastatementVerifiedAgainstRule;
72
72
  }
73
73
 
74
- function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext) {
74
+ function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNode, metavariableNode, substitutions, localContext) {
75
75
  let qualifiedMetastatementVerifiedAgainstReference = false;
76
76
 
77
77
  if (substitutions !== null) {
78
- const metavariableString = localMetaContext.nodeAsString(metavariableNode),
79
- metavariablePresent = localMetaContext.isMetavariablePresentByMetavariableNode(metavariableNode, localMetaContext),
80
- qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
78
+ const metavariableString = localContext.nodeAsString(metavariableNode),
79
+ metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode, localContext),
80
+ qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
81
81
 
82
- localMetaContext.trace(`Verifying the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' reference...`, qualifiedMetastatementNode);
82
+ localContext.trace(`Verifying the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' reference...`, qualifiedMetastatementNode);
83
83
 
84
84
  if (metavariablePresent) {
85
85
  const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
@@ -93,26 +93,26 @@ function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNod
93
93
  }
94
94
 
95
95
  if (qualifiedMetastatementVerifiedAgainstReference) {
96
- localMetaContext.debug(`...verified the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' reference.`, qualifiedMetastatementNode);
96
+ localContext.debug(`...verified the '${qualifiedMetastatementString}' qualified metastatement against the '${metavariableString}' reference.`, qualifiedMetastatementNode);
97
97
  }
98
98
  }
99
99
 
100
100
  return qualifiedMetastatementVerifiedAgainstReference;
101
101
  }
102
102
 
103
- function verifyMetastatement(metastatementNode, assignments, derived, localMetaContext) {
103
+ function verifyMetastatement(metastatementNode, assignments, derived, localContext) {
104
104
  let metastatementVerified;
105
105
 
106
- const metastatementString = localMetaContext.nodeAsString(metastatementNode);
106
+ const metastatementString = localContext.nodeAsString(metastatementNode);
107
107
 
108
- localMetaContext.trace(`Verifying the '${metastatementString}' metastatement...`, metastatementNode);
108
+ localContext.trace(`Verifying the '${metastatementString}' metastatement...`, metastatementNode);
109
109
 
110
110
  const verifyMetaStatementFunctions = [
111
111
  ///
112
112
  ];
113
113
 
114
114
  verifyMetaStatementFunctions.some((verifyStatementFunction) => {
115
- const metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localMetaContext);
115
+ const metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localContext);
116
116
 
117
117
  if (metastatementVerified) {
118
118
  return true;
@@ -122,7 +122,7 @@ function verifyMetastatement(metastatementNode, assignments, derived, localMetaC
122
122
  metastatementVerified = true; ///
123
123
 
124
124
  if (metastatementVerified) {
125
- localMetaContext.debug(`...verified the '${metastatementString}' metastatement.`, metastatementNode);
125
+ localContext.debug(`...verified the '${metastatementString}' metastatement.`, metastatementNode);
126
126
  }
127
127
 
128
128
  return metastatementVerified;
@@ -6,28 +6,28 @@ import { nodeQuery } from "../../utilities/query";
6
6
 
7
7
  const metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!");
8
8
 
9
- export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext) {
9
+ export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext) {
10
10
  let unqualifiedMetastatementVerified = false;
11
11
 
12
12
  const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
13
- unqualifiedMetastatementString = localMetaContext.nodeAsString(unqualifiedMetastatementNode);
13
+ unqualifiedMetastatementString = localContext.nodeAsString(unqualifiedMetastatementNode);
14
14
 
15
- localMetaContext.trace(`Verifying the '${unqualifiedMetastatementString}' unqualified metastatement...`, unqualifiedMetastatementNode);
15
+ localContext.trace(`Verifying the '${unqualifiedMetastatementString}' unqualified metastatement...`, unqualifiedMetastatementNode);
16
16
 
17
17
  if (derived) {
18
- const matchesMetastatementNode = localMetaContext.matchMetastatementNode(metastatementNode);
18
+ const matchesMetastatementNode = localContext.matchMetastatementNode(metastatementNode);
19
19
 
20
20
  unqualifiedMetastatementVerified = matchesMetastatementNode; ///
21
21
  }
22
22
 
23
23
  if (!unqualifiedMetastatementVerified) {
24
- const metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext);
24
+ const metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localContext);
25
25
 
26
26
  unqualifiedMetastatementVerified = metastatementVerified; ///
27
27
  }
28
28
 
29
29
  if (unqualifiedMetastatementVerified) {
30
- localMetaContext.debug(`...verified the '${unqualifiedMetastatementString}' unqualified metastatement.`, unqualifiedMetastatementNode);
30
+ localContext.debug(`...verified the '${unqualifiedMetastatementString}' unqualified metastatement.`, unqualifiedMetastatementNode);
31
31
  }
32
32
 
33
33
  return unqualifiedMetastatementVerified;