occam-verify-cli 1.0.612 → 1.0.617

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 (111) hide show
  1. package/lib/context/ephemeral.js +59 -31
  2. package/lib/context/file/nominal.js +45 -19
  3. package/lib/context/liminal.js +19 -34
  4. package/lib/context/scoped.js +34 -26
  5. package/lib/context.js +7 -7
  6. package/lib/element/assertion.js +5 -9
  7. package/lib/element/assumption.js +11 -4
  8. package/lib/element/combinator.js +8 -1
  9. package/lib/element/conclusion.js +8 -1
  10. package/lib/element/constructor.js +8 -1
  11. package/lib/element/declaration.js +3 -7
  12. package/lib/element/deduction.js +8 -1
  13. package/lib/element/derivation.js +8 -1
  14. package/lib/element/equality.js +8 -1
  15. package/lib/element/equivalence.js +8 -1
  16. package/lib/element/equivalences.js +8 -1
  17. package/lib/element/error.js +10 -7
  18. package/lib/element/hypothesis.js +8 -1
  19. package/lib/element/judgement.js +9 -2
  20. package/lib/element/label.js +8 -1
  21. package/lib/element/metaType.js +8 -1
  22. package/lib/element/metavariable.js +5 -8
  23. package/lib/element/parameter.js +8 -1
  24. package/lib/element/procedureCall.js +21 -29
  25. package/lib/element/procedureReference.js +15 -1
  26. package/lib/element/proof.js +8 -1
  27. package/lib/element/proofAssertion.js +8 -1
  28. package/lib/element/property.js +8 -1
  29. package/lib/element/propertyRelation.js +8 -1
  30. package/lib/element/reference.js +8 -8
  31. package/lib/element/rule.js +10 -7
  32. package/lib/element/section.js +8 -1
  33. package/lib/element/signature.js +8 -1
  34. package/lib/element/statement.js +12 -16
  35. package/lib/element/subDerivation.js +8 -1
  36. package/lib/element/subproof.js +8 -1
  37. package/lib/element/substitution/frame.js +3 -3
  38. package/lib/element/substitution/reference.js +3 -3
  39. package/lib/element/substitution/statement.js +3 -3
  40. package/lib/element/substitution/term.js +3 -3
  41. package/lib/element/substitution.js +3 -7
  42. package/lib/element/topLevelAssertion/axiom.js +8 -1
  43. package/lib/element/topLevelAssertion/conjecture.js +8 -1
  44. package/lib/element/topLevelAssertion/lemma.js +8 -1
  45. package/lib/element/topLevelAssertion/theorem.js +8 -1
  46. package/lib/element/topLevelAssertion.js +3 -7
  47. package/lib/element/topLevelMetaAssertion/metaLemma.js +8 -1
  48. package/lib/element/topLevelMetaAssertion/metatheorem.js +8 -1
  49. package/lib/element/type.js +8 -1
  50. package/lib/element/typePrefix.js +8 -1
  51. package/lib/element/variable.js +8 -3
  52. package/lib/preamble.js +1 -2
  53. package/lib/process/assign.js +2 -3
  54. package/lib/utilities/substitutions.js +2 -2
  55. package/package.json +2 -2
  56. package/src/context/ephemeral.js +64 -32
  57. package/src/context/file/nominal.js +82 -17
  58. package/src/context/liminal.js +21 -46
  59. package/src/context/scoped.js +47 -31
  60. package/src/context.js +4 -4
  61. package/src/element/assertion.js +4 -8
  62. package/src/element/assumption.js +9 -2
  63. package/src/element/combinator.js +7 -0
  64. package/src/element/conclusion.js +7 -0
  65. package/src/element/constructor.js +7 -0
  66. package/src/element/declaration.js +1 -3
  67. package/src/element/deduction.js +7 -0
  68. package/src/element/derivation.js +7 -0
  69. package/src/element/equality.js +7 -0
  70. package/src/element/equivalence.js +8 -0
  71. package/src/element/equivalences.js +7 -0
  72. package/src/element/error.js +5 -2
  73. package/src/element/hypothesis.js +7 -0
  74. package/src/element/judgement.js +8 -2
  75. package/src/element/label.js +7 -0
  76. package/src/element/metaType.js +7 -0
  77. package/src/element/metavariable.js +4 -11
  78. package/src/element/parameter.js +7 -0
  79. package/src/element/procedureCall.js +21 -14
  80. package/src/element/procedureReference.js +13 -0
  81. package/src/element/proof.js +7 -0
  82. package/src/element/proofAssertion.js +7 -0
  83. package/src/element/property.js +7 -0
  84. package/src/element/propertyRelation.js +7 -0
  85. package/src/element/reference.js +8 -7
  86. package/src/element/rule.js +8 -9
  87. package/src/element/section.js +7 -0
  88. package/src/element/signature.js +7 -0
  89. package/src/element/statement.js +9 -14
  90. package/src/element/subDerivation.js +7 -0
  91. package/src/element/subproof.js +7 -0
  92. package/src/element/substitution/frame.js +2 -2
  93. package/src/element/substitution/reference.js +2 -2
  94. package/src/element/substitution/statement.js +2 -2
  95. package/src/element/substitution/term.js +2 -2
  96. package/src/element/substitution.js +0 -4
  97. package/src/element/topLevelAssertion/axiom.js +7 -0
  98. package/src/element/topLevelAssertion/conjecture.js +7 -0
  99. package/src/element/topLevelAssertion/lemma.js +7 -0
  100. package/src/element/topLevelAssertion/theorem.js +7 -0
  101. package/src/element/topLevelAssertion.js +1 -9
  102. package/src/element/topLevelMetaAssertion/metaLemma.js +7 -0
  103. package/src/element/topLevelMetaAssertion/metatheorem.js +7 -0
  104. package/src/element/type.js +7 -0
  105. package/src/element/typePrefix.js +7 -0
  106. package/src/element/variable.js +7 -4
  107. package/src/preamble.js +0 -1
  108. package/src/process/assign.js +1 -3
  109. package/src/utilities/substitutions.js +1 -1
  110. package/lib/element/substitutions.js +0 -225
  111. package/src/element/substitutions.js +0 -84
