occam-verify-cli 1.0.935 → 1.0.937

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 (121) hide show
  1. package/lib/action/verify.js +2 -2
  2. package/lib/element/assertion/contained.js +5 -5
  3. package/lib/element/assertion/defined.js +5 -5
  4. package/lib/element/assertion/property.js +5 -5
  5. package/lib/element/assertion/signature.js +5 -5
  6. package/lib/element/assertion/subproof.js +5 -5
  7. package/lib/element/assertion/type.js +12 -7
  8. package/lib/element/assertion.js +8 -3
  9. package/lib/element/assumption/metaLevel.js +12 -7
  10. package/lib/element/assumption.js +11 -6
  11. package/lib/element/combinator.js +12 -7
  12. package/lib/element/conclusion.js +12 -7
  13. package/lib/element/constructor.js +12 -7
  14. package/lib/element/declaration/combinator.js +3 -3
  15. package/lib/element/declaration/complexType.js +3 -3
  16. package/lib/element/declaration/constructor.js +3 -3
  17. package/lib/element/declaration/metavariable.js +3 -3
  18. package/lib/element/declaration/property.js +3 -3
  19. package/lib/element/declaration/simpleType.js +3 -3
  20. package/lib/element/declaration/typePrefix.js +3 -3
  21. package/lib/element/declaration/variable.js +3 -3
  22. package/lib/element/deduction.js +12 -7
  23. package/lib/element/derivation.js +3 -3
  24. package/lib/element/equality.js +12 -7
  25. package/lib/element/equivalence.js +3 -3
  26. package/lib/element/frame.js +12 -7
  27. package/lib/element/hypothesis.js +12 -7
  28. package/lib/element/judgement.js +12 -7
  29. package/lib/element/label.js +12 -7
  30. package/lib/element/metaType.js +11 -6
  31. package/lib/element/metavariable.js +11 -6
  32. package/lib/element/parameter.js +12 -7
  33. package/lib/element/procedureCall.js +12 -7
  34. package/lib/element/procedureReference.js +12 -7
  35. package/lib/element/proof.js +3 -3
  36. package/lib/element/proofAssertion/premise.js +12 -7
  37. package/lib/element/proofAssertion/step.js +3 -3
  38. package/lib/element/proofAssertion/supposition.js +12 -7
  39. package/lib/element/proofAssertion.js +3 -3
  40. package/lib/element/property.js +12 -7
  41. package/lib/element/propertyRelation.js +12 -7
  42. package/lib/element/reference.js +12 -7
  43. package/lib/element/rule.js +11 -6
  44. package/lib/element/section.js +3 -3
  45. package/lib/element/signature.js +12 -7
  46. package/lib/element/statement.js +10 -5
  47. package/lib/element/subDerivation.js +3 -3
  48. package/lib/element/subproof.js +3 -3
  49. package/lib/element/substitution/frame.js +5 -5
  50. package/lib/element/substitution/reference.js +5 -5
  51. package/lib/element/substitution/statement.js +5 -5
  52. package/lib/element/substitution/term.js +5 -5
  53. package/lib/element/substitution.js +15 -10
  54. package/lib/element/term.js +12 -7
  55. package/lib/element/topLevelAssertion.js +11 -6
  56. package/lib/element/topLevelMetaAssertion.js +11 -6
  57. package/lib/element/type.js +9 -9
  58. package/lib/element/typePrefix.js +12 -7
  59. package/lib/element/variable.js +12 -7
  60. package/lib/utilities/element.js +109 -109
  61. package/package.json +4 -4
  62. package/src/action/verify.js +1 -1
  63. package/src/element/assertion/contained.js +4 -4
  64. package/src/element/assertion/defined.js +4 -4
  65. package/src/element/assertion/property.js +4 -4
  66. package/src/element/assertion/signature.js +4 -4
  67. package/src/element/assertion/subproof.js +4 -4
  68. package/src/element/assertion/type.js +16 -8
  69. package/src/element/assertion.js +15 -7
  70. package/src/element/assumption/metaLevel.js +19 -11
  71. package/src/element/assumption.js +18 -10
  72. package/src/element/combinator.js +19 -11
  73. package/src/element/conclusion.js +19 -11
  74. package/src/element/constructor.js +16 -8
  75. package/src/element/declaration/combinator.js +2 -2
  76. package/src/element/declaration/complexType.js +2 -2
  77. package/src/element/declaration/constructor.js +2 -2
  78. package/src/element/declaration/metavariable.js +2 -2
  79. package/src/element/declaration/property.js +2 -2
  80. package/src/element/declaration/simpleType.js +2 -2
  81. package/src/element/declaration/typePrefix.js +2 -2
  82. package/src/element/declaration/variable.js +2 -2
  83. package/src/element/deduction.js +19 -11
  84. package/src/element/derivation.js +2 -2
  85. package/src/element/equality.js +18 -10
  86. package/src/element/equivalence.js +2 -2
  87. package/src/element/frame.js +18 -10
  88. package/src/element/hypothesis.js +19 -11
  89. package/src/element/judgement.js +18 -10
  90. package/src/element/label.js +19 -11
  91. package/src/element/metaType.js +18 -10
  92. package/src/element/metavariable.js +19 -11
  93. package/src/element/parameter.js +18 -10
  94. package/src/element/procedureCall.js +18 -10
  95. package/src/element/procedureReference.js +18 -10
  96. package/src/element/proof.js +2 -2
  97. package/src/element/proofAssertion/premise.js +19 -11
  98. package/src/element/proofAssertion/step.js +2 -2
  99. package/src/element/proofAssertion/supposition.js +19 -11
  100. package/src/element/proofAssertion.js +2 -2
  101. package/src/element/property.js +16 -8
  102. package/src/element/propertyRelation.js +18 -10
  103. package/src/element/reference.js +19 -11
  104. package/src/element/rule.js +16 -8
  105. package/src/element/section.js +2 -2
  106. package/src/element/signature.js +19 -11
  107. package/src/element/statement.js +16 -8
  108. package/src/element/subDerivation.js +2 -2
  109. package/src/element/subproof.js +2 -2
  110. package/src/element/substitution/frame.js +4 -4
  111. package/src/element/substitution/reference.js +4 -4
  112. package/src/element/substitution/statement.js +4 -4
  113. package/src/element/substitution/term.js +4 -4
  114. package/src/element/substitution.js +23 -15
  115. package/src/element/term.js +16 -8
  116. package/src/element/topLevelAssertion.js +16 -8
  117. package/src/element/topLevelMetaAssertion.js +16 -8
  118. package/src/element/type.js +8 -8
  119. package/src/element/typePrefix.js +18 -10
  120. package/src/element/variable.js +16 -8
  121. package/src/utilities/element.js +122 -122
