occam-verify-cli 0.0.915 → 0.0.917

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 (57) hide show
  1. package/lib/assignment/judgement.js +62 -0
  2. package/lib/axiom.js +11 -24
  3. package/lib/conjecture.js +11 -24
  4. package/lib/constants.js +9 -1
  5. package/lib/constructor/bracketed.js +11 -24
  6. package/lib/context/file.js +5 -5
  7. package/lib/context/local/metaLevel.js +46 -54
  8. package/lib/judgement.js +87 -0
  9. package/lib/lemma.js +11 -24
  10. package/lib/metaLemma.js +11 -24
  11. package/lib/metaType/frame.js +11 -24
  12. package/lib/metaType/reference.js +11 -24
  13. package/lib/metaType/statement.js +11 -24
  14. package/lib/metatheorem.js +11 -24
  15. package/lib/ocmbinator/bracketed.js +11 -24
  16. package/lib/substitution/metastatementForMetavariable.js +11 -24
  17. package/lib/substitution/statementForMetavariable.js +11 -24
  18. package/lib/substitution/termForVariable.js +11 -24
  19. package/lib/theorem.js +11 -24
  20. package/lib/type.js +11 -24
  21. package/lib/utilities/verify.js +7 -7
  22. package/lib/verifier/node/metaLevel.js +11 -24
  23. package/lib/verifier/node/statementAsCombinator.js +11 -24
  24. package/lib/verifier/node/termAsConstructor.js +11 -24
  25. package/lib/verifier/nodes/equality.js +11 -24
  26. package/lib/verifier/nodes/intrinsicLevel.js +11 -24
  27. package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +11 -24
  28. package/lib/verifier/nodes/metaLevel.js +11 -24
  29. package/lib/verifier/nodes/statementAgainstCombinator.js +11 -24
  30. package/lib/verifier/nodes/termAgainstConstructor.js +11 -24
  31. package/lib/verify/frame.js +6 -6
  32. package/lib/verify/judgement.js +121 -0
  33. package/lib/verify/metastatement.js +20 -16
  34. package/lib/verify/statement.js +45 -46
  35. package/lib/verify/statementAsContainedAssertion.js +93 -0
  36. package/lib/verify/statementAsDefinedAssertion.js +111 -0
  37. package/package.json +2 -2
  38. package/src/assignment/judgement.js +30 -0
  39. package/src/constants.js +2 -0
  40. package/src/context/file.js +3 -3
  41. package/src/context/local/metaLevel.js +35 -35
  42. package/src/{frameAssertion.js → judgement.js} +5 -5
  43. package/src/utilities/verify.js +5 -5
  44. package/src/verify/frame.js +5 -5
  45. package/src/verify/{frameAssertion.js → judgement.js} +46 -46
  46. package/src/verify/metastatement.js +23 -15
  47. package/src/verify/statement.js +70 -70
  48. package/src/verify/statementAsContainedAssertion.js +112 -0
  49. package/src/verify/statementAsDefinedAssertion.js +136 -0
  50. package/lib/assignment/frameAssertion.js +0 -62
  51. package/lib/frameAssertion.js +0 -87
  52. package/lib/verify/containedAssertion.js +0 -93
  53. package/lib/verify/definedAssertion.js +0 -111
  54. package/lib/verify/frameAssertion.js +0 -121
  55. package/src/assignment/frameAssertion.js +0 -30
  56. package/src/verify/containedAssertion.js +0 -112
  57. package/src/verify/definedAssertion.js +0 -137
