occam-verify-cli 0.0.881 → 0.0.883

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 (41) hide show
  1. package/lib/axiomLemmaTheoremConjecture.js +4 -10
  2. package/lib/context/file.js +40 -41
  3. package/lib/context/localMeta.js +27 -2
  4. package/lib/declaration.js +90 -0
  5. package/lib/frame.js +52 -13
  6. package/lib/judgement.js +28 -9
  7. package/lib/label.js +3 -3
  8. package/lib/metaLemmaMetatheorem.js +4 -4
  9. package/lib/mixins/context.js +32 -24
  10. package/lib/premise.js +8 -32
  11. package/lib/rule.js +4 -10
  12. package/lib/step/metaproof.js +2 -2
  13. package/lib/supposition.js +1 -53
  14. package/lib/verify/declaration.js +34 -16
  15. package/lib/verify/frame.js +47 -6
  16. package/lib/verify/judgement.js +63 -47
  17. package/lib/verify/label.js +8 -8
  18. package/lib/verify/labels.js +4 -4
  19. package/lib/verify/metastatement/qualified.js +12 -8
  20. package/lib/verify/statement/qualified.js +6 -6
  21. package/package.json +4 -4
  22. package/src/axiomLemmaTheoremConjecture.js +3 -12
  23. package/src/context/file.js +32 -33
  24. package/src/context/localMeta.js +32 -1
  25. package/src/declaration.js +58 -0
  26. package/src/frame.js +52 -10
  27. package/src/judgement.js +16 -6
  28. package/src/label.js +2 -2
  29. package/src/metaLemmaMetatheorem.js +3 -3
  30. package/src/mixins/context.js +21 -15
  31. package/src/premise.js +9 -50
  32. package/src/rule.js +3 -12
  33. package/src/step/metaproof.js +2 -2
  34. package/src/supposition.js +0 -45
  35. package/src/verify/declaration.js +47 -20
  36. package/src/verify/frame.js +66 -5
  37. package/src/verify/judgement.js +101 -50
  38. package/src/verify/label.js +7 -8
  39. package/src/verify/labels.js +4 -3
  40. package/src/verify/metastatement/qualified.js +14 -11
  41. package/src/verify/statement/qualified.js +10 -10
@@ -2,20 +2,19 @@
2
2
 
3
3
  import Label from "../label";
4
4
 
