occam-verify-cli 1.0.617 → 1.0.631

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 (85) hide show
  1. package/lib/context/ephemeral.js +152 -47
  2. package/lib/context/file/nominal.js +136 -140
  3. package/lib/context/liminal.js +16 -26
  4. package/lib/context/scoped.js +26 -55
  5. package/lib/context.js +103 -53
  6. package/lib/element/assertion/contained.js +3 -1
  7. package/lib/element/assertion/defined.js +3 -1
  8. package/lib/element/assertion/property.js +10 -58
  9. package/lib/element/assertion/satisfies.js +3 -1
  10. package/lib/element/assertion/subproof.js +3 -1
  11. package/lib/element/assertion/type.js +63 -109
  12. package/lib/element/assumption.js +40 -16
  13. package/lib/element/derivation.js +8 -10
  14. package/lib/element/equality.js +102 -62
  15. package/lib/element/equivalence.js +6 -6
  16. package/lib/element/equivalences.js +4 -4
  17. package/lib/element/frame.js +21 -21
  18. package/lib/element/hypothesis.js +5 -7
  19. package/lib/element/judgement.js +47 -25
  20. package/lib/element/metaType.js +2 -2
  21. package/lib/element/metavariable.js +12 -3
  22. package/lib/element/reference.js +9 -21
  23. package/lib/element/rule.js +13 -15
  24. package/lib/element/statement.js +23 -25
  25. package/lib/element/subDerivation.js +4 -6
  26. package/lib/element/substitution/frame.js +4 -4
  27. package/lib/element/substitution/reference.js +4 -4
  28. package/lib/element/substitution/statement.js +4 -4
  29. package/lib/element/substitution/term.js +7 -1
  30. package/lib/element/substitution.js +71 -43
  31. package/lib/element/term.js +15 -1
  32. package/lib/element/topLevelAssertion.js +9 -11
  33. package/lib/element/topLevelMetaAssertion.js +9 -11
  34. package/lib/element/variable.js +44 -3
  35. package/lib/process/assign.js +96 -26
  36. package/lib/process/unify.js +3 -4
  37. package/lib/process/validate.js +2 -2
  38. package/lib/process/verify.js +2 -2
  39. package/lib/utilities/element.js +74 -12
  40. package/lib/utilities/json.js +2 -2
  41. package/lib/utilities/string.js +9 -24
  42. package/lib/utilities/substitutions.js +14 -22
  43. package/package.json +1 -1
  44. package/src/context/ephemeral.js +170 -50
  45. package/src/context/file/nominal.js +136 -141
  46. package/src/context/liminal.js +22 -34
  47. package/src/context/scoped.js +33 -74
  48. package/src/context.js +97 -46
  49. package/src/element/assertion/contained.js +4 -0
  50. package/src/element/assertion/defined.js +4 -0
  51. package/src/element/assertion/property.js +15 -26
  52. package/src/element/assertion/satisfies.js +4 -0
  53. package/src/element/assertion/subproof.js +4 -0
  54. package/src/element/assertion/type.js +67 -77
  55. package/src/element/assumption.js +48 -16
  56. package/src/element/derivation.js +3 -5
  57. package/src/element/equality.js +109 -74
  58. package/src/element/equivalence.js +7 -7
  59. package/src/element/equivalences.js +7 -5
  60. package/src/element/frame.js +25 -25
  61. package/src/element/hypothesis.js +4 -6
  62. package/src/element/judgement.js +54 -24
  63. package/src/element/metaType.js +1 -1
  64. package/src/element/metavariable.js +16 -3
  65. package/src/element/reference.js +12 -26
  66. package/src/element/rule.js +8 -10
  67. package/src/element/statement.js +27 -30
  68. package/src/element/subDerivation.js +3 -5
  69. package/src/element/substitution/frame.js +1 -1
  70. package/src/element/substitution/reference.js +1 -1
  71. package/src/element/substitution/statement.js +1 -1
  72. package/src/element/substitution/term.js +2 -0
  73. package/src/element/substitution.js +60 -36
  74. package/src/element/term.js +20 -2
  75. package/src/element/topLevelAssertion.js +4 -6
  76. package/src/element/topLevelMetaAssertion.js +4 -6
  77. package/src/element/variable.js +2 -0
  78. package/src/process/assign.js +114 -37
  79. package/src/process/unify.js +2 -3
  80. package/src/process/validate.js +1 -1
  81. package/src/process/verify.js +1 -1
  82. package/src/utilities/element.js +83 -26
  83. package/src/utilities/json.js +1 -1
  84. package/src/utilities/string.js +7 -29
  85. package/src/utilities/substitutions.js +18 -29
@@ -16,20 +16,6 @@ export function termsStringFromTerms(terms) {
16
16
  return termsString;
17
17
  }
18
18
 
