occam-verify-cli 1.0.457 → 1.0.473

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 (161) hide show
  1. package/lib/constants.js +13 -1
  2. package/lib/context/ephemeral.js +270 -0
  3. package/lib/context/file.js +102 -66
  4. package/lib/context/liminal.js +120 -0
  5. package/lib/context/literal.js +92 -0
  6. package/lib/context/nominal.js +15 -1
  7. package/lib/context/release.js +66 -7
  8. package/lib/context/scoped.js +48 -40
  9. package/lib/context/synthetic.js +133 -0
  10. package/lib/element/assertion/contained.js +66 -66
  11. package/lib/element/assertion/defined.js +32 -32
  12. package/lib/element/assertion/property.js +39 -39
  13. package/lib/element/assertion/satisfies.js +22 -22
  14. package/lib/element/assumption.js +5 -8
  15. package/lib/element/conclusion.js +14 -13
  16. package/lib/element/constructor.js +2 -2
  17. package/lib/element/deduction.js +14 -13
  18. package/lib/element/derivation.js +3 -3
  19. package/lib/element/equality.js +5 -5
  20. package/lib/element/equivalence.js +112 -107
  21. package/lib/element/equivalences.js +24 -10
  22. package/lib/element/error.js +3 -3
  23. package/lib/element/frame.js +38 -21
  24. package/lib/element/hypothesis.js +2 -2
  25. package/lib/element/judgement.js +6 -5
  26. package/lib/element/metaType.js +1 -2
  27. package/lib/element/metavariable.js +46 -35
  28. package/lib/element/parameter.js +13 -5
  29. package/lib/element/procedureCall.js +16 -16
  30. package/lib/element/proof.js +14 -13
  31. package/lib/element/proofAssertion/premise.js +41 -30
  32. package/lib/element/proofAssertion/step.js +39 -35
  33. package/lib/element/proofAssertion/supposition.js +43 -32
  34. package/lib/element/proofAssertion.js +19 -5
  35. package/lib/element/propertyRelation.js +2 -2
  36. package/lib/element/reference.js +50 -9
  37. package/lib/element/rule.js +26 -28
  38. package/lib/element/section.js +2 -2
  39. package/lib/element/signature.js +9 -6
  40. package/lib/element/statement.js +44 -31
  41. package/lib/element/subproof.js +18 -17
  42. package/lib/element/substitution/frame.js +83 -46
  43. package/lib/element/substitution/reference.js +101 -19
  44. package/lib/element/substitution/statement.js +122 -75
  45. package/lib/element/substitution/term.js +93 -57
  46. package/lib/element/substitution.js +20 -69
  47. package/lib/element/substitutions.js +49 -34
  48. package/lib/element/term.js +30 -21
  49. package/lib/element/topLevelAssertion/axiom.js +8 -6
  50. package/lib/element/topLevelAssertion/conjecture.js +4 -4
  51. package/lib/element/topLevelAssertion/lemma.js +4 -4
  52. package/lib/element/topLevelAssertion/theorem.js +2 -2
  53. package/lib/element/topLevelAssertion.js +30 -23
  54. package/lib/element/topLevelMetaAssertion/metaLemma.js +2 -2
  55. package/lib/element/topLevelMetaAssertion/metatheorem.js +2 -2
  56. package/lib/element/topLevelMetaAssertion.js +16 -12
  57. package/lib/element/variable.js +30 -22
  58. package/lib/index.js +3 -3
  59. package/lib/main.js +3 -3
  60. package/lib/node/frame.js +2 -2
  61. package/lib/node/metavariable.js +4 -4
  62. package/lib/node/parameter.js +28 -7
  63. package/lib/node/substitution/frame.js +9 -31
  64. package/lib/node/substitution/reference.js +137 -0
  65. package/lib/node/substitution/statement.js +9 -31
  66. package/lib/node/substitution/term.js +9 -23
  67. package/lib/nonTerminalNodeMap.js +3 -2
  68. package/lib/process/instantiate.js +2 -14
  69. package/lib/process/unify.js +5 -5
  70. package/lib/tokenTypes.js +22 -0
  71. package/lib/utilities/context.js +54 -19
  72. package/lib/utilities/element.js +161 -336
  73. package/lib/utilities/instance.js +4 -4
  74. package/lib/utilities/string.js +18 -4
  75. package/lib/utilities/unification.js +24 -18
  76. package/lib/utilities/validation.js +31 -31
  77. package/package.json +2 -2
  78. package/src/constants.js +12 -0
  79. package/src/context/{transient.js → ephemeral.js} +15 -112
  80. package/src/context/file.js +66 -67
  81. package/src/context/liminal.js +67 -0
  82. package/src/context/{fragment.js → literal.js} +17 -4
  83. package/src/context/nominal.js +12 -0
  84. package/src/context/release.js +44 -6
  85. package/src/context/scoped.js +41 -31
  86. package/src/context/synthetic.js +60 -0
  87. package/src/element/assertion/contained.js +49 -47
  88. package/src/element/assertion/defined.js +29 -27
  89. package/src/element/assertion/property.js +35 -35
  90. package/src/element/assertion/satisfies.js +19 -18
  91. package/src/element/assumption.js +4 -10
  92. package/src/element/conclusion.js +16 -19
  93. package/src/element/constructor.js +1 -1
  94. package/src/element/deduction.js +16 -21
  95. package/src/element/derivation.js +2 -2
  96. package/src/element/equality.js +4 -4
  97. package/src/element/equivalence.js +115 -135
  98. package/src/element/equivalences.js +9 -7
  99. package/src/element/error.js +4 -2
  100. package/src/element/frame.js +50 -23
  101. package/src/element/hypothesis.js +1 -1
  102. package/src/element/judgement.js +9 -4
  103. package/src/element/metaType.js +0 -1
  104. package/src/element/metavariable.js +54 -53
  105. package/src/element/parameter.js +10 -5
  106. package/src/element/procedureCall.js +20 -18
  107. package/src/element/proof.js +14 -16
  108. package/src/element/proofAssertion/premise.js +46 -42
  109. package/src/element/proofAssertion/step.js +45 -40
  110. package/src/element/proofAssertion/supposition.js +56 -45
  111. package/src/element/proofAssertion.js +23 -5
  112. package/src/element/propertyRelation.js +1 -1
  113. package/src/element/reference.js +64 -16
  114. package/src/element/rule.js +31 -37
  115. package/src/element/section.js +1 -1
  116. package/src/element/signature.js +8 -8
  117. package/src/element/statement.js +51 -40
  118. package/src/element/subproof.js +16 -18
  119. package/src/element/substitution/frame.js +99 -42
  120. package/src/element/substitution/reference.js +120 -20
  121. package/src/element/substitution/statement.js +160 -89
  122. package/src/element/substitution/term.js +104 -63
  123. package/src/element/substitution.js +16 -58
  124. package/src/element/substitutions.js +43 -41
  125. package/src/element/term.js +37 -32
  126. package/src/element/topLevelAssertion/axiom.js +8 -6
  127. package/src/element/topLevelAssertion/conjecture.js +1 -2
  128. package/src/element/topLevelAssertion/lemma.js +2 -3
  129. package/src/element/topLevelAssertion/theorem.js +1 -1
  130. package/src/element/topLevelAssertion.js +31 -27
  131. package/src/element/topLevelMetaAssertion/metaLemma.js +1 -2
  132. package/src/element/topLevelMetaAssertion/metatheorem.js +1 -2
  133. package/src/element/topLevelMetaAssertion.js +15 -13
  134. package/src/element/variable.js +30 -31
  135. package/src/index.js +2 -1
  136. package/src/main.js +2 -1
  137. package/src/node/frame.js +1 -1
  138. package/src/node/metavariable.js +3 -3
  139. package/src/node/parameter.js +32 -5
  140. package/src/node/substitution/frame.js +6 -32
  141. package/src/node/substitution/reference.js +38 -0
  142. package/src/node/substitution/statement.js +6 -32
  143. package/src/node/substitution/term.js +6 -22
  144. package/src/nonTerminalNodeMap.js +3 -0
  145. package/src/process/instantiate.js +0 -8
  146. package/src/process/unify.js +4 -4
  147. package/src/tokenTypes.js +4 -0
  148. package/src/utilities/context.js +43 -17
  149. package/src/utilities/element.js +187 -401
  150. package/src/utilities/instance.js +3 -3
  151. package/src/utilities/string.js +21 -5
  152. package/src/utilities/unification.js +26 -23
  153. package/src/utilities/validation.js +47 -47
  154. package/lib/context/fragment.js +0 -77
  155. package/lib/context/transient.js +0 -371
  156. package/lib/log.js +0 -150
  157. package/lib/utilities/fragment.js +0 -23
  158. package/lib/utilities/node.js +0 -71
  159. package/src/log.js +0 -118
  160. package/src/utilities/fragment.js +0 -11
  161. package/src/utilities/node.js +0 -85
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import elements from "../elements";
4
- import FragmentContext from "../context/fragment";
5
4
 
