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
@@ -7,8 +7,8 @@ import { instantiateDeduction } from "../process/instantiate";
7
7
  import { declare, attempt, descend, serialise, unserialise, instantiate } from "../utilities/context";
8
8
 
9
9
  export default define(class Deduction extends Element {
10
- constructor(context, string, node, lineIndex, statement) {
11
- super(context, string, node, lineIndex);
10
+ constructor(context, string, node, breakPoint, statement) {
11
+ super(context, string, node, breakPoint);
12
12
 
13
13
  this.statement = statement;
14
14
  }
@@ -134,13 +134,21 @@ export default define(class Deduction extends Element {
134
134
  const context = this.getContext();
135
135
 
136
136
  return serialise((context) => {
137
- const string = this.getString(),
138
- lineIndex = this.getLineIndex(),
139
- json = {
140
- context,
141
- string,
142
- lineIndex
143
- };
137
+ const string = this.getString();
138
+
139
+ let breakPoint;
140
+
141
+ breakPoint = this.getBreakPoint();
142
+
143
+ const breakPointJSON = breakPoint.toJSON();
144
+
145
+ breakPoint = breakPointJSON; ///
146
+
147
+ const json = {
148
+ context,
149
+ string,
150
+ breakPoint
151
+ };
144
152
 
145
153
  return json;
146
154
  }, context);
@@ -153,12 +161,12 @@ export default define(class Deduction extends Element {
153
161
 
154
162
  unserialise((json, context) => {
155
163
  instantiate((context) => {
156
- const { string, lineIndex } = json,
164
+ const { string, breakPoint } = json,
157
165
  deductionNode = instantiateDeduction(string, context),
158
166
  node = deductionNode, ///
159
167
  statement = statementFromDeductionNode(deductionNode, context);
160
168
 
161
- deduction = new Deduction(context, string, node, lineIndex, statement);
169
+ deduction = new Deduction(context, string, node, breakPoint, statement);
162
170
  }, context);
163
171
  }, json, context);
164
172
 
@@ -9,8 +9,8 @@ const { last } = arrayUtilities,
9
9
  { asyncEvery } = asynchronousUtilities;
10
10
 
11
11
  export default define(class Derivation extends Element {
12
- constructor(context, string, node, lineIndex, subproofOrProofAssertions) {
13
- super(context, string, node, lineIndex);
12
+ constructor(context, string, node, breakPoint, subproofOrProofAssertions) {
13
+ super(context, string, node, breakPoint);
14
14
 
15
15
  this.subproofOrProofAssertions = subproofOrProofAssertions;
16
16
  }
@@ -10,8 +10,8 @@ import { equalityFromStatementNode } from "../utilities/element";
10
10
  import { equalityAssignmentFromEquality, leftVariableAssignmentFromEquality, rightVariableAssignmentFromEquality } from "../process/assign";
11
11
 
12
12
  export default define(class Equality extends Element {
13
- constructor(context, string, node, lineIndex, leftTerm, rightTerm) {
14
- super(context, string, node, lineIndex);
13
+ constructor(context, string, node, breakPoint, leftTerm, rightTerm) {
14
+ super(context, string, node, breakPoint);
15
15
 
16
16
  this.leftTerm = leftTerm;
17
17
  this.rightTerm = rightTerm;
@@ -264,12 +264,20 @@ export default define(class Equality extends Element {
264
264
  }
265
265
 
266
266
  toJSON() {
267
- const string = this.getString(),
268
- lineIndex = this.getLineIndex(),
269
- json = {
270
- string,
271
- lineIndex
272
- };
267
+ const string = this.getString();
268
+
269
+ let breakPoint;
270
+
271
+ breakPoint = this.getBreakPoint();
272
+
273
+ const breakPointJSON = breakPoint.toJSON();
274
+
275
+ breakPoint = breakPointJSON; ///
276
+
277
+ const json = {
278
+ string,
279
+ breakPoint
280
+ };
273
281
 
274
282
  return json;
275
283
  }
@@ -278,7 +286,7 @@ export default define(class Equality extends Element {
278
286
 
279
287
  static fromJSON(json, context) {
280
288
  return instantiate((context) => {
281
- const { string, lineIndex } = json,
289
+ const { string, breakPoint } = json,
282
290
  equalityNode = instantiateEquality(string, context),
283
291
  node = equalityNode, ///
284
292
  leftTerm = leftTermFromEqualityNode(equalityNode, context),
@@ -286,7 +294,7 @@ export default define(class Equality extends Element {
286
294
 
287
295
  context = null;
288
296
 
289
- const equality = new Equality(context, string, node, lineIndex, leftTerm, rightTerm);
297
+ const equality = new Equality(context, string, node, breakPoint, leftTerm, rightTerm);
290
298
 
291
299
  return equality;
292
300
  }, context);
@@ -13,8 +13,8 @@ import { equivalenceFromEquivalenceNode } from "../utilities/element";
13
13
  const { compress } = arrayUtilities;
14
14
 
15
15
  export default define(class Equivalence extends Element {
16
- constructor(context, string, node, lineIndex, type, terms) {
17
- super(context, string, node, lineIndex);
16
+ constructor(context, string, node, breakPoint, type, terms) {
17
+ super(context, string, node, breakPoint);
18
18
 
19
19
  this.type = type;
20
20
  this.terms = terms;
@@ -9,8 +9,8 @@ import { FRAME_META_TYPE_NAME } from "../metaTypeNames";
9
9
  import { metavariableFromFrameNode } from "../utilities/element";
10
10
 
11
11
  export default define(class Frame extends Element {
12
- constructor(context, string, node, lineIndex, assumptions, metavariable) {
13
- super(context, string, node, lineIndex);
12
+ constructor(context, string, node, breakPoint, assumptions, metavariable) {
13
+ super(context, string, node, breakPoint);
14
14
 
15
15
  this.assumptions = assumptions;
16
16
  this.metavariable = metavariable;
@@ -305,12 +305,20 @@ export default define(class Frame extends Element {
305
305
  }
306
306
 
307
307
  toJSON() {
308
- const string = this.getString(),
309
- lineIndex = this.getLineIndex(),
310
- json = {
311
- string,
312
- lineIndex
313
- };
308
+ const string = this.getString();
309
+
310
+ let breakPoint;
311
+
312
+ breakPoint = this.getBreakPoint();
313
+
314
+ const breakPointJSON = breakPoint.toJSON();
315
+
316
+ breakPoint = breakPointJSON; ///
317
+
318
+ const json = {
319
+ string,
320
+ breakPoint
321
+ };
314
322
 
315
323
  return json;
316
324
  }
@@ -319,7 +327,7 @@ export default define(class Frame extends Element {
319
327
 
320
328
  static fromJSON(json, context) {
321
329
  return instantiate((context) => {
322
- const { string, lineIndex } = json,
330
+ const { string, breakPoint } = json,
323
331
  frameNode = instantiateFrame(string, context),
324
332
  node = frameNode, ///
325
333
  assumptions = assumptionsFromFrameNode(frameNode, context),
@@ -327,7 +335,7 @@ export default define(class Frame extends Element {
327
335
 
328
336
  context = null;
329
337
 
330
- const frame = new Frame(context, string, node, lineIndex, assumptions, metavariable);
338
+ const frame = new Frame(context, string, node, breakPoint, assumptions, metavariable);
331
339
 
332
340
  return frame;
333
341
  }, context);
@@ -8,8 +8,8 @@ import { statementFromHypothesisNode } from "../utilities/element";
8
8
  import { declare, attempt, serialise, unserialise, instantiate } from "../utilities/context";
9
9
 
10
10
  export default define(class Hypothesis extends Element {
11
- constructor(context, string, node, lineIndex, statement) {
12
- super(context, string, node, lineIndex);
11
+ constructor(context, string, node, breakPoint, statement) {
12
+ super(context, string, node, breakPoint);
13
13
 
14
14
  this.statement = statement;
15
15
  }
@@ -105,13 +105,21 @@ export default define(class Hypothesis extends Element {
105
105
  const context = this.getContext();
106
106
 
107
107
  return serialise((context) => {
108
- const string = this.getString(),
109
- lineIndex = this.getLineIndex(),
110
- json = {
111
- context,
112
- string,
113
- lineIndex
114
- };
108
+ const string = this.getString();
109
+
110
+ let breakPoint;
111
+
112
+ breakPoint = this.getBreakPoint();
113
+
114
+ const breakPointJSON = breakPoint.toJSON();
115
+
116
+ breakPoint = breakPointJSON; ///
117
+
118
+ const json = {
119
+ context,
120
+ string,
121
+ breakPoint
122
+ };
115
123
 
116
124
  return json;
117
125
  }, context);
@@ -122,12 +130,12 @@ export default define(class Hypothesis extends Element {
122
130
 
123
131
  unserialise((json, context) => {
124
132
  instantiate((context) => {
125
- const { string, lineIndex } = json,
133
+ const { string, breakPoint } = json,
126
134
  hypothesisNode = instantiateHypothesis(string, context),
127
135
  node = hypothesisNode, ///
128
136
  statement = statementFromHypothesisNode(hypothesisNode, context);
129
137
 
130
- hypothesis = new Hypothesis(context, string, node, lineIndex, statement);
138
+ hypothesis = new Hypothesis(context, string, node, breakPoint, statement);
131
139
  }, context);
132
140
  }, json, context);
133
141
 
@@ -9,8 +9,8 @@ import { judgementFromStatementNode } from "../utilities/element";
9
9
  import { judgementAssignmentFromJudgement } from "../process/assign";
10
10
 
11
11
  export default define(class Judgement extends Element {
12
- constructor(context, string, node, lineIndex, frame, assumption) {
13
- super(context, string, node, lineIndex);
12
+ constructor(context, string, node, breakPoint, frame, assumption) {
13
+ super(context, string, node, breakPoint);
14
14
 
15
15
  this.frame = frame;
16
16
  this.assumption = assumption;
@@ -244,19 +244,27 @@ export default define(class Judgement extends Element {
244
244
  static name = "Judgement";
245
245
 
246
246
  toJSON() {
247
- const string = this.getString(),
248
- lineIndex = this.getLineIndex(),
249
- json = {
250
- string,
251
- lineIndex
252
- };
247
+ const string = this.getString();
248
+
249
+ let breakPoint;
250
+
251
+ breakPoint = this.getBreakPoint();
252
+
253
+ const breakPointJSON = breakPoint.toJSON();
254
+
255
+ breakPoint = breakPointJSON; ///
256
+
257
+ const json = {
258
+ string,
259
+ breakPoint
260
+ };
253
261
 
254
262
  return json;
255
263
  }
256
264
 
257
265
  static fromJSON(json, context) {
258
266
  return instantiate((context) => {
259
- const { string, lineIndex } = json,
267
+ const { string, breakPoint } = json,
260
268
  judgementNode = instantiateJudgement(string, context),
261
269
  node = judgementNode, ///
262
270
  frame = frameFromJudgementNode(judgementNode, context),
@@ -264,7 +272,7 @@ export default define(class Judgement extends Element {
264
272
 
265
273
  context = null;
266
274
 
267
- const judgement = new Judgement(context, string, node, lineIndex, frame, assumption);
275
+ const judgement = new Judgement(context, string, node, breakPoint, frame, assumption);
268
276
 
269
277
  return judgement;
270
278
  }, context);
@@ -8,8 +8,8 @@ import { labelFromLabelNode, metavariableFromLabelNode } from "../utilities/elem
8
8
  import { ablate, attempt, serialise, unserialise, instantiate } from "../utilities/context";
9
9
 
10
10
  export default define(class Label extends Element {
11
- constructor(context, string, node, lineIndex, metavariable) {
12
- super(context, string, node, lineIndex);
11
+ constructor(context, string, node, breakPoint, metavariable) {
12
+ super(context, string, node, breakPoint);
13
13
 
14
14
  this.metavariable = metavariable;
15
15
  }
@@ -128,13 +128,21 @@ export default define(class Label extends Element {
128
128
  const context = this.getContext();
129
129
 
130
130
  return serialise((context) => {
131
- const string = this.getString(),
132
- lineIndex = this.getLineIndex(),
133
- json = {
134
- context,
135
- string,
136
- lineIndex
137
- };
131
+ const string = this.getString();
132
+
133
+ let breakPoint;
134
+
135
+ breakPoint = this.getBreakPoint();
136
+
137
+ const breakPointJSON = breakPoint.toJSON();
138
+
139
+ breakPoint = breakPointJSON; ///
140
+
141
+ const json = {
142
+ context,
143
+ string,
144
+ breakPoint
145
+ };
138
146
 
139
147
  return json;
140
148
  }, context);
@@ -147,12 +155,12 @@ export default define(class Label extends Element {
147
155
 
148
156
  unserialise((json, context) => {
149
157
  instantiate((context) => {
150
- const { string, lineIndex } = json,
158
+ const { string, breakPoint } = json,
151
159
  labelNode = instantiateLabel(string, context),
152
160
  node = labelNode, ///
153
161
  metavariable = metavariableFromLabelNode(labelNode, context);
154
162
 
155
- label = new Label(context, string, node, lineIndex, metavariable);
163
+ label = new Label(context, string, node, breakPoint, metavariable);
156
164
  }, context);
157
165
  }, json, context);
158
166
 
@@ -5,8 +5,8 @@ import { Element } from "occam-languages";
5
5
  import { define } from "../elements";
6
6
 
7
7
  export default define(class MetaType extends Element {
8
- constructor(context, string, node, lineIndex, name) {
9
- super(context, string, node, lineIndex);
8
+ constructor(context, string, node, breakPoint, name) {
9
+ super(context, string, node, breakPoint);
10
10
 
11
11
  this.name = name;
12
12
  }
@@ -37,12 +37,20 @@ export default define(class MetaType extends Element {
37
37
  static name = "MetaType";
38
38
 
39
39
  toJSON() {
40
- const string = this.getString(),
41
- lineIndex = this.getLineIndex(),
42
- json = {
43
- string,
44
- lineIndex
45
- };
40
+ const string = this.getString();
41
+
42
+ let breakPoint;
43
+
44
+ breakPoint = this.getBreakPoint();
45
+
46
+ const breakPointJSON = breakPoint.toJSON();
47
+
48
+ breakPoint = breakPointJSON; ///
49
+
50
+ const json = {
51
+ string,
52
+ breakPoint
53
+ };
46
54
 
47
55
  return json;
48
56
  }
@@ -58,8 +66,8 @@ export default define(class MetaType extends Element {
58
66
  static fromName(name, context) {
59
67
  const string = name, ///
60
68
  node = null,
61
- lineIndex = null,
62
- metaType = new MetaType(context, string, node, lineIndex, name);
69
+ breakPoint = null,
70
+ metaType = new MetaType(context, string, node, breakPoint, name);
63
71
 
64
72
  return metaType;
65
73
  }
@@ -13,8 +13,8 @@ import { unifyMetavariable, unifyMetavariableIntrinsically } from "../process/un
13
13
  import { nameFromMetavariableNode, termFromMetavariableNode, typeFromMetavariableNode, metavariableFromStatementNode } from "../utilities/element";
14
14
 
15
15
  export default define(class Metavariable extends Element {
16
- constructor(context, string, node, lineIndex, name, term, type, metaType) {
17
- super(context, string, node, lineIndex);
16
+ constructor(context, string, node, breakPoint, name, term, type, metaType) {
17
+ super(context, string, node, breakPoint);
18
18
 
19
19
  this.name = name;
20
20
  this.term = term;
@@ -615,13 +615,21 @@ export default define(class Metavariable extends Element {
615
615
  toJSON() {
616
616
  const metaTypeJSON = metaTypeToMetaTypeJSON(this.metaType),
617
617
  metaType = metaTypeJSON, ///
618
- string = this.getString(),
619
- lineIndex = this.getLineIndex(),
620
- json = {
621
- string,
622
- lineIndex,
623
- metaType
624
- };
618
+ string = this.getString();
619
+
620
+ let breakPoint;
621
+
622
+ breakPoint = this.getBreakPoint();
623
+
624
+ const breakPointJSON = breakPoint.toJSON();
625
+
626
+ breakPoint = breakPointJSON; ///
627
+
628
+ const json = {
629
+ string,
630
+ breakPoint,
631
+ metaType
632
+ };
625
633
 
626
634
  return json;
627
635
  }
@@ -630,14 +638,14 @@ export default define(class Metavariable extends Element {
630
638
 
631
639
  static fromJSON(json, context) {
632
640
  return instantiate((context) => {
633
- const { string, lineIndex } = json,
641
+ const { string, breakPoint } = json,
634
642
  metavariableNode = instantiateMetavariable(string, context),
635
643
  node = metavariableNode, ///
636
644
  name = nameFromMetavariableNode(metavariableNode, context),
637
645
  term = termFromMetavariableNode(metavariableNode, context),
638
646
  type = typeFromMetavariableNode(metavariableNode, context),
639
647
  metaType = metaTypeFromJSON(json, context),
640
- metavariable = new Metavariable(context, string, node, lineIndex, name, term, type, metaType);
648
+ metavariable = new Metavariable(context, string, node, breakPoint, name, term, type, metaType);
641
649
 
642
650
  return metavariable;
643
651
  }, context);
@@ -8,8 +8,8 @@ import { instantiateParameter } from "../process/instantiate";
8
8
  import { nameFromParaneterNode, identifierFromParameterNode } from "../utilities/element";
9
9
 
10
10
  export default define(class Parameter extends Element {
11
- constructor(context, string, node, lineIndex, name, identifier) {
12
- super(context, string, node, lineIndex);
11
+ constructor(context, string, node, breakPoint, name, identifier) {
12
+ super(context, string, node, breakPoint);
13
13
 
14
14
  this.name = name;
15
15
  this.identifier = identifier;
@@ -52,19 +52,27 @@ export default define(class Parameter extends Element {
52
52
  static name = "Parameter";
53
53
 
54
54
  toJSON() {
55
- const string = this.getString(),
56
- lineIndex = this.getLineIndex(),
57
- json = {
58
- string,
59
- lineIndex
60
- };
55
+ const string = this.getString();
56
+
57
+ let breakPoint;
58
+
59
+ breakPoint = this.getBreakPoint();
60
+
61
+ const breakPointJSON = breakPoint.toJSON();
62
+
63
+ breakPoint = breakPointJSON; ///
64
+
65
+ const json = {
66
+ string,
67
+ breakPoint
68
+ };
61
69
 
62
70
  return json;
63
71
  }
64
72
 
65
73
  static fromJSON(json, context) {
66
74
  return instantiate((context) => {
67
- const { string, lineIndex } = json,
75
+ const { string, breakPoint } = json,
68
76
  parameterNode = instantiateParameter(string, context),
69
77
  node = parameterNode, ///
70
78
  name = nameFromParaneterNode(parameterNode, context),
@@ -72,7 +80,7 @@ export default define(class Parameter extends Element {
72
80
 
73
81
  context = null;
74
82
 
75
- const parameter = new Parameter(context, string, node, lineIndex, name, identifier);
83
+ const parameter = new Parameter(context, string, node, breakPoint, name, identifier);
76
84
 
77
85
  return parameter;
78
86
  }, context);
@@ -11,8 +11,8 @@ import { parametersFromProcedureCallNode, procedureReferenceFromProcedureCallNod
11
11
  const { termsFromPrimitives } = termsUtilities;
12
12
 
13
13
  export default define(class ProcedureCall extends Element {
14
- constructor(context, string, node, lineIndex, parameters, procedureReference) {
15
- super(context, string, node, lineIndex);
14
+ constructor(context, string, node, breakPoint, parameters, procedureReference) {
15
+ super(context, string, node, breakPoint);
16
16
 
17
17
  this.parameters = parameters;
18
18
  this.procedureReference = procedureReference;
@@ -121,19 +121,27 @@ export default define(class ProcedureCall extends Element {
121
121
  static name = "ProcedureCall";
122
122
 
123
123
  toJSON() {
124
- const string = this.getString(),
125
- lineIndex = this.getLineIndex(),
126
- json = {
127
- string,
128
- lineIndex
129
- };
124
+ const string = this.getString();
125
+
126
+ let breakPoint;
127
+
128
+ breakPoint = this.getBreakPoint();
129
+
130
+ const breakPointJSON = breakPoint.toJSON();
131
+
132
+ breakPoint = breakPointJSON; ///
133
+
134
+ const json = {
135
+ string,
136
+ breakPoint
137
+ };
130
138
 
131
139
  return json;
132
140
  }
133
141
 
134
142
  static fromJSON(json, context) {
135
143
  return instantiate((context) => {
136
- const { string, lineIndex } = json,
144
+ const { string, breakPoint } = json,
137
145
  procedureCallNode = instantiateProcedureCall(string, context),
138
146
  node = procedureCallNode, ///
139
147
  parameters = parametersFromProcedureCallNode(json, context),
@@ -141,7 +149,7 @@ export default define(class ProcedureCall extends Element {
141
149
 
142
150
  context = null;
143
151
 
144
- const procedureCall = new ProcedureCall(context, string, node, lineIndex, parameters, procedureReference);
152
+ const procedureCall = new ProcedureCall(context, string, node, breakPoint, parameters, procedureReference);
145
153
 
146
154
  return procedureCall;
147
155
  }, context);
@@ -8,8 +8,8 @@ import { instantiateProcedureReference } from "../process/instantiate";
8
8
  import { nameFromProcedureReferenceNode } from "../utilities/element";
9
9
 
10
10
  export default define(class ProcedureReference 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
  }
@@ -34,26 +34,34 @@ export default define(class ProcedureReference extends Element {
34
34
  static name = "ProcedureReference";
35
35
 
36
36
  toJSON() {
37
- const string = this.getString(),
38
- lineIndex = this.getLineIndex(),
39
- json = {
40
- string,
41
- lineIndex
42
- };
37
+ const string = this.getString();
38
+
39
+ let breakPoint;
40
+
41
+ breakPoint = this.getBreakPoint();
42
+
43
+ const breakPointJSON = breakPoint.toJSON();
44
+
45
+ breakPoint = breakPointJSON; ///
46
+
47
+ const json = {
48
+ string,
49
+ breakPoint
50
+ };
43
51
 
44
52
  return json;
45
53
  }
46
54
 
47
55
  static fromJSON(json, context) {
48
56
  return instantiate((context) => {
49
- const { string, lineIndex } = json,
57
+ const { string, breakPoint } = json,
50
58
  procedureReferenceNode = instantiateProcedureReference(string, context),
51
59
  node = procedureReferenceNode, ///
52
60
  name = nameFromProcedureReferenceNode(procedureReferenceNode, context);
53
61
 
54
62
  context = null;
55
63
 
56
- const procedureReference = new ProcedureReference(context, string, node, lineIndex, name);
64
+ const procedureReference = new ProcedureReference(context, string, node, breakPoint, name);
57
65
 
58
66
  return procedureReference;
59
67
  }, context);
@@ -6,8 +6,8 @@ import { define } from "../elements";
6
6
  import { enclose } from "../utilities/context";
7
7
 
8
8
  export default define(class Proof extends Element {
9
- constructor(context, string, node, lineIndex, derivation) {
10
- super(context, string, node, lineIndex);
9
+ constructor(context, string, node, breakPoint, derivation) {
10
+ super(context, string, node, breakPoint);
11
11
 
12
12
  this.derivation = derivation;
13
13
  }