@@ -109,77 +109,93 @@ class ScopedContext extends Context {
109
109
  }
110
110
 
111
111
  addEquality(equality) {
112
- let equalityAdded;
112
+ let equalityAdded = false;
113
113
 
114
- const equalityReflexive = equality.isReflexive();
114
+ const context = this, ///
115
+ equalityString = equality.getString();
116
+
117
+ context.trace(`Adding the '${equalityString}' equality to the scoped context...`);
118
+
119
+ const equalityRelfexive = equality.isReflexive();
115
120
 
116
- if (!equalityReflexive) {
121
+ if (equalityRelfexive) {
122
+ context.trace(`The '${equalityString}' equality is reflexive and will not added to the scoped context.`);
123
+ } else {
117
124
  const { Equivalence } = elements,
118
125
  equivalence = Equivalence.fromEquality(equality),
119
126
  context = this; ///
120
127
 
121
128
  this.equivalences = this.equivalences.mergedWithEquivalence(equivalence, context);
122
- }
123
-
124
- equalityAdded = true;
125
129
 
126
- if (equalityAdded) {
127
- const context = this, ///
128
- equalityString = equality.getString();
130
+ equalityAdded = true;
129
131
 
130
- context.trace(`Added the '${equalityString}' equality.`)
132
+ context.debug(`...added the '${equalityString}' equality to the scoped context.`);
131
133
  }
132
134
 
133
135
  return equalityAdded;
134
136
  }
135
137
 
136
- addVariable(variable, nested = true) {
137
- let variableAdded = false;
138
+ addVariable(variable) {
139
+ const context = this, ///
140
+ variableA = variable, ///
141
+ variableString = variable.getString();
138
142
 
139
- const variableIdentifier = variable.getIdentifier(),
140
- variablePresent = this.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
143
+ context.trace(`Adding the '${variableString}' variable to the scoped context...`);
141
144
 
142
- if (!variablePresent) {
143
- this.variables.push(variable);
145
+ const variableB = this.variables.find((variable) => {
146
+ const variableB = variable, ///
147
+ variableAComparesToVariableB = variableA.compare(variableB);
144
148
 
145
- variableAdded = true;
146
- }
149
+ if (variableAComparesToVariableB) {
150
+ return true;
151
+ }
152
+ }) || null;
147
153
 
148
- if (variableAdded) {
149
- const context = this,
150
- variableString = variable.getString();
154
+ if (variableB !== null) {
155
+ context.trace(`The '${variableString}' variable has already been added to the scoped context.`);
156
+ } else {
157
+ this.variables.push(variable);
151
158
 
152
- context.trace(`Added the '${variableString}' variable.`)
159
+ context.debug(`...added the '${variableString}' variable to the scoped context.`);
153
160
  }
154
-
155
- return variableAdded;
156
161
  }
157
162
 
158
163
  addJudgement(judgement) {
159
164
  let judgementAdded = false;
160
165
 
166
+ const context = this, ///
167
+ judgementString = judgement.getString();
168
+
169
+ context.trace(`Adding the '${judgementString}' judgement to the scoped context...`);
170
+
161
171
  const metavariable = judgement.getMetavariable(),
162
172
  metavariableName = metavariable.getMetavariableName(),
163
173
  judgementPresent = this.isJudgementPresentByMetavariableName(metavariableName);
164
174
 
165
- if (!judgementPresent) {
175
+ if (judgementPresent) {
176
+ const metavariableString = metavariable.getString();
177
+
178
+ context.trace(`A '${judgementString}' judgement for the '${metavariableString}' metavariable is already present.`);
179
+ } else {
166
180
  this.judgements.push(judgement);
167
181
 
168
182
  judgementAdded = true;
169
- }
170
183
 
171
- if (judgementAdded) {
172
- const context = this, ///
173
- judgementString = judgement.getString();
174
-
175
- context.trace(`Added the '${judgementString}' judgement.`)
184
+ context.debug(`...added the '${judgementString}' judgement to the scoped context.`);
176
185
  }
177
186
 
178
187
  return judgementAdded;
179
188
  }
180
189
 
181
190
  addSubproofOrProofAssertion(subproofOrProofAssertion) {
191
+ const context = this, ///
192
+ subproofOrProofAssertionString = subproofOrProofAssertion.getString();
193
+
194
+ context.trace(`Adding the '${subproofOrProofAssertionString}' subproof or proof assertion to the scoped context...`);
195
+
182
196
  this.subproofOrProofAssertions.push(subproofOrProofAssertion);
197
+
198
+ context.debug(`...added the '${subproofOrProofAssertionString}' subproof or proof assertion to the scoped context.`);
183
199
  }
184
200
 
185
201
  findEquivalenceByTerm(term) { return this.equivalences.findEquivalenceByTerm(term); }
package/src/context.js CHANGED
@@ -102,9 +102,9 @@ export default class Context extends ContextBase {
102
102
  return metavariable;
103
103
  }
104
104
 
105
- findProcedureByName(name) {
105
+ findProcedureByProcedureName(procedureName) {
106
106
  const context = this.getContext(),
107
- procedure = context.findProcedureByName(name);
107
+ procedure = context.findProcedureByProcedureName(procedureName);
108
108
 
109
109
  return procedure;
110
110
  }
@@ -201,9 +201,9 @@ export default class Context extends ContextBase {
201
201
  return termPresent;
202
202
  }
203
203
 
204
- isProcedurePresentByName(name) {
204
+ isProcedurePresentByProcedureName(procedureName) {
205
205
  const context = this.getContext(),
206
- procedurePresent = context.isProcedurePresentByName(name);
206
+ procedurePresent = context.isProcedurePresentByProcedureName(procedureName);
207
207
 
208
208
  return procedurePresent;
209
209
  }
@@ -3,10 +3,6 @@
3
3
  import { Element } from "occam-languages";
4
4
 
5
5
  export default class Assertion extends Element {
6
- constructor(context, string, node) {
7
- super(context, string, node);
8
- }
9
-
10
6
  getAssertionNode() {
11
7
  const node = this.getNode(),
12
8
  assertionNode = node; ///
@@ -21,9 +17,9 @@ export default class Assertion extends Element {
21
17
 
22
18
  const assertionNodeB = assertionNode, ///
23
19
  assertionNodeAAMatchesAssertionBNodeB = assertionNodeA.match(assertionNodeB),
24
- equalTo = assertionNodeAAMatchesAssertionBNodeB; ///
20
+ assertionNodeMatches = assertionNodeAAMatchesAssertionBNodeB; ///
25
21
 
26
- return equalTo;
22
+ return assertionNodeMatches;
27
23
  }
28
24
 
29
25
  isValid(context) {
@@ -36,8 +32,8 @@ export default class Assertion extends Element {
36
32
 
37
33
  isEqualTo(assertion) {
38
34
  const assertionNode = assertion.getNode(),
39
- assertionNodeMatches = this.matchAssertionNode(assertionNode),
40
- equalTo = assertionNodeMatches; ///
35
+ assertionNodeMatches = this.matchAssertionNode(assertionNode),
36
+ equalTo = assertionNodeMatches; ///
41
37
 
42
38
  return equalTo;
43
39
  }
@@ -14,12 +14,19 @@ export default define(class Assumption extends Element {
14
14
  this.reference = reference;
15
15
  }
16
16
 
17
+ getReference() {
18
+ return this.reference;
19
+ }
20
+
17
21
  getStatement() {
18
22
  return this.statement;
19
23
  }
20
24
 
21
- getReference() {
22
- return this.reference;
25
+ getAssumptionNode() {
26
+ const node = this.getNode(),
27
+ assumptionNode = node; ///
28
+
29
+ return assumptionNode;
23
30
  }
24
31
 
25
32
  getMetavariable() { return this.reference.getMetavariable(); }
@@ -18,6 +18,13 @@ export default define(class Combinator extends Element {
18
18
  return this.statement;
19
19
  }
20
20
 
21
+ getConbinatorNode() {
22
+ const node = this.getNode(),
23
+ combinatorNode = node; ///
24
+
25
+ return combinatorNode;
26
+ }
27
+
21
28
  verify() {
22
29
  let verifies;
23
30
 
@@ -17,6 +17,13 @@ export default define(class Conclusion extends Element {
17
17
  return this.statement;
18
18
  }
19
19
 
20
+ getConclusionNode() {
21
+ const node = this.getNode(),
22
+ conclusionNode = node; ///
23
+
24
+ return conclusionNode;
25
+ }
26
+
20
27
  verify(context) {
21
28
  let verifies = false;
22
29
 
@@ -17,6 +17,13 @@ export default define(class Constructor extends Element {
17
17
  return this.term;
18
18
  }
19
19
 
20
+ getConclusionNode() {
21
+ const node = this.getNode(),
22
+ constructorNode = node; ///
23
+
24
+ return constructorNode;
25
+ }
26
+
20
27
  isProvisional() { return this.term.isProvisional(); }
21
28
 
22
29
  getType() { return this.term.getType(); }
@@ -3,7 +3,5 @@
3
3
  import { Element } from "occam-languages";
4
4
 
5
5
  export default class Declaration extends Element {
6
- constructor(context, string, node) {
7
- super(context, string, node);
8
- }
6
+ ///
9
7
  }
@@ -17,6 +17,13 @@ export default define(class Deduction extends Element {
17
17
  return this.statement;
18
18
  }
19
19
 
20
+ getDeductionNode() {
21
+ const node = this.getNode(),
22
+ deductionNode = node; ///
23
+
24
+ return deductionNode;
25
+ }
26
+
20
27
  verify(context) {
21
28
  let verifies = false;
22
29
 
@@ -21,6 +21,13 @@ export default define(class Derivation extends Element {
21
21
  return this.subproofOrProofAssertions;
22
22
  }
23
23
 
24
+ getDerivationNode() {
25
+ const node = this.getNode(),
26
+ derivationNode = node; ///
27
+
28
+ return derivationNode;
29
+ }
30
+
24
31
  getLastProofAssertion() {
25
32
  const lastSubproofOrProofAssertion = last(this.subproofOrProofAssertions),
26
33
  lastProofAssertion = lastSubproofOrProofAssertion; ///
@@ -22,6 +22,13 @@ export default define(class Equality extends Element {
22
22
  return this.rightTerm;
23
23
  }
24
24
 
25
+ getEqualityNode() {
26
+ const node = this.getNode(),
27
+ equalityNde = node; ///
28
+
29
+ return equalityNde;
30
+ }
31
+
25
32
  getType() {
26
33
  let type;
27
34
 
@@ -15,6 +15,7 @@ const { compress } = arrayUtilities;
15
15
  export default define(class Equivalence extends Element {
16
16
  constructor(context, string, node, terms) {
17
17
  super(context, string, node);
18
+
18
19
  this.terms = terms;
19
20
  }
20
21
 
@@ -22,6 +23,13 @@ export default define(class Equivalence extends Element {
22
23
  return this.terms;
23
24
  }
24
25
 
26
+ getEquivalenceNode() {
27
+ const node = this.getNode(),
28
+ equivalenceNode = node; ///
29
+
30
+ return equivalenceNode;
31
+ }
32
+
25
33
  getType() {
26
34
  const type = this.terms.reduce((type, term) => {
27
35
  const termType = term.getType();
@@ -20,6 +20,13 @@ export default define(class Equivalences extends Element {
20
20
  return this.array;
21
21
  }
22
22
 
23
+ getEquivalencesNode() {
24
+ const node = this.getNode(),
25
+ equivalencesNode = node; ///
26
+
27
+ return equivalencesNode;
28
+ }
29
+
23
30
  getLength() { return this.array.length; }
24
31
 
25
32
  getTypes() {
@@ -5,8 +5,11 @@ import { Element } from "occam-languages";
5
5
  import { define } from "../elements";
6
6
 
7
7
  export default define(class Error extends Element {
8
- constructor(context, string, node) {
9
- super(context, string, node);
8
+ getErrorNode() {
9
+ const node = this.getNode(),
10
+ errorNode = node; ///
11
+
12
+ return errorNode;
10
13
  }
11
14
 
12
15
  async verify() {
@@ -18,6 +18,13 @@ export default define(class Hypothesis extends Element {
18
18
  return this.statement;
19
19
  }
20
20
 
21
+ getHypothesisNode() {
22
+ const node = this.getNode(),
23
+ hypothesisNode = node; ///
24
+
25
+ return hypothesisNode;
26
+ }
27
+
21
28
  verify(context) {
22
29
  let verifies = false;
23
30
 
@@ -21,9 +21,15 @@ export default define(class Judgement extends Element {
21
21
  return this.assumption;
22
22
  }
23
23
 
24
- isSingular() {
24
+ getJudgementNode() {
25
25
  const node = this.getNode(),
26
- judgementNode = node, ///
26
+ judgementNode = node; ///
27
+
28
+ return judgementNode;
29
+ }
30
+
31
+ isSingular() {
32
+ const judgementNode = this.getJudgementNode(),
27
33
  singular = judgementNode.isSingular();
28
34
 
29
35
  return singular;
@@ -16,6 +16,13 @@ export default define(class Label extends Element {
16
16
  return this.metavariable;
17
17
  }
18
18
 
19
+ getLabelNode() {
20
+ const node = this.getNode(),
21
+ labelNode = node; ///
22
+
23
+ return labelNode;
24
+ }
25
+
19
26
  getMetavariableName() { return this.metavariable.getName(); }
20
27
 
21
28
  getMetavariableNode() { return this.metavariable.getNode(); }
@@ -15,6 +15,13 @@ export default define(class MetaType extends Element {
15
15
  return this.name;
16
16
  }
17
17
 
18
+ getMetaTypeNode() {
19
+ const node = this.getNode(),
20
+ metaTypeNode = node; ///
21
+
22
+ return metaTypeNode;
23
+ }
24
+
18
25
  isEqualTo(metaType) {
19
26
  const equalTo = (this === metaType);
20
27
 
@@ -148,10 +148,6 @@ export default define(class Metavariable extends Element {
148
148
  framesubstitutionValidates = frameSubstitution.validate(generalContext, specificContext);
149
149
 
150
150
  if (framesubstitutionValidates) {
151
- const substitution = frameSubstitution; ///
152
-
153
- context.addSubstitution(substitution);
154
-
155
151
  frameUnifies = true;
156
152
  }
157
153
  }
@@ -212,10 +208,6 @@ export default define(class Metavariable extends Element {
212
208
  const statementSubstitutionValidates = statementSubstitution.validate(generalContext, specificContext);
213
209
 
214
210
  if (statementSubstitutionValidates) {
215
- const substitution = statementSubstitution; ///
216
-
217
- context.addSubstitution(substitution);
218
-
219
211
  statementUnifies = true;
220
212
  }
221
213
  }
@@ -257,11 +249,12 @@ export default define(class Metavariable extends Element {
257
249
  const { ReferenceSubstitution } = elements,
258
250
  metavariable = this, ///
259
251
  referenceSubstitution = ReferenceSubstitution.fromReferenceAndMetavariable(reference, metavariable, context),
260
- substitution = referenceSubstitution; ///
252
+ referenceSubstitutionValidates = referenceSubstitution.validate(generalContext, specificContext);
261
253
 
262
- context.addSubstitution(substitution);
254
+ if (referenceSubstitutionValidates) {
255
+ referenceUnifies = true;
263
256
 
264
- referenceUnifies = true;
257
+ }
265
258
  }
266
259
  }
267
260
 
@@ -20,6 +20,13 @@ export default define(class Parameter extends Element {
20
20
  return this.identifier;
21
21
  }
22
22
 
23
+ getParameterNode() {
24
+ const node = this.getNode(),
25
+ parameterNode = node; ///
26
+
27
+ return parameterNode;
28
+ }
29
+
23
30
  findPrimitive(substitutions) {
24
31
  let primitive = null;
25
32
 
@@ -24,7 +24,14 @@ export default define(class ProcedureCall extends Element {
24
24
  return this.procedureReference;
25
25
  }
26
26
 
27
- getName() { return this.procedureReference.getName(); }
27
+ getProcedureCallNode() {
28
+ const node = this.getNode(),
29
+ procedureCallNode = node;
30
+
31
+ return procedureCallNode;
32
+ }
33
+
34
+ getProcedureName() { return this.procedureReference.getProcedureName(); }
28
35
 
29
36
  findPrimitives(context) {
30
37
  const substitutions = context.getSubstitutions(),
@@ -44,8 +51,8 @@ export default define(class ProcedureCall extends Element {
44
51
 
45
52
  context.trace(`Validating the '${procedureCallString}' procedure call...`);
46
53
 
47
- const name = this.getName(),
48
- procedure = context.findProcedureByName(name);
54
+ const procedureName = this.getProcedureName(),
55
+ procedure = context.findProcedureByProcedureName(procedureName);
49
56
 
50
57
  if (procedure !== null) {
51
58
  const procedureBoolean = procedure.isBoolean();
@@ -73,13 +80,13 @@ export default define(class ProcedureCall extends Element {
73
80
 
74
81
  context.trace(`Unifying the '${procedureCallString}' procedure call independently...`);
75
82
 
76
- const name = this.getName(),
77
- primitives = this.findPrimitives(context),
78
- terms = termsFromPrimitives(primitives),
79
- procedure = context.findProcedureByName(name);
83
+ const procedureName = this.getProcedureName(),
84
+ procedure = context.findProcedureByProcedureName(procedureName);
80
85
 
81
- try {
82
- const term = await procedure.call(terms, context),
86
+ // try {
87
+ const primitives = this.findPrimitives(context),
88
+ terms = termsFromPrimitives(primitives),
89
+ term = await procedure.call(terms, context),
83
90
  boolean = term.isBoolean();
84
91
 
85
92
  if (!boolean) {
@@ -91,11 +98,11 @@ export default define(class ProcedureCall extends Element {
91
98
  unifiesIndependently = true;
92
99
  }
93
100
  }
94
- } catch (exception) {
95
- const message = exception.getMessage();
96
-
97
- context.info(message);
98
- }
101
+ // } catch (exception) {
102
+ // const message = exception.getMessage();
103
+ //
104
+ // context.info(message);
105
+ // }
99
106
 
100
107
  if (unifiesIndependently) {
101
108
  context.debug(`...unified the '${procedureCallString}' procedure call independently.`);
@@ -14,6 +14,19 @@ export default define(class ProcedureReference extends Element {
14
14
  return this.name;
15
15
  }
16
16
 
17
+ getProcedureReferenceNode() {
18
+ const node = this.getNode(),
19
+ procedureReferenceNode = node; ///
20
+
21
+ return procedureReferenceNode;
22
+ }
23
+
24
+ getProcedureName() {
25
+ const procedureName = this.name; ///
26
+
27
+ return procedureName;
28
+ }
29
+
17
30
  toJSON() {
18
31
  const name = this.name,
19
32
  json = {
@@ -16,6 +16,13 @@ export default define(class Proof extends Element {
16
16
  return this.derivation;
17
17
  }
18
18
 
19
+ getProofNode() {
20
+ const node = this.getNode(),
21
+ proofNode = node; ///
22
+
23
+ return proofNode;
24
+ }
25
+
19
26
  getLastProofAssertion() { return this.derivation.getLastProofAssertion(); }
20
27
 
21
28
  getStatement() {
@@ -15,6 +15,13 @@ export default class ProofAssertion extends Element {
15
15
  return this.statement;
16
16
  }
17
17
 
18
+ getProofAssertionNode() {
19
+ const node = this.getNode(),
20
+ proofAssertionNode = node; ///
21
+
22
+ return proofAssertionNode;
23
+ }
24
+
18
25
  isProofAssertion() {
19
26
  const proofAssertion = true;
20
27
 
@@ -20,6 +20,13 @@ export default define(class Property extends Element {
20
20
  return this.nominalTypeName;
21
21
  }
22
22
 
23
+ getPropertyNode() {
24
+ const node = this.getNode(),
25
+ properetyNode = node; ///
26
+
27
+ return properetyNode;
28
+ }
29
+
23
30
  comparePropertyName(propertyName) {
24
31
  const comparesToPropertyName = (this.name === propertyName);
25
32
 
@@ -20,6 +20,13 @@ export default define(class PropertyRelation extends Element {
20
20
  return this.term;
21
21
  }
22
22
 
23
+ getPropertyRelationNode() {
24
+ const node = this.getNode(),
25
+ propertyRelationNode = node; ///
26
+
27
+ return propertyRelationNode;
28
+ }
29
+
23
30
  verify(context) {
24
31
  let verifies = false;
25
32
 
@@ -20,6 +20,14 @@ export default define(class Reference extends Element {
20
20
  return this.metavariable;
21
21
  }
22
22
 
23
+ getReferenceNode() {
24
+ const node = this.getNode(),
25
+ referenceNode = node; ///
26
+
27
+ return referenceNode;
28
+ }
29
+
30
+
23
31
  getName() { return this.metavariable.getName(); }
24
32
 
25
33
  getMetavariableName() {
@@ -34,13 +42,6 @@ export default define(class Reference extends Element {
34
42
  return metavariableNode;
35
43
  }
36
44
 
37
- getReferenceNode() {
38
- const node = this.getNode(),
39
- assertionNode = node; ///
40
-
41
- return assertionNode;
42
- }
43
-
44
45
  matchReferenceNode(assertionNode) {
45
46
  const assertionNodeA = assertionNode; ///
46
47