5
+ import { literally } from "../utilities/context";
6
6
  import { baseTypeFromNothing } from "../types";
7
7
  import { instantiateReference } from "../process/instantiate";
8
8
  import { findMetaTypeByMetaTypeName } from "../metaTypes";
@@ -44,11 +44,8 @@ export function termFromTermNode(termNode, context) {
44
44
  const { Term } = elements,
45
45
  node = termNode, ///
46
46
  string = context.nodeAsString(node),
47
- type = null;
48
-
49
- context = null;
50
-
51
- const term = new Term(context, string, node, type);
47
+ type = typeFromTermNode(termNode, context),
48
+ term = new Term(context, string, node, type);
52
49
 
53
50
  return term;
54
51
  }
@@ -106,7 +103,7 @@ export function lemmaFromLemmaNode(lemmaNode, context) {
106
103
  deduction = deductionFromTopLevelAssertionNode(topLevelAsssertionNode, context),
107
104
  suppositions = suppositionsFromTopLevelAssertionNode(topLevelAsssertionNode, context),
108
105
  signature = signatureFromTopLevelAssertionNode(topLevelAsssertionNode, context),
109
- hypotheses = [],
106
+ hypotheses = hypothesesFromTopLevelAssertionNode(topLevelAsssertionNode, context),
110
107
  topLevelAsssertionString = topLevelAssertionStringFromLabelsSuppositionsAndDeduction(labels, suppositions, deduction),
111
108
  node = lemmaNode, ///
112
109
  string = topLevelAsssertionString, ///
@@ -138,7 +135,7 @@ export function proofFromProofNode(proofNode, context) {
138
135
  export function axiomFromAxiomNode(axiomNode, context) {
139
136
  const { Axiom } = elements,
140
137
  topLevelAsssertionNode = axiomNode, ///
141
- proof = null,
138
+ proof = proofFromTopLevelAssertionNode(topLevelAsssertionNode, context),
142
139
  labels = labelsFromTopLevelAssertionNode(topLevelAsssertionNode, context),
143
140
  deduction = deductionFromTopLevelAssertionNode(topLevelAsssertionNode, context),
144
141
  suppositions = suppositionsFromTopLevelAssertionNode(topLevelAsssertionNode, context),
@@ -159,7 +156,7 @@ export function sectionFromSectionNode(sectionNode, context) {
159
156
  lemma = lemmaFromSectionNode(sectionNode, context),
160
157
  theorem = theoremFromSectionNode(sectionNode, context),
161
158
  conjecture = conjectureFromSectionNode(sectionNode, context),
162
- sectionString = sectionStringFromHypothesesTopLevelAssertion(hypotheses, axiom, lemma, theorem, conjecture, context),
159
+ sectionString = sectionStringFromHypothesesTopLevelAssertion(hypotheses, axiom, lemma, theorem, conjecture),
163
160
  node = sectionNode, ///
164
161
  string = sectionString, ///
165
162
  section = new Section(context, string, node, hypotheses, axiom, lemma, theorem, conjecture);
@@ -195,19 +192,6 @@ export function theoremFromTheoremNode(theoremNode, context) {
195
192
  return theorem;
196
193
  }
197
194
 
198
- export function equalityFromEqualityNode(equalityNode, context) {
199
- const { Equality } = elements,
200
- node = equalityNode, ///
201
- string = context.nodeAsString(node),
202
- leftTermNode = equalityNode.getLeftTermNode(),
203
- rightTermNode = equalityNode.getRightTermNode(),
204
- leftTerm = termFromTermNode(leftTermNode, context),
205
- rightTerm = termFromTermNode(rightTermNode, context),
206
- equality = new Equality(string, leftTerm, rightTerm);
207
-
208
- return equality;
209
- }
210
-
211
195
  export function metaTypeFromMetaTypeNode(metaTypeNode, context) {
212
196
  const metaTypeName = metaTypeNode.getMetaTypeName(),
213
197
  metaType = findMetaTypeByMetaTypeName(metaTypeName);
@@ -281,11 +265,8 @@ export function deductionFromDeductionNode(deductionNode, context) {
281
265
  export function statementFromStatementNode(statementNode, context) {
282
266
  const { Statement } = elements,
283
267
  node = statementNode, ///
284
- string = context.nodeAsString(node);
285
-
286
- context = null;
287
-
288
- const statement = new Statement(context, string, node);
268
+ string = context.nodeAsString(node),
269
+ statement = new Statement(context, string, node);
289
270
 
290
271
  return statement;
291
272
  }
@@ -339,11 +320,11 @@ export function metaLemmaFromMetaLemmaNode(metaLemmaNode, context) {
339
320
 
340
321
  export function parameterFromParameterNode(parameterNode, context) {
341
322
  const { Parameter } = elements,
342
- node = parameterNode, ///
343
- string = context.nodeAsString(node),
344
- parameterName = parameterNode.getParameterName(),
345
- name = parameterName, ///
346
- parameter = new Parameter(context, string, node, name);
323
+ node = parameterNode, ///
324
+ string = context.nodeAsString(node),
325
+ name = parameterNode.getName(),
326
+ identifier = parameterNode.getIdentifier(),
327
+ parameter = new Parameter(context, string, node, name, identifier);
347
328
 
348
329
  return parameter;
349
330
  }
@@ -395,16 +376,6 @@ export function conclusionFromConclusionNode(conclusionNode, context) {
395
376
  return conclusion;
396
377
  }
397
378
 
398
- export function conclusinoFromConclusionNode(conclusinoNode, context) {
399
- const { Conclusion } = elements,
400
- node = conclusinoNode, ///
401
- string = context.nodeAsString(node),
402
- statement = statementFromConclusionNode(conclusinoNode, context),
403
- conclusino = new Conclusion(context, string, node, statement);
404
-
405
- return conclusino;
406
- }
407
-
408
379
  export function assumptionFromAssumptionNode(assumptionNode, context) {
409
380
  const { Assumption } = elements,
410
381
  node = assumptionNode, ///
@@ -437,41 +408,6 @@ export function typePrefixFromTypePrefixNode(typePrefixNode, context) {
437
408
  return typePrefix;
438
409
  }
439
410
 
440
- export function referenceFromMetavariableNode(metavariableNode, context) {
441
- const metavariableString = context.nodeAsString(metavariableNode),
442
- referenceString = metavariableString, ///
443
- string = referenceString, ///
444
- fragmentContext = FragmentContext.fromNothing(context);
445
-
446
- context = fragmentContext; ///
447
-
448
- const referenceNode = instantiateReference(string, context),
449
- reference = referenceFromReferenceNode(referenceNode, context);
450
-
451
- return reference;
452
- }
453
-
454
- export function hyppothesisFromHypothesisNode(hypothesisNode, context) {
455
- const { Hypothesis } = elements,
456
- node = hypothesisNode, ///
457
- string = context.nodeAsString(node),
458
- statement = statementFromHypothesisNode(hypothesisNode, context),
459
- hypothesis = new Hypothesis(context, string, node, statement);
460
-
461
- return hypothesis
462
- }
463
-
464
- export function substitutionFromParameterNode(substitutionNode, context) {
465
- const { Substitution } = elements,
466
- node = substitutionNode, ///
467
- string = context.nodeAsString(node),
468
- substitutionName = substitutionNode.getSubstitutionName(),
469
- name = substitutionName, ///
470
- substitution = new Substitution(context, string, node, name);
471
-
472
- return substitution;
473
- }
474
-
475
411
  export function constructorFromConstructorNode(constructorNode, context) {
476
412
  const { Constructor } = elements,
477
413
  node = constructorNode, ///
@@ -520,12 +456,6 @@ export function metatheoremFromMetatheoremNode(metatheoremNode, context) {
520
456
  return metatheorem;
521
457
  }
522
458
 
523
- export function nameFromProcedureReferenceNode(procedureReferenceNode, context) {
524
- const name = procedureReferenceNode.getName();
525
-
526
- return name;
527
- }
528
-
529
459
  export function metavariableFromMetavariableNode(metavariableNode, context) {
530
460
  const { Metavariable } = elements,
531
461
  node = metavariableNode, ///
@@ -581,18 +511,6 @@ export function stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, contex
581
511
  return stepOrSubproof;
582
512
  }
583
513
 
584
- export function prefixedFromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context) {
585
- const prefixed = simpleTypeDeclarationNode.isPrefixed();
586
-
587
- return prefixed;
588
- }
589
-
590
- export function prefixedFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
591
- const prefixed = complexTypeDeclarationNode.isPrefixed();
592
-
593
- return prefixed;
594
- }
595
-
596
514
  export function definedAssertionFromDefinedAssertionNode(definedAssertionNode, context) {
597
515
  const { DefinedAssertion } = elements,
598
516
  node = definedAssertionNode, ///
@@ -620,9 +538,9 @@ export function termSubstitutionFromTermSubstitutionNode(termSubstitutionNode, c
620
538
  const { TermSubstitution } = elements,
621
539
  node = termSubstitutionNode, ///
622
540
  string = context.nodeAsString(node),
623
- term = termFromTermSubstitutionNode(termSubstitutionNode, context),
624
- variable = variableFromTermSubstitutionNode(termSubstitutionNode, context),
625
- termSubstitution = new TermSubstitution(context, string, node, term, variable);
541
+ targetTerm = targetTermFromTermSubstitutionNode(termSubstitutionNode, context),
542
+ replacementTerm = replacementTermFromTermSubstitutionNode(termSubstitutionNode, context),
543
+ termSubstitution = new TermSubstitution(context, string, node, targetTerm, replacementTerm);
626
544
 
627
545
  return termSubstitution;
628
546
  }
@@ -631,9 +549,9 @@ export function frameSubstitutionFromFrameSubstitutionNode(frameSubstitutionNode
631
549
  const { FrameSubstitution } = elements,
632
550
  node = frameSubstitutionNode, ///
633
551
  string = context.nodeAsString(node),
634
- frame = frameFromFrameSubstitutionNode(frameSubstitutionNode, context),
635
- metavariable = metavariableFromFrameSubstitutionNode(frameSubstitutionNode, context),
636
- frameSubstitution = new FrameSubstitution(context, string, node, frame, metavariable);
552
+ targetFrame = targetFrameFromFrameSubstitutionNode(frameSubstitutionNode, context),
553
+ replacementFrame = replacementFrameFromFrameSubstitutionNode(frameSubstitutionNode, context),
554
+ frameSubstitution = new FrameSubstitution(context, string, node, targetFrame, replacementFrame);
637
555
 
638
556
  return frameSubstitution;
639
557
  }
@@ -743,30 +661,35 @@ export function simpleTypeDeclarationFromSimpleTypeDeclarationNode(simpleTypeDec
743
661
  return simpleTypeDeclaration;
744
662
  }
745
663
 
746
- export function statementSubstitutionFromStatementSubstitutionNode(statementSubstitutionNode, context) {
747
- const { StatementSubstitution } = elements,
748
- node = statementSubstitutionNode, ///
749
- string = context.nodeAsString(node),
750
- resolved = true,
751
- statement = statementFromStatementSubstitutionNode(statementSubstitutionNode, context),
752
- metavariable = metavariableFromStatementSubstitutionNode(statementSubstitutionNode, context),
753
- substitution = null,
754
- statementSubstitution = new StatementSubstitution(context, string, node, resolved, statement, metavariable, substitution);
755
-
756
- return statementSubstitution;
757
- }
758
-
759
664
  export function referenceSubstitutionFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
760
665
  const { ReferenceSubstitution } = elements,
761
666
  node = referenceSubstitutionNode, ///
762
667
  string = context.nodeAsString(node),
763
- reference = referenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context),
764
- metavariable = metavariableFromReferenceSubstitutionNode(referenceSubstitutionNode, context),
765
- referenceSubstitution = new ReferenceSubstitution(context, string, node, reference, metavariable);
668
+ targetReference = targetReferenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context),
669
+ replacementReference = replacementReferenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context),
670
+ referenceSubstitution = new ReferenceSubstitution(context, string, node, targetReference, replacementReference);
766
671
 
767
672
  return referenceSubstitution;
768
673
  }
769
674
 
675
+ export function statementSubstitutionFromStatementSubstitutionNode(statementSubstitutionNode, substitution, context) {
676
+ if (context === undefined) {
677
+ context = substitution; ///
678
+
679
+ substitution = null;
680
+ }
681
+
682
+ const { StatementSubstitution } = elements,
683
+ node = statementSubstitutionNode, ///
684
+ string = context.nodeAsString(node),
685
+ resolved = resolvedFromStatementSubstitutionNode(statementSubstitutionNode, substitution, context),
686
+ targetStatement = targetStatementFromStatementSubstitutionNode(statementSubstitutionNode, context),
687
+ replacementStatement = replacementStatementFromStatementSubstitutionNode(statementSubstitutionNode, context),
688
+ statementSubstitution = new StatementSubstitution(context, string, node, resolved, substitution, targetStatement, replacementStatement);
689
+
690
+ return statementSubstitution;
691
+ }
692
+
770
693
  export function constructorDeclarationFromConstructorDeclarationNode(constructorDeclarationNode, context) {
771
694
  const { ConstructorDeclaration } = elements,
772
695
  node = constructorDeclarationNode, ///
@@ -802,6 +725,12 @@ export function metavariableDeclarationFromMetavariableDeclarationNode(metavaria
802
725
  return metavariableDeclaration;
803
726
  }
804
727
 
728
+ export function typeFromTermNode(termNode, context) {
729
+ const type = null;
730
+
731
+ return type;
732
+ }
733
+
805
734
  export function proofFromRuleNode(ruleNode, context) {
806
735
  let proof = null;
807
736
 
@@ -838,18 +767,6 @@ export function lemmaFromSectionNode(sectionNode, context) {
838
767
  return lemma;
839
768
  }
840
769
 
841
- export function variableFromTermNode(termNode, context) {
842
- let variable = null;
843
-
844
- const variableNode = termNode.getVariableNode();
845
-
846
- if (variableNode !== null) {
847
- variable = variableFromVariableNode(variableNode, context);
848
- }
849
-
850
- return variable;
851
- }
852
-
853
770
  export function statementFromStepNode(stepNode, context) {
854
771
  let statement = null;
855
772
 
@@ -970,18 +887,6 @@ export function conjectureFromSectionNode(sectionNode, context) {
970
887
  return conjecture;
971
888
  }
972
889
 
973
- export function conclusionFromPremiseNode(premiseNode, context) {
974
- let conclusion = null;
975
-
976
- const conclusionNode = premiseNode.getConclusionNode();
977
-
978
- if (conclusionNode !== null) {
979
- conclusion = conclusionFromConclusionNode(conclusionNode, context);
980
- }
981
-
982
- return conclusion;
983
- }
984
-
985
890
  export function termFromTypeAssertionNode(typeAssertionNode, context) {
986
891
  let term = null;
987
892
 
@@ -1006,18 +911,6 @@ export function typeFromTypeAssertionNode(typeAssertionNode, context) {
1006
911
  return type;
1007
912
  }
1008
913
 
1009
- export function metavariableFromFrameNode(frameNode, context) {
1010
- let metavariable = null;
1011
-
1012
- const metavariableNode = frameNode.getMetavariableNode();
1013
-
1014
- if (metavariableNode !== null) {
1015
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1016
- }
1017
-
1018
- return metavariable;
1019
- }
1020
-
1021
914
  export function identifierFromVarialbeNode(variableNode, context) {
1022
915
  const variableIdentifier = variableNode.getVariableIdentifier(),
1023
916
  identifier = variableIdentifier; ///
@@ -1063,6 +956,18 @@ export function stepFromStepOrSubproofNode(stepOrSubproofNode, context) {
1063
956
  return step;
1064
957
  }
1065
958
 
959
+ export function assumptionFromJudgementNode(judgementNode, context) {
960
+ let assumption = null;
961
+
962
+ const assumptionNode = judgementNode.getAssumptionNode();
963
+
964
+ if (assumptionNode !== null) {
965
+ assumption = assumptionFromAssumptionNode(assumptionNode, context);
966
+ }
967
+
968
+ return assumption;
969
+ }
970
+
1066
971
  export function statementFromCombinatorNode(combinatorNode, context) {
1067
972
  let statement = null;
1068
973
 
@@ -1111,18 +1016,6 @@ export function referenceFromAssumptionNode(assumptionNode, context) {
1111
1016
  return reference;
1112
1017
  }
1113
1018
 
1114
- export function assumptionFromJudgementNode(judgementNode, context) {
1115
- let assumption = null;
1116
-
1117
- const assumptionNode = judgementNode.getAssumptionNode();
1118
-
1119
- if (assumptionNode !== null) {
1120
- assumption = assumptionFromAssumptionNode(assumptionNode, context);
1121
- }
1122
-
1123
- return assumption;
1124
- }
1125
-
1126
1019
  export function statementFromHypothesisNode(hypothesisNode, context) {
1127
1020
  let statement = null;
1128
1021
 
@@ -1183,16 +1076,16 @@ export function termFromPropertyRelationNode(propertyRelationNode, context) {
1183
1076
  return term;
1184
1077
  }
1185
1078
 
1186
- export function termFromTermSubstitutionNode(termSubstitutionNode, context) {
1187
- let term = null;
1079
+ export function subDerivationFromSubproofNode(subproofNode, context) {
1080
+ let subDerviation = null;
1188
1081
 
1189
- const termNode = termSubstitutionNode.getTermNode();
1082
+ const subDerivationNode = subproofNode.getSubDerivationNode();
1190
1083
 
1191
- if (termNode !== null) {
1192
- term = termFromTermNode(termNode, context);
1084
+ if (subDerivationNode !== null) {
1085
+ subDerviation = subDerivationFromSubDerivationNode(subDerivationNode, context);
1193
1086
  }
1194
1087
 
1195
- return term;
1088
+ return subDerviation;
1196
1089
  }
1197
1090
 
1198
1091
  export function metavariableFromStatementNode(statementNode, context) {
@@ -1207,18 +1100,6 @@ export function metavariableFromStatementNode(statementNode, context) {
1207
1100
  return metavariable;
1208
1101
  }
1209
1102
 
1210
- export function subDerivationFromSubproofNode(subproofNode, context) {
1211
- let subDerviation = null;
1212
-
1213
- const subDerivationNode = subproofNode.getSubDerivationNode();
1214
-
1215
- if (subDerivationNode !== null) {
1216
- subDerviation = subDerivationFromSubDerivationNode(subDerivationNode, context);
1217
- }
1218
-
1219
- return subDerviation;
1220
- }
1221
-
1222
1103
  export function metavariableFromReferenceNode(referenceNode, context) {
1223
1104
  let metavariable = null;
1224
1105
 
@@ -1231,10 +1112,23 @@ export function metavariableFromReferenceNode(referenceNode, context) {
1231
1112
  return metavariable;
1232
1113
  }
1233
1114
 
1115
+ export function referenceFromMetavariableNode(metavariableNode, context) {
1116
+ const metavariableString = context.nodeAsString(metavariableNode);
1117
+
1118
+ return literally((context) => {
1119
+ const referenceString = metavariableString, ///
1120
+ string = referenceString, ///
1121
+ referenceNode = instantiateReference(string, context),
1122
+ reference = referenceFromReferenceNode(referenceNode, context);
1123
+
1124
+ return reference;
1125
+ }, context);
1126
+ }
1127
+
1234
1128
  export function frameFromDefinedAssertionNode(definedAssertionNode, context) {
1235
1129
  let frame = null;
1236
1130
 
1237
- const frameNode = definedAssertionNode.getTermNode();
1131
+ const frameNode = definedAssertionNode.getFrameNode();
1238
1132
 
1239
1133
  if (frameNode !== null) {
1240
1134
  frame = frameFromFrameNode(frameNode, context);
@@ -1267,12 +1161,6 @@ export function satisfiesAssertionFromStepNode(stepNode, context) {
1267
1161
  return satisfiesAssertion;
1268
1162
  }
1269
1163
 
1270
- export function parameterNameFromParameterNode(parameterNode, context) {
1271
- const parameterName = parameterNode.getParameterName();
1272
-
1273
- return parameterName;
1274
- }
1275
-
1276
1164
  export function typeAssertionFromStatementNode(statementNode, context) {
1277
1165
  let typeAssertion = null;
1278
1166
 
@@ -1285,42 +1173,6 @@ export function typeAssertionFromStatementNode(statementNode, context) {
1285
1173
  return typeAssertion;
1286
1174
  }
1287
1175
 
1288
- export function metavariableFromAssumptionNode(assumptionNode, context) {
1289
- let metavariable = null;
1290
-
1291
- const metavariableNode = assumptionNode.getMetavariableNode();
1292
-
1293
- if (metavariableNode !== null) {
1294
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1295
- }
1296
-
1297
- return metavariable;
1298
- }
1299
-
1300
- export function referenceFromProcedureCallNode(procedureCallNode, context) {
1301
- let reference = null;
1302
-
1303
- const referenceNode = procedureCallNode.getReferenceNode();
1304
-
1305
- if (referenceNode !== null) {
1306
- reference = referenceFromReferenceNode(referenceNode, context);
1307
- }
1308
-
1309
- return reference;
1310
- }
1311
-
1312
- export function frameFromFrameSubstitutionNode(frameSubstitutionNode, context) {
1313
- let frame = null;
1314
-
1315
- const frameNode = frameSubstitutionNode.getFrameNode();
1316
-
1317
- if (frameNode !== null) {
1318
- frame = frameFromFrameNode(frameNode, context);
1319
- }
1320
-
1321
- return frame;
1322
- }
1323
-
1324
1176
  export function proofFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1325
1177
  let proof = null;
1326
1178
 
@@ -1359,16 +1211,10 @@ export function termFromContainedAssertionNode(containedAssertionNode, context)
1359
1211
  return term;
1360
1212
  }
1361
1213
 
1362
- export function typeFromPropertyDeclarationNode(propertyDeclarationNode, context) {
1363
- let type = null;
1364
-
1365
- const typeNode = propertyDeclarationNode.getTypeNode();
1366
-
1367
- if (typeNode !== null) {
1368
- type = typeFromTypeNode(typeNode, context);
1369
- }
1214
+ export function nameFromProcedureReferenceNode(procedureReferenceNode, context) {
1215
+ const name = procedureReferenceNode.getName();
1370
1216
 
1371
- return type;
1217
+ return name;
1372
1218
  }
1373
1219
 
1374
1220
  export function frameFromContainedAssertionNode(containedAssertionNode, context) {
@@ -1407,18 +1253,6 @@ export function propertyFromPropertyRelationNode(propertyRelationNode, context)
1407
1253
  return property;
1408
1254
  }
1409
1255
 
1410
- export function variableFromTermSubstitutionNode(termSubstitutionNode, context) {
1411
- let variable = null;
1412
-
1413
- const variableNode = termSubstitutionNode.getMetavariableNode();
1414
-
1415
- if (variableNode !== null) {
1416
- variable = variableFromVariableNode(variableNode, context);
1417
- }
1418
-
1419
- return variable;
1420
- }
1421
-
1422
1256
  export function definedAssertionFromStatementNode(statementNode, context) {
1423
1257
  let definedAssertion = null;
1424
1258
 
@@ -1455,6 +1289,18 @@ export function typeFromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, con
1455
1289
  return type;
1456
1290
  }
1457
1291
 
1292
+ export function targetTermFromTermSubstitutionNode(termSubstitutionNode, context) {
1293
+ let targetTerm = null;
1294
+
1295
+ const targetTermNode = termSubstitutionNode.getTargetTermNode();
1296
+
1297
+ if (targetTermNode !== null) {
1298
+ targetTerm = termFromTermNode(targetTermNode, context);
1299
+ }
1300
+
1301
+ return targetTerm;
1302
+ }
1303
+
1458
1304
  export function deductionFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1459
1305
  let deduction = null;
1460
1306
 
@@ -1515,17 +1361,6 @@ export function frameSubstitutionFromStatementNode(statementNode, context) {
1515
1361
  return frameSubstitution;
1516
1362
  }
1517
1363
 
1518
- export function stepsOrSubproofsFromDerivationNode(derivationNode, context) {
1519
- const stepOrSubproofNodes = derivationNode.getStepOrSubproofNodes(),
1520
- stepsOrSubproofs = stepOrSubproofNodes.map((stepOrSubproofNode) => {
1521
- const stepOrSubproof = stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, context);
1522
-
1523
- return stepOrSubproof;
1524
- });
1525
-
1526
- return stepsOrSubproofs;
1527
- }
1528
-
1529
1364
  export function propertyAssertionFromStatementNode(statementNode, context) {
1530
1365
  let propertyAssertion = null;
1531
1366
 
@@ -1550,16 +1385,15 @@ export function subproofAssertionFromStatementNode(statementNode, context) {
1550
1385
  return subproofAssertion;
1551
1386
  }
1552
1387
 
1553
- export function termFromConstructorDeclarationNode(constructorDeclarationNode, context) {
1554
- let term = null;
1555
-
1556
- const termNode = constructorDeclarationNode.getTermNode();
1388
+ export function stepsOrSubproofsFromDerivationNode(derivationNode, context) {
1389
+ const stepOrSubproofNodes = derivationNode.getStepOrSubproofNodes(),
1390
+ stepsOrSubproofs = stepOrSubproofNodes.map((stepOrSubproofNode) => {
1391
+ const stepOrSubproof = stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, context);
1557
1392
 
1558
- if (termNode !== null) {
1559
- term = termFromTermNode(termNode, context);
1560
- }
1393
+ return stepOrSubproof;
1394
+ });
1561
1395
 
1562
- return term;
1396
+ return stepsOrSubproofs;
1563
1397
  }
1564
1398
 
1565
1399
  export function typeFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
@@ -1574,22 +1408,6 @@ export function typeFromComplexTypeDeclarationNode(complexTypeDeclarationNode, c
1574
1408
  return type;
1575
1409
  }
1576
1410
 
1577
- export function typeFromConstructorDeclarationNode(constructorDeclarationNode, context) {
1578
- let type;
1579
-
1580
- const typeNode = constructorDeclarationNode.getTypeNode();
1581
-
1582
- if (typeNode !== null) {
1583
- type = typeFromTypeNode(typeNode, context);
1584
- } else {
1585
- const baseType = baseTypeFromNothing();
1586
-
1587
- type = baseType; ///
1588
- }
1589
-
1590
- return type;
1591
- }
1592
-
1593
1411
  export function containedAssertionFromStatementNode(statementNode, context) {0
1594
1412
  let containedAssertion = null;
1595
1413
 
@@ -1626,18 +1444,6 @@ export function statementFromContainedAssertionNode(containedAssertionNode, cont
1626
1444
  return statement;
1627
1445
  }
1628
1446
 
1629
- export function propertyFromPropertyDeclarationNode(propertyDeclarationNode, context) {
1630
- let property = null;
1631
-
1632
- const propertyNode = propertyDeclarationNode.getPropertyNode();
1633
-
1634
- if (propertyNode !== null) {
1635
- property = propertyFromPropertyNode(propertyNode, context);
1636
- }
1637
-
1638
- return property;
1639
- }
1640
-
1641
1447
  export function signatureFromSatisfiesAssertionNode(satisfiesAssertionNode, context) {
1642
1448
  let signature = null;
1643
1449
 
@@ -1662,16 +1468,22 @@ export function referenceFromSatisfiesAssertionNode(satisfiesAssertionNode, cont
1662
1468
  return reference;
1663
1469
  }
1664
1470
 
1665
- export function variableFromVariableDeclarationNode(variableDeclarationNode, context) {
1666
- let variable = null;
1471
+ export function hypothesesFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1472
+ const ypotheses = [];
1473
+
1474
+ return ypotheses;
1475
+ }
1476
+
1477
+ export function targetFrameFromFrameSubstitutionNode(frameSubstitutionNode, context) {
1478
+ let targetFrame = null;
1667
1479
 
1668
- const variableNode = variableDeclarationNode.getVariableNode();
1480
+ const targetFrameNode = frameSubstitutionNode.getTargetFrameNode();
1669
1481
 
1670
- if (variableNode !== null) {
1671
- variable = variableFromVariableNode(variableNode, context);
1482
+ if (targetFrameNode !== null) {
1483
+ targetFrame = frameFromFrameNode(targetFrameNode, context);
1672
1484
  }
1673
1485
 
1674
- return variable;
1486
+ return targetFrame;
1675
1487
  }
1676
1488
 
1677
1489
  export function stepsOrSubproofsFromSubDerivationNode(subDerivationNode, context) {
@@ -1685,16 +1497,22 @@ export function stepsOrSubproofsFromSubDerivationNode(subDerivationNode, context
1685
1497
  return stepsOrSubproofs;
1686
1498
  }
1687
1499
 
1688
- export function metavariableFromFrameSubstitutionNode(frameSubstitutionNode, context) {
1689
- let metavariable = null;
1500
+ export function prefixedFromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context) {
1501
+ const prefixed = simpleTypeDeclarationNode.isPrefixed();
1690
1502
 
1691
- const metavariableNode = frameSubstitutionNode.getMetavariableNode();
1503
+ return prefixed;
1504
+ }
1692
1505
 
1693
- if (metavariableNode !== null) {
1694
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1695
- }
1506
+ export function resolvedFromStatementSubstitutionNode(statementSubstitutionNode, substitution, context) {
1507
+ const resolved = (substitution === null);
1696
1508
 
1697
- return metavariable;
1509
+ return resolved;
1510
+ }
1511
+
1512
+ export function prefixedFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
1513
+ const prefixed = complexTypeDeclarationNode.isPrefixed();
1514
+
1515
+ return prefixed;
1698
1516
  }
1699
1517
 
1700
1518
  export function deductionFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
@@ -1709,42 +1527,6 @@ export function deductionFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode,
1709
1527
  return deduction;
1710
1528
  }
1711
1529
 
1712
- export function statementFromStatementSubstitutionNode(statementSubstitutionNode, context) {
1713
- let statement = null;
1714
-
1715
- const statementNode = statementSubstitutionNode.getStatementNode();
1716
-
1717
- if (statementNode !== null) {
1718
- statement = statementFromStatementNode(statementNode, context);
1719
- }
1720
-
1721
- return statement;
1722
- }
1723
-
1724
- export function referenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
1725
- let reference = null;
1726
-
1727
- const referenceNode = referenceSubstitutionNode.getReferenceNode();
1728
-
1729
- if (referenceNode !== null) {
1730
- reference = referenceFromReferenceNode(referenceNode, context);
1731
- }
1732
-
1733
- return reference;
1734
- }
1735
-
1736
- export function statementFromCombinatorDeclarationNode(combinatorDeclarationNode, context) {
1737
- let statement = null;
1738
-
1739
- const statementNode = combinatorDeclarationNode.getStatementNode();
1740
-
1741
- if (statementNode !== null) {
1742
- statement = statementFromStatementNode(statementNode, context);
1743
- }
1744
-
1745
- return statement;
1746
- }
1747
-
1748
1530
  export function procedureReferenceFromProcedureCallNode(procedureCallNode, context) {
1749
1531
  let procedureReference = null;
1750
1532
 
@@ -1757,6 +1539,18 @@ export function procedureReferenceFromProcedureCallNode(procedureCallNode, conte
1757
1539
  return procedureReference;
1758
1540
  }
1759
1541
 
1542
+ export function replacementTermFromTermSubstitutionNode(termSubstitutionNode, context) {
1543
+ let replacementTerm = null;
1544
+
1545
+ const replacementTermNode = termSubstitutionNode.getReplacementTermNode();
1546
+
1547
+ if (replacementTermNode !== null) {
1548
+ replacementTerm = termFromTermNode(replacementTermNode, context);
1549
+ }
1550
+
1551
+ return replacementTerm;
1552
+ }
1553
+
1760
1554
  export function typePrefixFromTypePrefixDeclarationNode(typePrefixDeclarationNode, context) {
1761
1555
  let typePrefix = null;
1762
1556
 
@@ -1793,6 +1587,18 @@ export function metaTypeFromMetavariableDeclarationNode(metavariableDeclarationN
1793
1587
  return metaType;
1794
1588
  }
1795
1589
 
1590
+ export function replacementFrameFromFrameSubstitutionNode(frameSubstitutionNode, context) {
1591
+ let replacementFrame = null;
1592
+
1593
+ const replacementFrameNode = frameSubstitutionNode.getReplacementFrameNode();
1594
+
1595
+ if (replacementFrameNode !== null) {
1596
+ replacementFrame = frameFromFrameNode(replacementFrameNode, context);
1597
+ }
1598
+
1599
+ return replacementFrame;
1600
+ }
1601
+
1796
1602
  export function propertyRelationFromPropertyAssertionNode(propertyAssertionNode, context) {
1797
1603
  let propertyRelation = null;
1798
1604
 
@@ -1817,10 +1623,10 @@ export function constructorFromConstructorDeclarationNode(constructorDeclaration
1817
1623
  return constructor;
1818
1624
  }
1819
1625
 
1820
- export function metavariableFromStatementSubstitutionNode(statementSubstitutionNode, context) {
1626
+ export function metavariableFromMetavariableDeclarationNode(metavariableDeclarationNode, context) {
1821
1627
  let metavariable = null;
1822
1628
 
1823
- const metavariableNode = statementSubstitutionNode.getMetavariableNode();
1629
+ const metavariableNode = metavariableDeclarationNode.getMetavariableNode();
1824
1630
 
1825
1631
  if (metavariableNode !== null) {
1826
1632
  metavariable = metavariableFromMetavariableNode(metavariableNode, context);
@@ -1829,28 +1635,52 @@ export function metavariableFromStatementSubstitutionNode(statementSubstitutionN
1829
1635
  return metavariable;
1830
1636
  }
1831
1637
 
1832
- export function metavariableFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
1833
- let metavariable = null;
1638
+ export function targetReferenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
1639
+ let targetRefernece = null;
1834
1640
 
1835
- const metavariableNode = referenceSubstitutionNode.getMetavariableNode();
1641
+ const targetReferenceNode = referenceSubstitutionNode.getTargetReferenceNode();
1836
1642
 
1837
- if (metavariableNode !== null) {
1838
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1643
+ if (targetReferenceNode !== null) {
1644
+ targetRefernece = metavariableFromMetavariableNode(targetReferenceNode, context);
1839
1645
  }
1840
1646
 
1841
- return metavariable;
1647
+ return targetRefernece;
1842
1648
  }
1843
1649
 
1844
- export function metavariableFromMetavariableDeclarationNode(metavariableDeclarationNode, context) {
1845
- let metavariable = null;
1650
+ export function targetStatementFromStatementSubstitutionNode(statementSubstitutionNode, context) {
1651
+ let targetStatement = null;
1846
1652
 
1847
- const metavariableNode = metavariableDeclarationNode.getMetavariableNode();
1653
+ const targetStatementNode = statementSubstitutionNode.getTargetStatementNode();
1848
1654
 
1849
- if (metavariableNode !== null) {
1850
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1655
+ if (targetStatementNode !== null) {
1656
+ targetStatement = statementFromStatementNode(targetStatementNode, context);
1851
1657
  }
1852
1658
 
1853
- return metavariable;
1659
+ return targetStatement;
1660
+ }
1661
+
1662
+ export function replacementReferenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
1663
+ let replacementReference = null;
1664
+
1665
+ const replacementReferenceNode = referenceSubstitutionNode.getReplacementReferenceNode();
1666
+
1667
+ if (replacementReferenceNode !== null) {
1668
+ replacementReference = referenceFromReferenceNode(replacementReferenceNode, context);
1669
+ }
1670
+
1671
+ return replacementReference;
1672
+ }
1673
+
1674
+ export function replacementStatementFromStatementSubstitutionNode(statementSubstitutionNode, context) {
1675
+ let replacementStatement = null;
1676
+
1677
+ const replacementStatementNode = statementSubstitutionNode.getReplacementStatementNode();
1678
+
1679
+ if (replacementStatementNode !== null) {
1680
+ replacementStatement = statementFromStatementNode(replacementStatementNode, context);
1681
+ }
1682
+
1683
+ return replacementStatement;
1854
1684
  }
1855
1685
 
1856
1686
  export function termsFromTermNodes(termNodes, context) {
@@ -1893,26 +1723,6 @@ export function statementsFromStatementNodes(statementNodes, context) {
1893
1723
  return statements;
1894
1724
  }
1895
1725
 
1896
- export function superTypesFromSuperTypeNodes(superTypeNodes, context) {
1897
- const superTypes = superTypeNodes.map((superTypeNode) => {
1898
- const typeNode = superTypeNode, ///
1899
- type = typeFromTypeNode(typeNode, context),
1900
- superType = type; ///
1901
-
1902
- return superType;
1903
- }),
1904
- superTypesLength = superTypes.length;
1905
-
1906
- if (superTypesLength === 0) {
1907
- const baseType = baseTypeFromNothing(),
1908
- superType = baseType; ///
1909
-
1910
- superTypes.push(superType);
1911
- }
1912
-
1913
- return superTypes;
1914
- }
1915
-
1916
1726
  export function parametersFromParameterNodes(parameterNodes, context) {
1917
1727
  const parameters = parameterNodes.map((parameterNode) => {
1918
1728
  const parameter = parameterFromParameterNode(parameterNode, context);
@@ -1953,16 +1763,6 @@ export function suppositionsFromSuppositionNodes(suppositionNodes, context) {
1953
1763
  return suppositions;
1954
1764
  }
1955
1765
 
1956
- export function propertiesFromPropertyDeclarationNodes(propertyDeclarationNodes, context) {
1957
- const properties = propertyDeclarationNodes.map((propertyDeclarationNode) => {
1958
- const property = propertyFromPropertyDeclarationNode(propertyDeclarationNode, context);
1959
-
1960
- return property;
1961
- });
1962
-
1963
- return properties;
1964
- }
1965
-
1966
1766
  export function labelsFromRuleNode(ruleNode, context) {
1967
1767
  const labelNodes = ruleNode.getLabelNodes(),
1968
1768
  labels = labelsFromLabelNodes(labelNodes, context);
@@ -2033,20 +1833,6 @@ export function suppositionsFromTopLevelAssertionNode(topLevelAsssertionNode, co
2033
1833
  return suppositions;
2034
1834
  }
2035
1835
 
2036
- export function propertiesFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
2037
- const propertyDeclarationNodes = complexTypeDeclarationNode.getPropertyDeclarationNodes(),
2038
- properties = propertiesFromPropertyDeclarationNodes(propertyDeclarationNodes, context);
2039
-
2040
- return properties;
2041
- }
2042
-
2043
- export function superTypesFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
2044
- const superTypeNodes = complexTypeDeclarationNode.getSuperTypeNodes(),
2045
- superTypes = superTypesFromSuperTypeNodes(superTypeNodes, context);
2046
-
2047
- return superTypes;
2048
- }
2049
-
2050
1836
  export function suppositionsFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
2051
1837
  const suppositionNodes = metaLemmaMetathoremNode.getSuppositionNodes(),
2052
1838
  suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);