@@ -1,137 +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 { nodeQuery } from "../utilities/query";
8
- import { isAssertionNegated } from "../utilities/verify";
9
-
10
- const termNodeQuery = nodeQuery("/definedAssertion/term!"),
11
- variableNodeQuery = nodeQuery("/definedAssertion/term/variable!");
12
-
13
- export default function verifyDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
14
- let definedAssertionVerified;
15
-
16
- const definedAssertionString = localContext.nodeAsString(definedAssertionNode);
17
-
18
- localContext.trace(`Verifying the '${definedAssertionString}' defined assertion...`, definedAssertionNode);
19
-
20
- const definedAssertionFunctions = [
21
- verifyDerivedDefinedAssertion,
22
- verifyStatedDefinedAssertion
23
- ];
24
-
25
- definedAssertionVerified = definedAssertionFunctions.some((definedAssertionFunction) => {
26
- const definedAssertionVerified = definedAssertionFunction(definedAssertionNode, assignments, derived, localContext);
27
-
28
- if (definedAssertionVerified) {
29
- return true;
30
- }
31
- });
32
-
33
- if (definedAssertionVerified) {
34
- localContext.debug(`...verified the '${definedAssertionString}' defined assertion.`, definedAssertionNode);
35
- }
36
-
37
- return definedAssertionVerified;
38
- }
39
-
40
- function verifyDerivedDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
41
- let derivedDefinedAssertionVerified = false;
42
-
43
- if (derived) {
44
- const definedAssertionString = localContext.nodeAsString(definedAssertionNode);
45
-
46
- localContext.trace(`Verifying the derived '${definedAssertionString}' defined assertion...`, definedAssertionNode);
47
-
48
- const definedAssertionNegated = isAssertionNegated(definedAssertionNode),
49
- variableNode = variableNodeQuery(definedAssertionNode),
50
- termNode = termNodeQuery(definedAssertionNode),
51
- negated = definedAssertionNegated; ///
52
-
53
- if (false) {
54
- ///
55
- } else if (variableNode !== null) {
56
- const variable = localContext.findVariableByVariableNode(variableNode);
57
-
58
- if (variable !== null) {
59
- const variableDefined = localContext.isVariableDefined(variable);
60
-
61
- if (!negated) {
62
- if (variableDefined) {
63
- derivedDefinedAssertionVerified = true;
64
- }
65
- }
66
-
67
- if (negated) {
68
- if (!variableDefined) {
69
- derivedDefinedAssertionVerified = true;
70
- }
71
- }
72
- }
73
- } else if (termNode !== null) {
74
- const terms = [],
75
- termVerified = verifyTerm(termNode, terms, localContext, () => {
76
- const verifiedAhead = true;
77
-
78
- return verifiedAhead;
79
- });
80
-
81
- if (termVerified) {
82
- const firstTerm = first(terms),
83
- term = firstTerm, ///
84
- termGrounded = localContext.isTermGrounded(term);
85
-
86
- if (!negated) {
87
- if (termGrounded) {
88
- derivedDefinedAssertionVerified = true;
89
- }
90
- }
91
-
92
- if (negated) {
93
- if (!termGrounded) {
94
- derivedDefinedAssertionVerified = true;
95
- }
96
- }
97
- }
98
- }
99
-
100
- if (derivedDefinedAssertionVerified) {
101
- localContext.debug(`...verified the derived '${definedAssertionString}' defined assertion.`, definedAssertionNode);
102
- }
103
- }
104
-
105
- return derivedDefinedAssertionVerified;
106
- }
107
-
108
- function verifyStatedDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
109
- let statedDefinedAssertionVerified = false;
110
-
111
- if (!derived) {
112
- const definedAssertionString = localContext.nodeAsString(definedAssertionNode);
113
-
114
- localContext.trace(`Verifying the stated '${definedAssertionString}' defined assertion...`, definedAssertionNode);
115
-
116
- const intrinsicLevel = localContext.isIntrinsicLevel();
117
-
118
- if (intrinsicLevel) {
119
- localContext.debug(`The stated '${definedAssertionString}' defined assertion cannot be verified at intrinsic level.`, definedAssertionNode);
120
- } else {
121
- const nonTerminalNode = definedAssertionNode, ///
122
- nonTerminalNodeVerified = metaLevelNodeVerifier.verifyNonTerminalNode(nonTerminalNode, localContext, () => {
123
- const verifiedAhead = true;
124
-
125
- return verifiedAhead;
126
- });
127
-
128
- statedDefinedAssertionVerified = nonTerminalNodeVerified; ///
129
- }
130
-
131
- if (statedDefinedAssertionVerified) {
132
- localContext.debug(`...verified the stated '${definedAssertionString}' defined assertion.`, definedAssertionNode);
133
- }
134
- }
135
-
136
- return statedDefinedAssertionVerified;
137
- }