5
- export default function verifyLabel(labelsMetavariableNode, labels, fileContext) {
5
+ export default function verifyLabel(metavariableNode, labels, fileContext) {
6
6
  let labelVerified = false;
7
7
 
8
- const labelMetavariableString = fileContext.nodeAsString(labelsMetavariableNode);
8
+ const labelMetavariableString = fileContext.nodeAsString(metavariableNode);
9
9
 
10
- fileContext.trace(`Verifying the '${labelMetavariableString}' label...`, labelsMetavariableNode);
10
+ fileContext.trace(`Verifying the '${labelMetavariableString}' label...`, metavariableNode);
11
11
 
12
- const labelPresent = fileContext.isLabelPresentByLabelMetavariableNode(labelsMetavariableNode);
12
+ const labelPresent = fileContext.isLabelPresentByMetavariableNode(metavariableNode);
13
13
 
14
14
  if (labelPresent) {
15
- fileContext.debug(`The '${labelMetavariableString}' label is already present.`, labelsMetavariableNode);
15
+ fileContext.debug(`The '${labelMetavariableString}' label is already present.`, metavariableNode);
16
16
  } else {
17
- const metavariableNode = labelsMetavariableNode, ///
18
- label = Label.fromMetavariableNode(metavariableNode);
17
+ const label = Label.fromMetavariableNode(metavariableNode);
19
18
 
20
19
  labels.push(label);
21
20
 
@@ -23,7 +22,7 @@ export default function verifyLabel(labelsMetavariableNode, labels, fileContext)
23
22
  }
24
23
 
25
24
  if (labelVerified) {
26
- fileContext.debug(`...verified the '${labelMetavariableString}' label.`, labelsMetavariableNode);
25
+ fileContext.debug(`...verified the '${labelMetavariableString}' label.`, metavariableNode);
27
26
  }
28
27
 
29
28
  return labelVerified;
@@ -12,10 +12,11 @@ export default function verifyLabels(labelsNode, labels, fileContext) {
12
12
  if (labelsNode === null) {
13
13
  labelsVerified = true;
14
14
  } else {
15
- const labelsMetavariableNodes = labelsMetavariableNodesQuery(labelsNode);
15
+ const labelsMetavariableNodes = labelsMetavariableNodesQuery(labelsNode),
16
+ metavariableNodes = labelsMetavariableNodes; ///
16
17
 
17
- labelsVerified = labelsMetavariableNodes.every((labelsMetavariableNode) => {
18
- const labelVerified = verifyLabel(labelsMetavariableNode, labels, fileContext);
18
+ labelsVerified = metavariableNodes.every((metavariableNode) => {
19
+ const labelVerified = verifyLabel(metavariableNode, labels, fileContext);
19
20
 
20
21
  if (labelVerified) {
21
22
  return true;
@@ -5,8 +5,8 @@ import verifyMetavariableAgainstMetastatement from "../../verify/metavariableAga
5
5
 
6
6
  import { nodeQuery } from "../../utilities/query";
7
7
 
8
- const metastatementNodeQuery = nodeQuery("/qualifiedMetastatement/metastatement!"),
9
- referenceMetavariableNodeQuery = nodeQuery("/qualifiedMetastatement/reference!/metavariable!");
8
+ const metavariableNodeQuery = nodeQuery("/qualifiedMetastatement/reference!/metavariable!"),
9
+ metastatementNodeQuery = nodeQuery("/qualifiedMetastatement/metastatement!");
10
10
 
11
11
  export default function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, derived, localMetaContext) {
12
12
  let qualifiedMetastatementVerified = false;
@@ -19,18 +19,21 @@ export default function verifyQualifiedMetastatement(qualifiedMetastatementNode,
19
19
 
20
20
  localMetaContext.trace(`Verifying the '${metastatementString}' qualified metastatement...`, qualifiedMetastatementNode);
21
21
 
22
- const referenceMetavariableNode = referenceMetavariableNodeQuery(qualifiedMetastatementNode),
23
- labelMetavariableNode = referenceMetavariableNode, ///
24
- rule = localMetaContext.findRuleByLabelMetavariableNode(labelMetavariableNode);
22
+ const metavariableNode = metavariableNodeQuery(qualifiedMetastatementNode);
25
23
 
26
- if (rule !== null) {
27
- const ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, metastatementLocalMetaContext);
24
+ if (!qualifiedMetastatementVerified) {
25
+ const rule = localMetaContext.findRuleByMetavariableNode(metavariableNode);
28
26
 
29
- qualifiedMetastatementVerified = ruleMatchesMetastatement; ///
30
- } else {
27
+ if (rule !== null) {
28
+ const ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, metastatementLocalMetaContext);
29
+
30
+ qualifiedMetastatementVerified = ruleMatchesMetastatement; ///
31
+ }
32
+ }
33
+
34
+ if (!qualifiedMetastatementVerified) {
31
35
  if (substitutions !== null) {
32
- const metavariableNode = referenceMetavariableNode, ///
33
- metavariablePresent = localMetaContext.isMetavariablePresentByMetavariableNode(metavariableNode, localMetaContext);
36
+ const metavariablePresent = localMetaContext.isMetavariablePresentByMetavariableNode(metavariableNode, localMetaContext);
34
37
 
35
38
  if (metavariablePresent) {
36
39
  const metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, () => {
@@ -69,8 +69,8 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, assignm
69
69
  function verifyQualifiedStatementAAgainstRule(qualifiedStatementNode, referenceMetavariableNode, localContext) {
70
70
  let qualifiedStatementVerifiedAgainstRule = false;
71
71
 
72
- const labelMetavariableNode = referenceMetavariableNode, ///
73
- rule = localContext.findRuleByLabelMetavariableNode(labelMetavariableNode);
72
+ const metavariableNode = referenceMetavariableNode, ///
73
+ rule = localContext.findRuleByMetavariableNode(metavariableNode);
74
74
 
75
75
  if (rule !== null) {
76
76
  const referenceMetavariableString = localContext.nodeAsString(referenceMetavariableNode),
@@ -95,8 +95,8 @@ function verifyQualifiedStatementAAgainstRule(qualifiedStatementNode, referenceM
95
95
  function verifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, referenceMetavariableNode, localContext) {
96
96
  let qualifiedStatementVerifiedAgainstAxiom = false;
97
97
 
98
- const labelMetavariableNode = referenceMetavariableNode, ///
99
- axiom = localContext.findAxiomByLabelMetavariableNode(labelMetavariableNode);
98
+ const metavariableNode = referenceMetavariableNode, ///
99
+ axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
100
100
 
101
101
  if (axiom !== null) {
102
102
  const referenceMetavariableString = localContext.nodeAsString(referenceMetavariableNode),
@@ -121,8 +121,8 @@ function verifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, reference
121
121
  function verifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, referenceMetavariableNode, localContext) {
122
122
  let qualifiedStatementVerifiedAgainstLemma = false;
123
123
 
124
- const labelMetavariableNode = referenceMetavariableNode, ///
125
- lemma = localContext.findLemmaByLabelMetavariableNode(labelMetavariableNode);
124
+ const metavariableNode = referenceMetavariableNode, ///
125
+ lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
126
126
 
127
127
  if (lemma !== null) {
128
128
  const referenceMetavariableString = localContext.nodeAsString(referenceMetavariableNode),
@@ -147,8 +147,8 @@ function verifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, reference
147
147
  function verifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, referenceMetavariableNode, localContext) {
148
148
  let qualifiedStatementVerifiedAgainstTheorem = false;
149
149
 
150
- const labelMetavariableNode = referenceMetavariableNode, ///
151
- theorem = localContext.findTheoremByLabelMetavariableNode(labelMetavariableNode);
150
+ const metavariableNode = referenceMetavariableNode, ///
151
+ theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
152
152
 
153
153
  if (theorem !== null) {
154
154
  const referenceMetavariableString = localContext.nodeAsString(referenceMetavariableNode),
@@ -173,8 +173,8 @@ function verifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, referen
173
173
  function verifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, referenceMetavariableNode, localContext) {
174
174
  let qualifiedStatementVerifiedAgainstConjecture = false;
175
175
 
176
- const labelMetavariableNode = referenceMetavariableNode, ///
177
- conjecture = localContext.findConjectureByLabelMetavariableNode(labelMetavariableNode);
176
+ const metavariableNode = referenceMetavariableNode, ///
177
+ conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
178
178
 
179
179
  if (conjecture !== null) {
180
180
  const referenceMetavariableString = localContext.nodeAsString(referenceMetavariableNode),