occam-verify-cli 0.0.922 → 0.0.923

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 (99) hide show
  1. package/lib/conclusion.js +11 -41
  2. package/lib/constants.js +1 -5
  3. package/lib/context/local.js +15 -55
  4. package/lib/declaration.js +15 -15
  5. package/lib/metaLemmaMetatheorem.js +59 -59
  6. package/lib/mixins/nodesVerifier/metaLevel.js +6 -6
  7. package/lib/premise.js +14 -91
  8. package/lib/{step/proof.js → proofStep.js} +1 -1
  9. package/lib/rule.js +1 -45
  10. package/lib/ruleNames.js +1 -9
  11. package/lib/substitution/statementForMetavariable.js +9 -1
  12. package/lib/substitution.js +1 -8
  13. package/lib/supposition.js +55 -1
  14. package/lib/utilities/customGrammar.js +2 -2
  15. package/lib/utilities/match.js +13 -50
  16. package/lib/utilities/node.js +2 -27
  17. package/lib/utilities/tokens.js +1 -8
  18. package/lib/utilities/verify.js +8 -24
  19. package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +29 -29
  20. package/lib/verifier/nodes/metaLevel.js +13 -13
  21. package/lib/verify/conclusion.js +10 -11
  22. package/lib/verify/declaration.js +6 -6
  23. package/lib/verify/metaLemma.js +12 -12
  24. package/lib/verify/metastatement.js +64 -64
  25. package/lib/verify/metatheorem.js +12 -12
  26. package/lib/verify/premise.js +11 -30
  27. package/lib/verify/proofStep.js +5 -5
  28. package/lib/verify/rule.js +9 -9
  29. package/lib/verify/statement/qualified.js +35 -9
  30. package/lib/verify/statement/unqualified.js +1 -1
  31. package/lib/verify/supposition.js +3 -3
  32. package/package.json +1 -1
  33. package/src/conclusion.js +13 -52
  34. package/src/constants.js +0 -1
  35. package/src/context/local.js +17 -64
  36. package/src/declaration.js +19 -19
  37. package/src/metaLemmaMetatheorem.js +58 -58
  38. package/src/mixins/nodesVerifier/metaLevel.js +8 -8
  39. package/src/premise.js +20 -137
  40. package/src/rule.js +0 -67
  41. package/src/ruleNames.js +0 -2
  42. package/src/substitution/statementForMetavariable.js +14 -0
  43. package/src/substitution.js +0 -6
  44. package/src/supposition.js +46 -0
  45. package/src/utilities/customGrammar.js +1 -2
  46. package/src/utilities/match.js +13 -60
  47. package/src/utilities/node.js +3 -32
  48. package/src/utilities/tokens.js +0 -8
  49. package/src/utilities/verify.js +4 -20
  50. package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +36 -37
  51. package/src/verifier/nodes/metaLevel.js +17 -17
  52. package/src/verify/conclusion.js +9 -13
  53. package/src/verify/declaration.js +7 -7
  54. package/src/verify/metaLemma.js +22 -22
  55. package/src/verify/metastatement.js +64 -64
  56. package/src/verify/metatheorem.js +21 -21
  57. package/src/verify/premise.js +14 -46
  58. package/src/verify/proofStep.js +1 -1
  59. package/src/verify/rule.js +8 -8
  60. package/src/verify/statement/qualified.js +43 -9
  61. package/src/verify/statement/unqualified.js +1 -1
  62. package/src/verify/supposition.js +1 -1
  63. package/lib/metaConsequent.js +0 -108
  64. package/lib/metaSupposition.js +0 -160
  65. package/lib/node/metastatement/bracketed.js +0 -16
  66. package/lib/step/metaproof.js +0 -106
  67. package/lib/substitution/metastatementForMetavariable.js +0 -173
  68. package/lib/verify/metaConsequent.js +0 -50
  69. package/lib/verify/metaDerivation.js +0 -31
  70. package/lib/verify/metaSubDerivation.js +0 -25
  71. package/lib/verify/metaSubproof.js +0 -34
  72. package/lib/verify/metaSupposition.js +0 -61
  73. package/lib/verify/metaSuppositions.js +0 -28
  74. package/lib/verify/metaproof.js +0 -31
  75. package/lib/verify/metaproofStep.js +0 -98
  76. package/lib/verify/metastatement/qualified.js +0 -95
  77. package/lib/verify/metastatement/unqualified.js +0 -37
  78. package/lib/verify/metastatementAsContainedAssertion.js +0 -109
  79. package/lib/verify/metastatementAsDefinedAssertion.js +0 -132
  80. package/lib/verify/metavariableAgainstMetastatement.js +0 -44
  81. package/src/metaConsequent.js +0 -83
  82. package/src/metaSupposition.js +0 -127
  83. package/src/node/metastatement/bracketed.js +0 -9
  84. package/src/step/metaproof.js +0 -73
  85. package/src/substitution/metastatementForMetavariable.js +0 -90
  86. package/src/verify/metaConsequent.js +0 -61
  87. package/src/verify/metaDerivation.js +0 -23
  88. package/src/verify/metaSubDerivation.js +0 -22
  89. package/src/verify/metaSubproof.js +0 -32
  90. package/src/verify/metaSupposition.js +0 -78
  91. package/src/verify/metaSuppositions.js +0 -17
  92. package/src/verify/metaproof.js +0 -28
  93. package/src/verify/metaproofStep.js +0 -137
  94. package/src/verify/metastatement/qualified.js +0 -130
  95. package/src/verify/metastatement/unqualified.js +0 -34
  96. package/src/verify/metastatementAsContainedAssertion.js +0 -127
  97. package/src/verify/metastatementAsDefinedAssertion.js +0 -156
  98. package/src/verify/metavariableAgainstMetastatement.js +0 -42
  99. /package/src/{step/proof.js → proofStep.js} +0 -0
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ import verifyProof from "../verify/proof";
3
4
  import Metatheorem from "../metatheorem";