@@ -9,11 +9,11 @@ const { first, second } = arrayUtilities,
9
9
  { primitiveFromNode } =primitiveUtilities;
10
10
 
11
11
  class Element {
12
- constructor(contexts, string, node, lineIndex) {
12
+ constructor(contexts, string, node, breakPoint) {
13
13
  this.contexts = contexts;
14
14
  this.string = string;
15
15
  this.node = node;
16
- this.lineIndex = lineIndex;
16
+ this.breakPoint = breakPoint;
17
17
  }
18
18
 
19
19
  getContexts() {
@@ -28,8 +28,8 @@ class Element {
28
28
  return this.node;
29
29
  }
30
30
 
31
- getLineIndex() {
32
- return this.lineIndex;
31
+ getBreakPoint() {
32
+ return this.breakPoint;
33
33
  }
34
34
 
35
35
  setContexts(contexts) {
@@ -44,12 +44,12 @@ class Element {
44
44
  this.node = node;
45
45
  }
46
46
 
47
- setLineIndex(lineIndex) {
48
- this.lineIndex = lineIndex;
47
+ setLineIndex(breakPoint) {
48
+ this.breakPoint = breakPoint;
49
49
  }
50
50
 
51
51
  async break(context) {
52
- this.lineIndex = await context.break(this.node, this.lineIndex);
52
+ this.breakPoint = await context.break(this.node, this.breakPoint);
53
53
  }
54
54
 
55
55
  matchNode(node) { return this.node.match(node); }
@@ -243,14 +243,22 @@ export default class Substitution extends Element {
243
243
 
244
244
  return serialises((...contexts) => {
245
245
  const name = this.getName(),
246
- string = this.getString(),
247
- lineIndex = this.getLineIndex(),
248
- json = {
249
- name,
250
- contexts,
251
- string,
252
- lineIndex
253
- };
246
+ string = this.getString();
247
+
248
+ let breakPoint;
249
+
250
+ breakPoint = this.getBreakPoint();
251
+
252
+ const breakPointJSON = breakPoint.toJSON();
253
+
254
+ breakPoint = breakPointJSON; ///
255
+
256
+ const json = {
257
+ name,
258
+ contexts,
259
+ string,
260
+ breakPoint
261
+ };
254
262
 
255
263
  return json;
256
264
  }, ...contexts);
@@ -14,8 +14,8 @@ import { typeFromJSON, typeToTypeJSON, provisionalFromJSON, provisionalToProvisi
14
14
  const { filter } = arrayUtilities;
15
15
 
16
16
  export default define(class Term extends Element {
17
- constructor(context, string, node, lineIndex, type, provisional) {
18
- super(context, string, node, lineIndex, provisional);
17
+ constructor(context, string, node, breakPoint, type, provisional) {
18
+ super(context, string, node, breakPoint, provisional);
19
19
 
20
20
  this.type = type;
21
21
  this.provisional = provisional;
@@ -288,13 +288,21 @@ export default define(class Term extends Element {
288
288
  toJSON() {
289
289
  const typeJSON = typeToTypeJSON(this.type),
290
290
  provisionalJSON = provisionalToProvisionalJSON(this.provisional),
291
- string = this.getString(), ///
292
- lineIndex = this.getLineIndex(),
293
- type = typeJSON, ///
291
+ string = this.getString();
292
+
293
+ let breakPoint;
294
+
295
+ breakPoint = this.getBreakPoint();
296
+
297
+ const breakPointJSON = breakPoint.toJSON();
298
+
299
+ breakPoint = breakPointJSON; ///
300
+
301
+ const type = typeJSON, ///
294
302
  provisional = provisionalJSON, ///
295
303
  json = {
296
304
  string,
297
- lineIndex,
305
+ breakPoint,
298
306
  type,
299
307
  provisional
300
308
  };
@@ -306,7 +314,7 @@ export default define(class Term extends Element {
306
314
 
307
315
  static fromJSON(json, context) {
308
316
  return instantiate((context) => {
309
- const { string, lineIndex } = json,
317
+ const { string, breakPoint } = json,
310
318
  termNode = instantiateTerm(string, context),
311
319
  node = termNode, ///
312
320
  type = typeFromJSON(json, context),
@@ -314,7 +322,7 @@ export default define(class Term extends Element {
314
322
 
315
323
  context = null;
316
324
 
317
- const term = new Term(context, string, node, lineIndex, type, provisional);
325
+ const term = new Term(context, string, node, breakPoint, type, provisional);
318
326
 
319
327
  return term;
320
328
  }, context);
@@ -20,8 +20,8 @@ const { reverse } = arrayUtilities,
20
20
  { asyncExtract, asyncForwardsEvery, asyncBackwardsEvery } = asynchronousUtilities;
21
21
 
22
22
  export default class TopLevelAssertion extends Element {
23
- constructor(context, string, node, lineIndex, labels, suppositions, deduction, proof, signature, hypotheses) {
24
- super(context, string, node, lineIndex);
23
+ constructor(context, string, node, breakPoint, labels, suppositions, deduction, proof, signature, hypotheses) {
24
+ super(context, string, node, breakPoint);
25
25
 
26
26
  this.labels = labels;
27
27
  this.suppositions = suppositions;
@@ -353,16 +353,24 @@ export default class TopLevelAssertion extends Element {
353
353
  suppositionsJSON = suppositionsToSuppositionsJSON(this.suppositions),
354
354
  signatureJSON = signatureToSignatureJSON(this.signature),
355
355
  hypothesesJSON = hypothesesToHypothesesJSON(this.hypotheses),
356
- string = this.getString(),
357
- lineIndex = this.getLineIndex(),
358
- labels = labelsJSON, ///
356
+ string = this.getString();
357
+
358
+ let breakPoint;
359
+
360
+ breakPoint = this.getBreakPoint();
361
+
362
+ const breakPointJSON = breakPoint.toJSON();
363
+
364
+ breakPoint = breakPointJSON; ///
365
+
366
+ const labels = labelsJSON, ///
359
367
  deduction = deductionJSON, ///
360
368
  suppositions = suppositionsJSON, ///
361
369
  signature = signatureJSON, ///
362
370
  hypotheses = hypothesesJSON, ///
363
371
  json = {
364
372
  string,
365
- lineIndex,
373
+ breakPoint,
366
374
  labels,
367
375
  deduction,
368
376
  suppositions,
@@ -374,7 +382,7 @@ export default class TopLevelAssertion extends Element {
374
382
  }
375
383
 
376
384
  static fromJSON(Class, json, context) {
377
- const { lineIndex } = json,
385
+ const { breakPoint } = json,
378
386
  labels = labelsFromJSON(json, context),
379
387
  deduction = deductionFromJSON(json, context),
380
388
  suppositions = suppositionsFromJSON(json, context),
@@ -384,7 +392,7 @@ export default class TopLevelAssertion extends Element {
384
392
  node = null,
385
393
  proof = null,
386
394
  string = topLevelAssertionString, ///
387
- topLevelAssertion = new Class(context, string, node, lineIndex, labels, suppositions, deduction, proof, signature, hypotheses);
395
+ topLevelAssertion = new Class(context, string, node, breakPoint, labels, suppositions, deduction, proof, signature, hypotheses);
388
396
 
389
397
  return topLevelAssertion;
390
398
  }
@@ -16,8 +16,8 @@ import { labelFromJSON,
16
16
  const { asyncForwardsEvery } = asynchronousUtilities;
17
17
 
18
18
  export default class TopLevelMetaAssertion extends Element {
19
- constructor(context, string, node, lineIndex, label, suppositions, deduction, proof, metaLevelAssumptions) {
20
- super(context, string, node, lineIndex);
19
+ constructor(context, string, node, breakPoint, label, suppositions, deduction, proof, metaLevelAssumptions) {
20
+ super(context, string, node, breakPoint);
21
21
 
22
22
  this.label = label;
23
23
  this.suppositions = suppositions;
@@ -233,15 +233,23 @@ export default class TopLevelMetaAssertion extends Element {
233
233
  deductionJSON = deductionToDeductionJSON(this.deduction),
234
234
  suppositionsJSON = suppositionsToSuppositionsJSON(this.suppositions),
235
235
  metaLevelAssumptionsJSON = metaLevelAssumptionsToMetaLevelAssumptionsJSON(this.metaLevelAssumptions),
236
- string = this.getString(),
237
- lineIndex = this.getLineIndex(),
238
- label = labelJSON, ///
236
+ string = this.getString();
237
+
238
+ let breakPoint;
239
+
240
+ breakPoint = this.getBreakPoint();
241
+
242
+ const breakPointJSON = breakPoint.toJSON();
243
+
244
+ breakPoint = breakPointJSON; ///
245
+
246
+ const label = labelJSON, ///
239
247
  deduction = deductionJSON, ///
240
248
  suppositions = suppositionsJSON, ///
241
249
  metaLevelAssumptions = metaLevelAssumptionsJSON, ///
242
250
  json = {
243
251
  string,
244
- lineIndex,
252
+ breakPoint,
245
253
  label,
246
254
  deduction,
247
255
  suppositions,
@@ -252,7 +260,7 @@ export default class TopLevelMetaAssertion extends Element {
252
260
  }
253
261
 
254
262
  static fromJSON(Class, json, context) {
255
- const { lineIndex } = json,
263
+ const { breakPoint } = json,
256
264
  label = labelFromJSON(json, context),
257
265
  deduction = deductionFromJSON(json, context),
258
266
  suppositions = suppositionsFromJSON(json, context),
@@ -260,7 +268,7 @@ export default class TopLevelMetaAssertion extends Element {
260
268
  node = null,
261
269
  proof = null,
262
270
  string = topLevelMetaAssertionStringFromLabelSuppositionsAndDeduction(label, suppositions, deduction),
263
- topLevelMetaAssertion = new Class(context, string, node, lineIndex, label, suppositions, deduction, proof, metaLevelAssumptions);
271
+ topLevelMetaAssertion = new Class(context, string, node, breakPoint, label, suppositions, deduction, proof, metaLevelAssumptions);
264
272
 
265
273
  return topLevelMetaAssertion;
266
274
  }
@@ -20,8 +20,8 @@ import { propertiesFromJSON,
20
20
  const { push, first } = arrayUtilities;
21
21
 
22
22
  export default define(class Type extends Element {
23
- constructor(context, string, node, lineIndex, name, prefixName, superTypes, properties, provisional) {
24
- super(context, string, node, lineIndex);
23
+ constructor(context, string, node, breakPoint, name, prefixName, superTypes, properties, provisional) {
24
+ super(context, string, node, breakPoint);
25
25
 
26
26
  this.name = name;
27
27
  this.prefixName = prefixName;
@@ -298,10 +298,10 @@ export default define(class Type extends Element {
298
298
 
299
299
  toJSON(abridged = false) {
300
300
  const string = this.getString(),
301
- lineIndex = this.getLineIndex(),
301
+ breakPoint = this.getBreakPoint(),
302
302
  json = {
303
303
  string,
304
- lineIndex
304
+ breakPoint
305
305
  };
306
306
 
307
307
  if (!abridged) {
@@ -329,7 +329,7 @@ export default define(class Type extends Element {
329
329
 
330
330
  static fromJSON(json, context) {
331
331
  return instantiate((context) => {
332
- const { string, lineIndex } = json,
332
+ const { string, breakPoint } = json,
333
333
  typeNode = instantiateType(string, context),
334
334
  node = typeNode, ///
335
335
  name = nameFromTypeNode(typeNode, context),
@@ -340,7 +340,7 @@ export default define(class Type extends Element {
340
340
 
341
341
  context = null; ///
342
342
 
343
- const type = new Type(context, string, node, lineIndex, name, prefixName, superTypes, properties, provisional);
343
+ const type = new Type(context, string, node, breakPoint, name, prefixName, superTypes, properties, provisional);
344
344
 
345
345
  return type;
346
346
  }, context);
@@ -349,7 +349,7 @@ export default define(class Type extends Element {
349
349
  static fromName(name, context) {
350
350
  const string = name, ///
351
351
  node = null,
352
- lineIndex = null,
352
+ breakPoint = null,
353
353
  prefixName = null,
354
354
  superTypes = [],
355
355
  properties = [],
@@ -357,7 +357,7 @@ export default define(class Type extends Element {
357
357
 
358
358
  context = null;
359
359
 
360
- const type = new Type(context, string, node, lineIndex, name, prefixName, superTypes, properties, provisional);
360
+ const type = new Type(context, string, node, breakPoint, name, prefixName, superTypes, properties, provisional);
361
361
 
362
362
  return type;
363
363
  }
@@ -8,8 +8,8 @@ import { instantiateTypePrefix } from "../process/instantiate";
8
8
  import { nameFromTypePrefixNode } from "../utilities/element";
9
9
 
10
10
  export default define(class TypePrefix extends Element {
11
- constructor(context, string, node, lineIndex, name) {
12
- super(context, string, node, lineIndex);
11
+ constructor(context, string, node, breakPoint, name) {
12
+ super(context, string, node, breakPoint);
13
13
 
14
14
  this.name = name;
15
15
  }
@@ -76,26 +76,34 @@ export default define(class TypePrefix extends Element {
76
76
  static name = "TypePrefix";
77
77
 
78
78
  toJSON() {
79
- const string = this.getString(),
80
- lineIndex = this.getLineIndex(),
81
- json = {
82
- string,
83
- lineIndex
84
- };
79
+ const string = this.getString();
80
+
81
+ let breakPoint;
82
+
83
+ breakPoint = this.getBreakPoint();
84
+
85
+ const breakPointJSON = breakPoint.toJSON();
86
+
87
+ breakPoint = breakPointJSON; ///
88
+
89
+ const json = {
90
+ string,
91
+ breakPoint
92
+ };
85
93
 
86
94
  return json;
87
95
  }
88
96
 
89
97
  static fromJSON(json, context) {
90
98
  return instantiate((context) => {
91
- const { string, lineIndex } = json,
99
+ const { string, breakPoint } = json,
92
100
  typePrefixNode = instantiateTypePrefix(string, context),
93
101
  node = typePrefixNode, ///
94
102
  name = nameFromTypePrefixNode(typePrefixNode, context);
95
103
 
96
104
  context = null; ///
97
105
 
98
- const typePrefix = new TypePrefix(context, string, node, lineIndex, name);
106
+ const typePrefix = new TypePrefix(context, string, node, breakPoint, name);
99
107
 
100
108
  return typePrefix;
101
109
  }, context);
@@ -12,8 +12,8 @@ import { variableFromTermNode, identifierFromVariableNode } from "../utilities/e
12
12
  import { typeFromJSON, typeToTypeJSON, provisionalFromJSON, provisionalToProvisionalJSON } from "../utilities/json";
13
13
 
14
14
  export default define(class Variable extends Element {
15
- constructor(context, string, node, lineIndex, type, identifier, provisional) {
16
- super(context, string, node, lineIndex);
15
+ constructor(context, string, node, breakPoint, type, identifier, provisional) {
16
+ super(context, string, node, breakPoint);
17
17
 
18
18
  this.type = type;
19
19
  this.identifier = identifier;
@@ -207,13 +207,21 @@ export default define(class Variable extends Element {
207
207
  toJSON() {
208
208
  const typeJSON = typeToTypeJSON(this.type),
209
209
  provisionalJSON = provisionalToProvisionalJSON(this.provisional),
210
- string = this.getString(), ///
211
- lineIndex = this.getLineIndex(),
212
- type = typeJSON, ///
210
+ string = this.getString();
211
+
212
+ let breakPoint;
213
+
214
+ breakPoint = this.getBreakPoint();
215
+
216
+ const breakPointJSON = breakPoint.toJSON();
217
+
218
+ breakPoint = breakPointJSON; ///
219
+
220
+ const type = typeJSON, ///
213
221
  provisional = provisionalJSON, ///
214
222
  json = {
215
223
  string,
216
- lineIndex,
224
+ breakPoint,
217
225
  type,
218
226
  provisional
219
227
  };
@@ -225,7 +233,7 @@ export default define(class Variable extends Element {
225
233
 
226
234
  static fromJSON(json, context) {
227
235
  return instantiate((context) => {
228
- const { string, lineIndex } = json,
236
+ const { string, breakPoint } = json,
229
237
  variableNode = instantiateVariable(string, context),
230
238
  node = variableNode, ///
231
239
  type = typeFromJSON(json, context),
@@ -234,7 +242,7 @@ export default define(class Variable extends Element {
234
242
 
235
243
  context = null;
236
244
 
237
- const variable = new Variable(context, string, node, lineIndex, type, identifier, provisional);
245
+ const variable = new Variable(context, string, node, breakPoint, type, identifier, provisional);
238
246
 
239
247
  return variable;
240
248
  }, context);