19
- export function framesStringFromFrames(frames) {
20
- const framesString = frames.reduce((framesString, frame) => {
21
- const frameString = frame.getString();
22
-
23
- framesString = (framesString !== null) ?
24
- `${framesString}, ${frameString}` :
25
- frameString;
26
-
27
- return framesString;
28
- }, null);
29
-
30
- return framesString;
31
- }
32
-
33
19
  export function labelsStringFromLabels(labels) {
34
20
  const labelsString = labels.reduce((labelsString, label) => {
35
21
  const labelString = label.getString();
@@ -131,20 +117,6 @@ export function suppositionsStringFromSuppositions(suppositions) {
131
117
  return suppositionsString;
132
118
  }
133
119
 
134
- export function substitutionsStringFromSubstitutions(substitutions) {
135
- const substitutionsString = substitutions.reduce((substitutionsString, substitution) => {
136
- const substitutionString = substitution.getString();
137
-
138
- substitutionsString = (substitutionsString === null) ?
139
- substitutionString : ///
140
- `${substitutionsString}, ${substitutionString}`;
141
-
142
- return substitutionsString;
143
- }, null);
144
-
145
- return substitutionsString;
146
- }
147
-
148
120
  export function signatureStringFromTerms(terms) {
149
121
  const termsString = termsStringFromTerms(terms),
150
122
  signatureString = `[${termsString}]`;
@@ -154,11 +126,17 @@ export function signatureStringFromTerms(terms) {
154
126
 
155
127
  export function equivalenceStringFromTerms(terms) {
156
128
  const termsString = termsStringFromTerms(terms),
157
- equivalenceString = termsString; ///
129
+ equivalenceString = `[${termsString}]`;
158
130
 
159
131
  return equivalenceString;
160
132
  }
161
133
 
134
+ export function typeStringFromNominalTypeName(nominalTypeName) {
135
+ const typeString = nominalTypeName; ///
136
+
137
+ return typeString;
138
+ }
139
+
162
140
  export function termSubstitutionStringFromTermAndVariable(term, variable) {
163
141
  const termString = term.getString(),
164
142
  variableString = variable.getString(),
@@ -13,17 +13,13 @@ export function termFromTermAndSubstitutions(term, generalContext, specificConte
13
13
 
14
14
  if (termSingular) {
15
15
  const variableIdentifier = termNode.getVariableIdentifier(),
16
- variable = generalContext.findVariableByVariableIdentifier(variableIdentifier);
16
+ substitution = specificContext.findSubstitutionByVariableIdentifier(variableIdentifier);
17
17
 
18
- if (variable !== null) {
19
- const substitution = specificContext.findSubstitutionByVariableIdentifier(variableIdentifier);
18
+ if (substitution !== null) {
19
+ const termSubstitution = substitution, ///
20
+ replacementTerm = termSubstitution.getReplacementTerm();
20
21
 
21
- if (substitution !== null) {
22
- const termSubstitution = substitution, ///
23
- replacementTerm = termSubstitution.getReplacementTerm();
24
-
25
- term = replacementTerm; ///
26
- }
22
+ term = replacementTerm; ///
27
23
  }
28
24
  }
29
25
  }
@@ -40,17 +36,13 @@ export function frameFromFrameAndSubstitutions(frame, generalContext, specificCo
40
36
 
41
37
  if (frameSingular) {
42
38
  const metavariableName = frameNode.getMetavariableName(),
43
- metavariable = generalContext.findMetavariableByMetavariableName(metavariableName);
44
-
45
- if (metavariable !== null) {
46
- const substitution = specificContext.findSubstitutionByMetavariableName(metavariableName);
39
+ substitution = specificContext.findSubstitutionByMetavariableName(metavariableName);
47
40
 
48
- if (substitution !== null) {
49
- const frameSubstitution = substitution, ///
50
- replacementFrame = frameSubstitution.getReplacementFrame();
41
+ if (substitution !== null) {
42
+ const frameSubstitution = substitution, ///
43
+ replacementFrame = frameSubstitution.getReplacementFrame();
51
44
 
52
- frame = replacementFrame; ///
53
- }
45
+ frame = replacementFrame; ///
54
46
  }
55
47
  }
56
48
  }
@@ -86,20 +78,17 @@ export function statementFromStatementAndSubstitutions(statement, generalContext
86
78
  specificContext = context; ///
87
79
  }
88
80
 
89
- const metavariableName = statementNode.getMetavariableName(),
90
- metavariable = generalContext.findMetavariableByMetavariableName(metavariableName);
81
+ const metavariableName = statementNode.getMetavariableName();
91
82
 
92
- if (metavariable !== null) {
93
- substitution = (substitution !== null) ?
94
- specificContext.findSubstitutionByMetavariableNameAndSubstitution(metavariableName, substitution) :
95
- specificContext.findSubstitutionByMetavariableName(metavariableName);
83
+ substitution = (substitution !== null) ?
84
+ specificContext.findSubstitutionByMetavariableNameAndSubstitution(metavariableName, substitution) :
85
+ specificContext.findSubstitutionByMetavariableName(metavariableName);
96
86
 
97
- if (substitution !== null) {
98
- const statementSubstitution = substitution, ///
99
- replacementStatement = statementSubstitution.getReplacementStatement();
87
+ if (substitution !== null) {
88
+ const statementSubstitution = substitution, ///
89
+ replacementStatement = statementSubstitution.getReplacementStatement();
100
90
 
101
- statement = replacementStatement; ///
102
- }
91
+ statement = replacementStatement; ///
103
92
  }
104
93
  }
105
94
  }