occam-verify-cli 1.0.638 → 1.0.642
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.
- package/lib/context/liminal.js +2 -2
- package/lib/context/scoped.js +4 -4
- package/lib/context.js +8 -1
- package/lib/element/assumption.js +3 -3
- package/lib/element/combinator.js +4 -4
- package/lib/element/declaration/combinator.js +15 -2
- package/lib/element/declaration/complexType.js +4 -4
- package/lib/element/declaration/constructor.js +129 -60
- package/lib/element/declaration/simpleType.js +51 -46
- package/lib/element/declaration/typePrefix.js +3 -3
- package/lib/element/declaration/variable.js +2 -2
- package/lib/element/equality.js +18 -17
- package/lib/element/frame.js +2 -2
- package/lib/element/judgement.js +4 -4
- package/lib/element/procedureCall.js +3 -3
- package/lib/element/reference.js +3 -3
- package/lib/element/rule.js +2 -2
- package/lib/element/statement.js +3 -3
- package/lib/element/term.js +7 -4
- package/lib/element/topLevelAssertion.js +2 -2
- package/lib/element/topLevelMetaAssertion.js +2 -2
- package/lib/element/type.js +4 -4
- package/lib/utilities/element.js +147 -47
- package/package.json +7 -7
- package/src/context/liminal.js +1 -1
- package/src/context/scoped.js +3 -3
- package/src/context.js +7 -0
- package/src/element/assumption.js +1 -1
- package/src/element/combinator.js +3 -4
- package/src/element/declaration/combinator.js +19 -1
- package/src/element/declaration/complexType.js +3 -3
- package/src/element/declaration/constructor.js +123 -60
- package/src/element/declaration/simpleType.js +51 -50
- package/src/element/declaration/typePrefix.js +2 -2
- package/src/element/declaration/variable.js +1 -1
- package/src/element/equality.js +18 -20
- package/src/element/frame.js +1 -2
- package/src/element/judgement.js +2 -2
- package/src/element/procedureCall.js +2 -2
- package/src/element/reference.js +1 -1
- package/src/element/rule.js +1 -1
- package/src/element/statement.js +1 -1
- package/src/element/term.js +7 -3
- package/src/element/topLevelAssertion.js +1 -1
- package/src/element/topLevelMetaAssertion.js +1 -1
- package/src/element/type.js +3 -4
- package/src/utilities/element.js +214 -77
package/src/element/equality.js
CHANGED
|
@@ -120,13 +120,13 @@ export default define(class Equality extends Element {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
validate(stated, context) {
|
|
123
|
-
let equality =
|
|
123
|
+
let equality = null;
|
|
124
124
|
|
|
125
125
|
const equalityString = this.getString(); ///
|
|
126
126
|
|
|
127
127
|
context.trace(`Validating the '${equalityString}' equality...`);
|
|
128
128
|
|
|
129
|
-
const validEquality = this.
|
|
129
|
+
const validEquality = this.findValidEquality(context);
|
|
130
130
|
|
|
131
131
|
if (validEquality !== null) {
|
|
132
132
|
equality = validEquality; ///
|
|
@@ -153,7 +153,7 @@ export default define(class Equality extends Element {
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
if (validates) {
|
|
156
|
-
|
|
156
|
+
equality = this; ///
|
|
157
157
|
|
|
158
158
|
this.assign(stated, context);
|
|
159
159
|
|
|
@@ -174,38 +174,36 @@ export default define(class Equality extends Element {
|
|
|
174
174
|
context.trace(`Validating the '${equalityString}' equality's terms...`);
|
|
175
175
|
|
|
176
176
|
let leftTerm,
|
|
177
|
-
rightTerm
|
|
177
|
+
rightTerm;
|
|
178
178
|
|
|
179
179
|
leftTerm = this.leftTerm.validate(context, () => {
|
|
180
|
-
let validatesForwards;
|
|
180
|
+
let validatesForwards = false;
|
|
181
181
|
|
|
182
182
|
rightTerm = this.rightTerm.validate(context, () => {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
const leftTermType = this.leftTerm.getType(),
|
|
186
|
-
rightTermType = this.rightTerm.getType(),
|
|
187
|
-
leftTermTypeComparableToRightTermType = leftTermType.isComparableTo(rightTermType);
|
|
188
|
-
|
|
189
|
-
validatesForwards = leftTermTypeComparableToRightTermType; ///
|
|
183
|
+
const validatesForwards = true;
|
|
190
184
|
|
|
191
185
|
return validatesForwards;
|
|
192
186
|
});
|
|
193
187
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
188
|
+
if (rightTerm !== null) {
|
|
189
|
+
validatesForwards = true;
|
|
190
|
+
}
|
|
197
191
|
|
|
198
192
|
return validatesForwards;
|
|
199
193
|
});
|
|
200
194
|
|
|
201
|
-
|
|
195
|
+
if (leftTerm !== null) {
|
|
196
|
+
const leftTermType = leftTerm.getType(),
|
|
197
|
+
rightTermType = rightTerm.getType(),
|
|
198
|
+
leftTermTypeComparableToRightTermType = leftTermType.isComparableTo(rightTermType);
|
|
202
199
|
|
|
203
|
-
|
|
204
|
-
|
|
200
|
+
if (leftTermTypeComparableToRightTermType) {
|
|
201
|
+
this.leftTerm = leftTerm;
|
|
205
202
|
|
|
206
|
-
|
|
203
|
+
this.rightTerm = rightTerm;
|
|
207
204
|
|
|
208
|
-
|
|
205
|
+
termsValidate = true;
|
|
206
|
+
}
|
|
209
207
|
}
|
|
210
208
|
|
|
211
209
|
if (termsValidate) {
|
package/src/element/frame.js
CHANGED
|
@@ -64,7 +64,6 @@ export default define(class Frame extends Element {
|
|
|
64
64
|
return validFrame;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
68
67
|
isEqualTo(frame) {
|
|
69
68
|
const frameNode = frame.getNode(),
|
|
70
69
|
frameNodeMatches = this.matchFrameNode(frameNode),
|
|
@@ -225,7 +224,7 @@ export default define(class Frame extends Element {
|
|
|
225
224
|
if (singular) {
|
|
226
225
|
validatesWhenStated = true;
|
|
227
226
|
} else {
|
|
228
|
-
context.
|
|
227
|
+
context.debug(`The '${frameString}' stated frame must be singular.`);
|
|
229
228
|
}
|
|
230
229
|
|
|
231
230
|
if (validatesWhenStated) {
|
package/src/element/judgement.js
CHANGED
|
@@ -97,7 +97,7 @@ export default define(class Judgement extends Element {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
if (validates) {
|
|
100
|
-
|
|
100
|
+
judgement = this; ///
|
|
101
101
|
|
|
102
102
|
context.addJudgement(judgement)
|
|
103
103
|
|
|
@@ -148,7 +148,7 @@ export default define(class Judgement extends Element {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
if (assumptionValidates) {
|
|
151
|
-
context.
|
|
151
|
+
context.debug(`...validated the '${judgementString}' judgement's '${assumptionString}' assumption.`);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
return assumptionValidates;
|
|
@@ -60,10 +60,10 @@ export default define(class ProcedureCall extends Element {
|
|
|
60
60
|
if (procedureBoolean) {
|
|
61
61
|
validates = true;
|
|
62
62
|
} else {
|
|
63
|
-
context.
|
|
63
|
+
context.debug(`The '${procedureCallString}' procedure is not boolean.`);
|
|
64
64
|
}
|
|
65
65
|
} else {
|
|
66
|
-
context.
|
|
66
|
+
context.debug(`The '${procedureCallString}' procedure is not present.`);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
if (validates) {
|
package/src/element/reference.js
CHANGED
package/src/element/rule.js
CHANGED
package/src/element/statement.js
CHANGED
package/src/element/term.js
CHANGED
|
@@ -159,9 +159,13 @@ export default define(class Term extends Element {
|
|
|
159
159
|
valid = (validTerm !== null);
|
|
160
160
|
|
|
161
161
|
if (valid) {
|
|
162
|
-
|
|
162
|
+
const validatesForward = validateForwards();
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
if (validatesForward) {
|
|
165
|
+
term = validTerm; ///
|
|
166
|
+
|
|
167
|
+
context.debug(`...the '${termString}' term is already valid.`);
|
|
168
|
+
}
|
|
165
169
|
} else {
|
|
166
170
|
const validates = validateTerms.some((validateTerm) => { ///
|
|
167
171
|
const term = this, ///
|
|
@@ -173,7 +177,7 @@ export default define(class Term extends Element {
|
|
|
173
177
|
});
|
|
174
178
|
|
|
175
179
|
if (validates) {
|
|
176
|
-
term =
|
|
180
|
+
term = this; ///
|
|
177
181
|
|
|
178
182
|
context.addTerm(term);
|
|
179
183
|
|
|
@@ -140,7 +140,7 @@ export default class TopLevelAssertion extends Element {
|
|
|
140
140
|
});
|
|
141
141
|
|
|
142
142
|
if (labelsVerify) {
|
|
143
|
-
context.
|
|
143
|
+
context.debug(`...verified the '${topLevelAssertionString}' top level assertion's labels.`);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
return labelsVerify;
|
|
@@ -66,7 +66,7 @@ export default class TopLevelMetaAssertion extends Element {
|
|
|
66
66
|
labelVerifies = this.label.verify(nameOnly);
|
|
67
67
|
|
|
68
68
|
if (labelVerifies) {
|
|
69
|
-
context.
|
|
69
|
+
context.debug(`...verified the '${topLevelMetaAssertionString}' top level meta assertion's label.`);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
return labelVerifies;
|
package/src/element/type.js
CHANGED
|
@@ -93,12 +93,11 @@ export default define(class Type extends Element {
|
|
|
93
93
|
this.provisional = provisional;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
replaceSuperType(
|
|
97
|
-
const
|
|
98
|
-
start = index,
|
|
96
|
+
replaceSuperType(superType, index) {
|
|
97
|
+
const start = index,
|
|
99
98
|
deleteCount = 1;
|
|
100
99
|
|
|
101
|
-
this.superTypes.splice(start, deleteCount,
|
|
100
|
+
this.superTypes.splice(start, deleteCount, superType);
|
|
102
101
|
}
|
|
103
102
|
|
|
104
103
|
isPrefixed() {
|