4
5
  import verifyLabels from "../verify/labels";
5
6
  import LocalContext from "../context/local";
6
- import verifyMetaproof from "../verify/metaproof";
7
- import verifyMetaConsequent from "../verify/metaConsequent";
8
- import verifyMetaSuppositions from "../verify/metaSuppositions";
7
+ import verifyConsequent from "../verify/consequent";
8
+ import verifySuppositions from "../verify/suppositions";
9
9
 
10
10
  import { first } from "../utilities/array";
11
11
  import { nodeQuery, nodesQuery } from "../utilities/query";
12
12
 
13
13
  const labelNodesQuery = nodesQuery("/metatheorem/label"),
14
- metaproofNodeQuery = nodeQuery("/metatheorem/metaproof!"),
15
- metaConsequentNodeQuery = nodeQuery("/metatheorem/metaConsequent!"),
16
- metaSuppositionsNodeQuery = nodesQuery("/metatheorem/metaSupposition");
14
+ proofNodeQuery = nodeQuery("/metatheorem/proof!"),
15
+ consequentNodeQuery = nodeQuery("/metatheorem/consequent!"),
16
+ suppositionsNodeQuery = nodesQuery("/metatheorem/supposition");
17
17
 
18
18
  export default function verifyMetatheorem(metatheoremNode, fileContext) {
19
19
  let metatheoremVerified = false;
@@ -29,24 +29,24 @@ export default function verifyMetatheorem(metatheoremNode, fileContext) {
29
29
  if (labelsVerified) {
30
30
  const localContext = LocalContext.fromFileContext(fileContext), ///
31
31
  substitutions = [],
32
- metaSuppositions = [],
33
- metaSuppositionNodes = metaSuppositionsNodeQuery(metatheoremNode),
34
- metaSuppositionsVerified = verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext);
32
+ suppositions = [],
33
+ suppositionNodes = suppositionsNodeQuery(metatheoremNode),
34
+ suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, substitutions, localContext);
35
35
 
36
- if (metaSuppositionsVerified) {
37
- const metaConsequents = [],
38
- metaConsequentNode = metaConsequentNodeQuery(metatheoremNode),
39
- metaConsequentVerified = verifyMetaConsequent(metaConsequentNode, metaConsequents, substitutions, localContext);
36
+ if (suppositionsVerified) {
37
+ const consequents = [],
38
+ consequentNode = consequentNodeQuery(metatheoremNode),
39
+ consequentVerified = verifyConsequent(consequentNode, consequents, substitutions, localContext);
40
40
 
41
- if (metaConsequentVerified) {
42
- const metaproofNode = metaproofNodeQuery(metatheoremNode),
43
- firstMetaConsequent = first(metaConsequents),
44
- metaConsequent = firstMetaConsequent, ///
45
- metastatementNode = metaConsequent.getMetastatementNode(),
46
- metaproofVerified = verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext);
41
+ if (consequentVerified) {
42
+ const proofNode = proofNodeQuery(metatheoremNode),
43
+ firstConsequent = first(consequents),
44
+ consequent = firstConsequent, ///
45
+ statementNode = consequent.getStatementNode(),
46
+ proofVerified = verifyProof(proofNode, statementNode, substitutions, localContext);
47
47
 
48
- if (metaproofVerified) {
49
- const metatheorem = Metatheorem.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext);
48
+ if (proofVerified) {
49
+ const metatheorem = Metatheorem.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions, fileContext);
50
50
 
51
51
  fileContext.addMetatheorem(metatheorem);
52
52
 
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  import Premise from "../premise";
4
- import MetaproofStep from "../step/metaproof";
4
+ import ProofStep from "../proofStep";
5
5
  import verifyUnqualifiedStatement from "../verify/statement/unqualified";
6
- import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
7
6
 
8
7
  import { nodeQuery } from "../utilities/query";
9
8
  import { assignAssignment } from "../utilities/assignments";
10
9
 
11
10
  const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!"),
12
- metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement!"),
13
- unqualifiedStatementNodeQuery = nodeQuery("/premise/unqualifiedStatement!"),
14
- unqualifiedMetastatementNodeQuery = nodeQuery("/premise/unqualifiedMetastatement!");
11
+ unqualifiedStatementNodeQuery = nodeQuery("/premise/unqualifiedStatement!");
15
12
 
16
13
  export default function verifyPremise(premiseNode, premises, localContext) {
17
14
  let premiseVerified;
@@ -21,56 +18,27 @@ export default function verifyPremise(premiseNode, premises, localContext) {
21
18
  localContext.trace(`Verifying the '${premiseString}' premise...`, premiseNode);
22
19
 
23
20
  const unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode),
24
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(premiseNode);
21
+ derived = false,
22
+ assignments = [],
23
+ unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
25
24
 
26
- if (unqualifiedStatementNode !== null) {
27
- const derived = false,
28
- assignments = [],
29
- unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
25
+ if (unqualifiedStatementVerified) {
26
+ const assignmentAssigned = assignAssignment(assignments, localContext);
30
27
 
31
- if (unqualifiedStatementVerified) {
32
- const assignmentAssigned = assignAssignment(assignments, localContext);
28
+ if (assignmentAssigned) {
29
+ const statementNode = statementNodeQuery(unqualifiedStatementNode),
30
+ metaproofStep = ProofStep.fromStatementNode(statementNode),
31
+ premise = Premise.fromStatementNode(statementNode);
33
32
 
34
- premiseVerified = assignmentAssigned; ///
35
- }
36
- }
33
+ premises.push(premise);
37
34
 
38
- if (unqualifiedMetastatementNode !== null) {
39
- const derived = false,
40
- assignments = [],
41
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext);
35
+ localContext.addProofStep(metaproofStep);
42
36
 
43
- if (unqualifiedMetastatementVerified) {
44
- const assignmentAssigned = assignAssignment(assignments, localContext);
45
-
46
- premiseVerified = assignmentAssigned; ///
37
+ premiseVerified = true;
47
38
  }
48
39
  }
49
40
 
50
41
  if (premiseVerified) {
51
- let premise,
52
- metaproofStep;
53
-
54
- if (unqualifiedStatementNode !== null) {
55
- const statementNode = statementNodeQuery(unqualifiedStatementNode);
56
-
57
- metaproofStep = MetaproofStep.fromMetastatementNode(statementNode);
58
-
59
- premise = Premise.fromStatementNode(statementNode);
60
- }
61
-
62
- if (unqualifiedMetastatementNode !== null) {
63
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
64
-
65
- metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
66
-
67
- premise = Premise.fromMetastatementNode(metastatementNode);
68
- }
69
-
70
- premises.push(premise);
71
-
72
- localContext.addMetaproofStep(metaproofStep);
73
-
74
42
  localContext.debug(`...verified the '${premiseString}' premise.`, premiseNode);
75
43
  }
76
44
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import ProofStep from "../step/proof";
3
+ import ProofStep from "../proofStep";
4
4
  import verifySubproof from "../verify/subproof";
5
5
  import verifySubDerivation from "../verify/subDerivation";
6
6
  import verifyQualifiedStatement from "../verify/statement/qualified";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import Rule from "../rule";
4
+ import verifyProof from "../verify/proof";
4
5
  import LocalContext from "../context/local";
5
6
  import verifyLabels from "../verify/labels";
6
7
  import verifyPremises from "../verify/premises";
7
- import verifyMetaproof from "../verify/metaproof";
8
8
  import verifyConclusion from "../verify/conclusion";
9
9
 
10
10
  import { first } from "../utilities/array";
@@ -12,7 +12,7 @@ import { nodeQuery, nodesQuery } from "../utilities/query";
12
12
 
13
13
  const labelNodesQuery = nodesQuery("/rule/label"),
14
14
  premisesNodeQuery = nodesQuery("/rule/premise"),
15
- metaproofNodeQuery = nodeQuery("/rule/metaproof!"),
15
+ proofNodeQuery = nodeQuery("/rule/proof!"),
16
16
  conclusionNodeQuery = nodeQuery("/rule/conclusion!");
17
17
 
18
18
  export default function verifyRule(ruleNode, fileContext) {
@@ -38,20 +38,20 @@ export default function verifyRule(ruleNode, fileContext) {
38
38
  conclusionVerified = verifyConclusion(conclusionNode, conclusions, localContext);
39
39
 
40
40
  if (conclusionVerified) {
41
- let metaproofVerified = true; ///
41
+ let proofVerified = true; ///
42
42
 
43
43
  const firstConclusion = first(conclusions),
44
- metaproofNode = metaproofNodeQuery(ruleNode),
44
+ proofNode = proofNodeQuery(ruleNode),
45
45
  conclusion = firstConclusion; ///
46
46
 
47
- if (metaproofNode !== null) {
47
+ if (proofNode !== null) {
48
48
  const substitutions = [],
49
- metastatementNode = conclusion.getMetastatementNode();
49
+ statementNode = conclusion.getStatementNode();
50
50
 
51
- metaproofVerified = verifyMetaproof(metaproofNode, metastatementNode, substitutions, localContext);
51
+ proofVerified = verifyProof(proofNode, statementNode, substitutions, localContext);
52
52
  }
53
53
 
54
- if (metaproofVerified) {
54
+ if (proofVerified) {
55
55
  const rule = Rule.fromLabelsPremisesConclusionAndFileContext(labels, premises, conclusion, fileContext);
56
56
 
57
57
  fileContext.addRule(rule);
@@ -6,7 +6,9 @@ import { verifyStatementAsEquality, verifyStatementAsTypeAssertion } from "../..
6
6
  const statementNodeQuery = nodeQuery("/qualifiedStatement/statement!"),
7
7
  metavariableNodeQuery = nodeQuery("/qualifiedStatement/reference!/metavariable!");
8
8
 
9
- export default function verifyQualifiedStatement(qualifiedStatementNode, assignments, localContext) {
9
+ import verifyMetavariableAgainstStatement from "../../verify/metavariableAgainstStatement";
10
+
11
+ export default function verifyQualifiedStatement(qualifiedStatementNode, substitutions, assignments, localContext) {
10
12
  let qualifiedStatementVerified;
11
13
 
12
14
  const qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
@@ -16,6 +18,7 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
16
18
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
17
19
  verifyQualifiedStatementFunctions = [
18
20
  verifyQualifiedStatementAAgainstRule,
21
+ verifyQualifiedStatementAAgainstReference,
19
22
  verifyQualifiedStatementAAgainstAxiom,
20
23
  verifyQualifiedStatementAAgainstLemma,
21
24
  verifyQualifiedStatementAAgainstTheorem,
@@ -23,7 +26,7 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
23
26
  ];
24
27
 
25
28
  qualifiedStatementVerified = verifyQualifiedStatementFunctions.some((verifyQualifiedStatementFunction) => { ///
26
- const qualifiedStatementVerified = verifyQualifiedStatementFunction(qualifiedStatementNode, metavariableNode, localContext);
29
+ const qualifiedStatementVerified = verifyQualifiedStatementFunction(qualifiedStatementNode, metavariableNode, substitutions, localContext);
27
30
 
28
31
  if (qualifiedStatementVerified) {
29
32
  return true;
@@ -33,9 +36,13 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
33
36
  if (qualifiedStatementVerified) {
34
37
  const derived = false,
35
38
  statementNode = statementNodeQuery(qualifiedStatementNode),
36
- statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
39
+ statementVerified = verifyStatement(statementNode, assignments, derived, localContext, () => {
40
+ const verifiedAhead = true;
41
+
42
+ return verifiedAhead;
43
+ });
37
44
 
38
- qualifiedStatementVerified = statementVerified; ///
45
+ qualifiedStatementVerified = statementVerified; ///
39
46
  }
40
47
 
41
48
  if (qualifiedStatementVerified) {
@@ -45,7 +52,7 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
45
52
  return qualifiedStatementVerified;
46
53
  }
47
54
 
48
- function verifyQualifiedStatementAAgainstRule(qualifiedStatementNode, metavariableNode, localContext) {
55
+ function verifyQualifiedStatementAAgainstRule(qualifiedStatementNode, metavariableNode, substitutions, localContext) {
49
56
  let qualifiedStatementVerifiedAgainstRule = false;
50
57
 
51
58
  const rule = localContext.findRuleByMetavariableNode(metavariableNode);
@@ -69,7 +76,7 @@ function verifyQualifiedStatementAAgainstRule(qualifiedStatementNode, metavariab
69
76
  return qualifiedStatementVerifiedAgainstRule;
70
77
  }
71
78
 
72
- function verifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, metavariableNode, localContext) {
79
+ function verifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, metavariableNode, substitutions, localContext) {
73
80
  let qualifiedStatementVerifiedAgainstAxiom = false;
74
81
 
75
82
  const axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
@@ -93,7 +100,7 @@ function verifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, metavaria
93
100
  return qualifiedStatementVerifiedAgainstAxiom;
94
101
  }
95
102
 
96
- function verifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, metavariableNode, localContext) {
103
+ function verifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, metavariableNode, substitutions, localContext) {
97
104
  let qualifiedStatementVerifiedAgainstLemma = false;
98
105
 
99
106
  const lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
@@ -117,7 +124,7 @@ function verifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, metavaria
117
124
  return qualifiedStatementVerifiedAgainstLemma;
118
125
  }
119
126
 
120
- function verifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, metavariableNode, localContext) {
127
+ function verifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, metavariableNode, substitutions, localContext) {
121
128
  let qualifiedStatementVerifiedAgainstTheorem = false;
122
129
 
123
130
  const theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
@@ -141,7 +148,7 @@ function verifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, metavar
141
148
  return qualifiedStatementVerifiedAgainstTheorem;
142
149
  }
143
150
 
144
- function verifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, metavariableNode, localContext) {
151
+ function verifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, metavariableNode, substitutions, localContext) {
145
152
  let qualifiedStatementVerifiedAgainstConjecture = false;
146
153
 
147
154
  const conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
@@ -165,6 +172,33 @@ function verifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, meta
165
172
  return qualifiedStatementVerifiedAgainstConjecture;
166
173
  }
167
174
 
175
+ function verifyQualifiedStatementAAgainstReference(qualifiedStatementNode, metavariableNode, substitutions, localContext) {
176
+ let qualifiedStatementVerifiedAgainstReference = false;
177
+
178
+ const metavariableString = localContext.nodeAsString(metavariableNode),
179
+ metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode, localContext),
180
+ qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
181
+
182
+ localContext.trace(`Verifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' reference...`, qualifiedStatementNode);
183
+
184
+ if (metavariablePresent) {
185
+ const statementNode = statementNodeQuery(qualifiedStatementNode),
186
+ metavariableVerifiedAgainstStatement = verifyMetavariableAgainstStatement(metavariableNode, statementNode, substitutions, () => {
187
+ const verifiedAhead = true;
188
+
189
+ return verifiedAhead;
190
+ });
191
+
192
+ qualifiedStatementVerifiedAgainstReference = metavariableVerifiedAgainstStatement; ///
193
+ }
194
+
195
+ if (qualifiedStatementVerifiedAgainstReference) {
196
+ localContext.debug(`...verified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' reference.`, qualifiedStatementNode);
197
+ }
198
+
199
+ return qualifiedStatementVerifiedAgainstReference;
200
+ }
201
+
168
202
  function verifyStatement(statementNode, assignments, derived, localContext) {
169
203
  let statementVerified;
170
204
 
@@ -23,7 +23,7 @@ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, ass
23
23
  if (!unqualifiedStatementVerified) {
24
24
  const statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
25
25
 
26
- unqualifiedStatementVerified = statementVerified; ///
26
+ unqualifiedStatementVerified = statementVerified; ///
27
27
  }
28
28
 
29
29
  if (unqualifiedStatementVerified) {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import ProofStep from "../step/proof";
3
+ import ProofStep from "../proofStep";
4
4
  import Supposition from "../supposition";
5
5
  import verifyUnqualifiedStatement from "../verify/statement/unqualified";
6
6
 
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return MetaConsequent;
9
- }
10
- });
11
- var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
12
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("./verifier/nodes/metaLevel"));
13
- var _string = require("./utilities/string");
14
- var _node = require("./utilities/node");
15
- function _class_call_check(instance, Constructor) {
16
- if (!(instance instanceof Constructor)) {
17
- throw new TypeError("Cannot call a class as a function");
18
- }
19
- }
20
- function _defineProperties(target, props) {
21
- for(var i = 0; i < props.length; i++){
22
- var descriptor = props[i];
23
- descriptor.enumerable = descriptor.enumerable || false;
24
- descriptor.configurable = true;
25
- if ("value" in descriptor) descriptor.writable = true;
26
- Object.defineProperty(target, descriptor.key, descriptor);
27
- }
28
- }
29
- function _create_class(Constructor, protoProps, staticProps) {
30
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
- if (staticProps) _defineProperties(Constructor, staticProps);
32
- return Constructor;
33
- }
34
- function _interop_require_default(obj) {
35
- return obj && obj.__esModule ? obj : {
36
- default: obj
37
- };
38
- }
39
- var MetaConsequent = /*#__PURE__*/ function() {
40
- function MetaConsequent(metastatementNode, statementNode) {
41
- _class_call_check(this, MetaConsequent);
42
- this.metastatementNode = metastatementNode;
43
- this.statementNode = statementNode;
44
- }
45
- _create_class(MetaConsequent, [
46
- {
47
- key: "getMetastatementNode",
48
- value: function getMetastatementNode() {
49
- return this.metastatementNode;
50
- }
51
- },
52
- {
53
- key: "getStatementNode",
54
- value: function getStatementNode() {
55
- return this.statementNode;
56
- }
57
- },
58
- {
59
- key: "matchMetastatementNode",
60
- value: function matchMetastatementNode(metastatementNode, substitutions, fileContext, localContext) {
61
- var matchesMetastatementNode = false;
62
- if (this.metastatementNode !== null) {
63
- var fileContextA = fileContext, nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = metastatementNode, localContextA = _local.default.fromFileContext(fileContextA), localContextB = localContext, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, function() {
64
- var verifiedAhead = true;
65
- return verifiedAhead;
66
- });
67
- matchesMetastatementNode = nonTerminalNodeVerified; ///
68
- }
69
- return matchesMetastatementNode;
70
- }
71
- },
72
- {
73
- key: "toJSON",
74
- value: function toJSON(tokens) {
75
- var metastatementString = (0, _string.nodeAsString)(this.metastatementNode, tokens), statementString = (0, _string.nodeAsString)(this.statementNode, tokens), metastatement = metastatementString, statement = statementString, json = {
76
- metastatement: metastatement,
77
- statement: statement
78
- };
79
- return json;
80
- }
81
- }
82
- ], [
83
- {
84
- key: "fromStatementNode",
85
- value: function fromStatementNode(statementNode) {
86
- var metastatementNode = null, metaConsequent = new MetaConsequent(metastatementNode, statementNode);
87
- return metaConsequent;
88
- }
89
- },
90
- {
91
- key: "fromMetastatementNode",
92
- value: function fromMetastatementNode(metastatementNode) {
93
- var statementNode = null, metaConsequent = new MetaConsequent(metastatementNode, statementNode);
94
- return metaConsequent;
95
- }
96
- },
97
- {
98
- key: "fromJSONAndFileContext",
99
- value: function fromJSONAndFileContext(json, fileContext) {
100
- var metastatement = json.metastatement, statement = json.statement, metastatementString = metastatement, statementString = statement, lexer = fileContext.getLexer(), parser = fileContext.getParser(), metastatementNode = (0, _node.metastatementNodeFromMetastatementString)(metastatementString, lexer, parser), statementNode = (0, _node.statementNodeFromStatementString)(statementString, lexer, parser), metaConsequent = new MetaConsequent(metastatementNode, statementNode);
101
- return metaConsequent;
102
- }
103
- }
104
- ]);
105
- return MetaConsequent;
106
- }();
107
-
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhQ29uc2VxdWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgbWV0YUxldmVsTm9kZXNWZXJpZmllciBmcm9tIFwiLi92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcsIG1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhQ29uc2VxdWVudCB7XG4gIGNvbnN0cnVjdG9yKG1ldGFzdGF0ZW1lbnROb2RlLCBzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRNZXRhc3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIG1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHRBID0gZmlsZUNvbnRleHQsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgbG9jYWxDb250ZXh0QSA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHRBKSxcbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEIgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIG1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnQsXG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhQ29uc2VxdWVudCA9IG5ldyBNZXRhQ29uc2VxdWVudChtZXRhc3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YUNvbnNlcXVlbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YUNvbnNlcXVlbnQgPSBuZXcgTWV0YUNvbnNlcXVlbnQobWV0YXN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFDb25zZXF1ZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IG1ldGFzdGF0ZW1lbnQsIHN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBtZXRhc3RhdGVtZW50U3RyaW5nID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIGxleGVyID0gZmlsZUNvbnRleHQuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSBmaWxlQ29udGV4dC5nZXRQYXJzZXIoKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmcobWV0YXN0YXRlbWVudFN0cmluZywgbGV4ZXIsIHBhcnNlciksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIsIHBhcnNlciksXG4gICAgICAgICAgbWV0YUNvbnNlcXVlbnQgPSBuZXcgTWV0YUNvbnNlcXVlbnQobWV0YXN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFDb25zZXF1ZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiTWV0YUNvbnNlcXVlbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0IiwibG9jYWxDb250ZXh0IiwibWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlIiwiZmlsZUNvbnRleHRBIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwibG9jYWxDb250ZXh0QiIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibWV0YUxldmVsTm9kZXNWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJ0b0pTT04iLCJ0b2tlbnMiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3RhdGVtZW50U3RyaW5nIiwibWV0YXN0YXRlbWVudCIsInN0YXRlbWVudCIsImpzb24iLCJmcm9tU3RhdGVtZW50Tm9kZSIsIm1ldGFDb25zZXF1ZW50IiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsImxleGVyIiwiZ2V0TGV4ZXIiLCJwYXJzZXIiLCJnZXRQYXJzZXIiLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7OzREQU5JO2dFQUNVO3NCQUVOO29CQUM4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEFBQU1BLCtCQUFELEFBQUw7YUFBTUEsZUFDUEMsaUJBQWlCLEVBQUVDLGFBQWE7Z0NBRHpCRjtRQUVqQixJQUFJLENBQUNDLGlCQUFpQixHQUFHQTtRQUN6QixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2tCQUhKRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsaUJBQWlCO1lBQy9COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixhQUFhO1lBQzNCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QkosaUJBQWlCLEVBQUVLLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxZQUFZO2dCQUNoRixJQUFJQywyQkFBMkI7Z0JBRS9CLElBQUksSUFBSSxDQUFDUixpQkFBaUIsS0FBSyxNQUFNO29CQUNuQyxJQUFNUyxlQUFlSCxhQUNmSSxtQkFBbUIsSUFBSSxDQUFDVixpQkFBaUIsRUFDekNXLG1CQUFtQlgsbUJBQ25CWSxnQkFBZ0JDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDTCxlQUM3Q00sZ0JBQWdCUixjQUNoQlMsMEJBQTBCQyxrQkFBc0IsQ0FBQ0MscUJBQXFCLENBQUNSLGtCQUFrQkMsa0JBQWtCTixlQUFlTyxlQUFlRyxlQUFlO3dCQUN0SixJQUFNSSxnQkFBZ0I7d0JBRXRCLE9BQU9BO29CQUNUO29CQUVOWCwyQkFBMkJRLHlCQUF5QixHQUFHO2dCQUN6RDtnQkFFQSxPQUFPUjtZQUNUOzs7WUFFQVksS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLE1BQU07Z0JBQ1gsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ3ZCLGlCQUFpQixFQUFFcUIsU0FDM0RHLGtCQUFrQkQsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUN0QixhQUFhLEVBQUVvQixTQUNuREksZ0JBQWdCSCxxQkFDaEJJLFlBQVlGLGlCQUNaRyxPQUFPO29CQUNMRixlQUFBQTtvQkFDQUMsV0FBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0IzQixhQUFhO2dCQUNwQyxJQUFNRCxvQkFBb0IsTUFDcEI2QixpQkFBaUIsSUFsRE45QixlQWtEeUJDLG1CQUFtQkM7Z0JBRTdELE9BQU80QjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0Esc0JBQXNCOUIsaUJBQWlCO2dCQUM1QyxJQUFNQyxnQkFBZ0IsTUFDaEI0QixpQkFBaUIsSUF6RE45QixlQXlEeUJDLG1CQUFtQkM7Z0JBRTdELE9BQU80QjtZQUNUOzs7WUFFT0UsS0FBQUE7bUJBQVAsU0FBT0EsdUJBQXVCSixJQUFJLEVBQUVyQixXQUFXO2dCQUM3QyxJQUFRbUIsZ0JBQTZCRSxLQUE3QkYsZUFBZUMsWUFBY0MsS0FBZEQsV0FDakJKLHNCQUFzQkcsZUFDdEJELGtCQUFrQkUsV0FDbEJNLFFBQVExQixZQUFZMkIsUUFBUSxJQUM1QkMsU0FBUzVCLFlBQVk2QixTQUFTLElBQzlCbkMsb0JBQW9Cb0MsSUFBQUEsOENBQXdDLEVBQUNkLHFCQUFxQlUsT0FBT0UsU0FDekZqQyxnQkFBZ0JvQyxJQUFBQSxzQ0FBZ0MsRUFBQ2IsaUJBQWlCUSxPQUFPRSxTQUN6RUwsaUJBQWlCLElBdEVOOUIsZUFzRXlCQyxtQkFBbUJDO2dCQUU3RCxPQUFPNEI7WUFDVDs7O1dBekVtQjlCIn0=