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,156 +0,0 @@
1
- "use strict";
2
-
3
- import verifyTerm from "./term";
4
- import metaLevelNodeVerifier from "../verifier/node/metaLevel";
5
-
6
- import { first } from "../utilities/array";
7
- import { DEFINED } from "../constants";
8
- import { nodeQuery, nodesQuery } from "../utilities/query";
9
- import { isMetastatementNegated } from "../utilities/verify";
10
-
11
- const termNodeQuery = nodeQuery("/metastatement/term!"),
12
- variableNodeQuery = nodeQuery("/metastatement/term/variable!"),
13
- operatorTerminalNodesQuery = nodesQuery("/metastatement/@operator");
14
-
15
- export default function verifyMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
16
- let metastatementVerifiedAsDefinedAssertion = false;
17
-
18
- const metastatementDefinedAssertion = isMetastatementDefinedAssertion(metastatementNode);
19
-
20
- if (metastatementDefinedAssertion) {
21
- const metastatementString = localContext.nodeAsString(metastatementNode);
22
-
23
- localContext.trace(`Verifying the '${metastatementString}' metastatement as a defined assertion...`, metastatementNode);
24
-
25
- const definedAssertionFunctions = [
26
- verifyDerivedMetastatementAsDefinedAssertion,
27
- verifyStatedMetastatementAsDefinedAssertion
28
- ];
29
-
30
- metastatementVerifiedAsDefinedAssertion = definedAssertionFunctions.some((definedAssertionFunction) => {
31
- const metastatementVerifiedAsDefinedAssertion = definedAssertionFunction(metastatementNode, assignments, derived, localContext);
32
-
33
- if (metastatementVerifiedAsDefinedAssertion) {
34
- return true;
35
- }
36
- });
37
-
38
- if (metastatementVerifiedAsDefinedAssertion) {
39
- localContext.debug(`...verified the '${metastatementString}' metastatement as a defined assertion.`, metastatementNode);
40
- }
41
- }
42
-
43
- return metastatementVerifiedAsDefinedAssertion;
44
- }
45
-
46
- function verifyDerivedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
47
- let derivedMetastatementVerifiedAsDefeindAssertion = false;
48
-
49
- if (derived) {
50
- const metastatementString = localContext.nodeAsString(metastatementNode);
51
-
52
- localContext.trace(`Verifying the derived '${metastatementString}' metastatement as a defined assertion...`, metastatementNode);
53
-
54
- const metastatementNegated = isMetastatementNegated(metastatementNode),
55
- variableNode = variableNodeQuery(metastatementNode),
56
- termNode = termNodeQuery(metastatementNode);
57
-
58
- if (false) {
59
- ///
60
- } else if (variableNode !== null) {
61
- const variable = localContext.findVariableByVariableNode(variableNode);
62
-
63
- if (variable !== null) {
64
- const variableDefined = localContext.isVariableDefined(variable);
65
-
66
- if (!metastatementNegated) {
67
- if (variableDefined) {
68
- derivedMetastatementVerifiedAsDefeindAssertion = true;
69
- }
70
- }
71
-
72
- if (metastatementNegated) {
73
- if (!variableDefined) {
74
- derivedMetastatementVerifiedAsDefeindAssertion = true;
75
- }
76
- }
77
- }
78
- } else if (termNode !== null) {
79
- const terms = [],
80
- termVerified = verifyTerm(termNode, terms, localContext, () => {
81
- const verifiedAhead = true;
82
-
83
- return verifiedAhead;
84
- });
85
-
86
- if (termVerified) {
87
- const firstTerm = first(terms),
88
- term = firstTerm, ///
89
- termGrounded = localContext.isTermGrounded(term);
90
-
91
- if (!metastatementNegated) {
92
- if (termGrounded) {
93
- derivedMetastatementVerifiedAsDefeindAssertion = true;
94
- }
95
- }
96
-
97
- if (metastatementNegated) {
98
- if (!termGrounded) {
99
- derivedMetastatementVerifiedAsDefeindAssertion = true;
100
- }
101
- }
102
- }
103
- }
104
-
105
- if (derivedMetastatementVerifiedAsDefeindAssertion) {
106
- localContext.debug(`...verified the derived '${metastatementString}' metastatement as a defined assertion.`, metastatementNode);
107
- }
108
- }
109
-
110
- return derivedMetastatementVerifiedAsDefeindAssertion;
111
- }
112
-
113
- function verifyStatedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
114
- let statedMetastatementVerifiedAsDefinedAssertion = false;
115
-
116
- if (!derived) {
117
- const metastatementString = localContext.nodeAsString(metastatementNode);
118
-
119
- localContext.trace(`Verifying the stated '${metastatementString}' metastatement as a defined assertion...`, metastatementNode);
120
-
121
- const intrinsicLevel = localContext.isIntrinsicLevel();
122
-
123
- if (intrinsicLevel) {
124
- localContext.debug(`The stated '${metastatementString}' metastatement as a defined assertion cannot be verified at intrinsic level.`, metastatementNode);
125
- } else {
126
- const nonTerminalNode = metastatementNode, ///
127
- nonTerminalNodeVerified = metaLevelNodeVerifier.verifyNonTerminalNode(nonTerminalNode, localContext, () => {
128
- const verifiedAhead = true;
129
-
130
- return verifiedAhead;
131
- });
132
-
133
- statedMetastatementVerifiedAsDefinedAssertion = nonTerminalNodeVerified; ///
134
- }
135
-
136
- if (statedMetastatementVerifiedAsDefinedAssertion) {
137
- localContext.debug(`...verified the stated '${metastatementString}' metastatement as a defined assertion.`, metastatementNode);
138
- }
139
- }
140
-
141
- return statedMetastatementVerifiedAsDefinedAssertion;
142
- }
143
-
144
- export function isMetastatementDefinedAssertion(metastatementNode) {
145
- const operatorTerminalNodes = operatorTerminalNodesQuery(metastatementNode),
146
- metastatementDefinedAssertion = operatorTerminalNodes.some((operatorTerminalNode) => {
147
- const content = operatorTerminalNode.getContent(),
148
- contentDefined = (content === DEFINED);
149
-
150
- if (contentDefined) {
151
- return true;
152
- }
153
- });
154
-
155
- return metastatementDefinedAssertion;
156
- }
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- import MetastatementForMetavariableSubstitution from "../substitution/metastatementForMetavariable";
4
-
5
- export default function verifyMetavariableAgainstMetastatement(metavariableNode, metastatementNode, substitutions, verifyAhead) {
6
- let metavariableVerifiedAgainstMetastatement = false;
7
-
8
- const substitution = substitutions.find((substitution) => {
9
- const substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNode);
10
-
11
- if (substitutionMatchesMetavariableNodeA) {
12
- return true;
13
- }
14
- }) || null;
15
-
16
- if (substitution !== null) {
17
- const metastatementNodeMatches = substitution.matchMetastatementNode(metastatementNode);
18
-
19
- if (metastatementNodeMatches) {
20
- const verifiedAhead = verifyAhead();
21
-
22
- metavariableVerifiedAgainstMetastatement = verifiedAhead; ///
23
- }
24
- } else {
25
- let verifiedAhead;
26
-
27
- const metastatementForMetavariableSubstitution = MetastatementForMetavariableSubstitution.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode),
28
- substitution = metastatementForMetavariableSubstitution; ///
29
-
30
- substitutions.push(substitution);
31
-
32
- verifiedAhead = verifyAhead();
33
-
34
- if (!verifiedAhead) {
35
- substitutions.pop();
36
- }
37
-
38
- metavariableVerifiedAgainstMetastatement = verifiedAhead; ///
39
- }
40
-
41
- return metavariableVerifiedAgainstMetastatement;
42
- }
File without changes