occam-verify-cli 1.0.562 → 1.0.569

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 (87) hide show
  1. package/lib/context/ephemeral.js +1 -1
  2. package/lib/context/file/nominal.js +1 -13
  3. package/lib/context/liminal.js +84 -6
  4. package/lib/element/assertion/satisfies.js +4 -46
  5. package/lib/element/assumption.js +49 -69
  6. package/lib/element/conclusion.js +3 -3
  7. package/lib/element/declaration/metavariable.js +2 -1
  8. package/lib/element/declaration/variable.js +2 -1
  9. package/lib/element/frame.js +56 -42
  10. package/lib/element/judgement.js +2 -2
  11. package/lib/element/metavariable.js +26 -35
  12. package/lib/element/proofAssertion/premise.js +26 -29
  13. package/lib/element/proofAssertion/step.js +4 -44
  14. package/lib/element/proofAssertion/supposition.js +161 -32
  15. package/lib/element/proofAssertion.js +5 -5
  16. package/lib/element/reference.js +30 -12
  17. package/lib/element/rule.js +21 -55
  18. package/lib/element/statement.js +11 -4
  19. package/lib/element/subproof.js +2 -2
  20. package/lib/element/substitution/frame.js +1 -2
  21. package/lib/element/substitution/reference.js +1 -2
  22. package/lib/element/substitution/statement.js +3 -46
  23. package/lib/element/substitution/term.js +1 -2
  24. package/lib/element/substitution.js +8 -1
  25. package/lib/element/substitutions.js +1 -53
  26. package/lib/element/term.js +9 -2
  27. package/lib/element/topLevelAssertion/axiom.js +25 -15
  28. package/lib/element/topLevelAssertion/conjecture.js +22 -12
  29. package/lib/element/topLevelAssertion/lemma.js +27 -12
  30. package/lib/element/topLevelAssertion/theorem.js +22 -12
  31. package/lib/element/topLevelAssertion.js +331 -58
  32. package/lib/element/topLevelMetaAssertion/metaLemma.js +4 -2
  33. package/lib/element/topLevelMetaAssertion/metatheorem.js +4 -2
  34. package/lib/element/variable.js +6 -7
  35. package/lib/node/assumption.js +1 -12
  36. package/lib/node/frame.js +8 -34
  37. package/lib/process/assign.js +9 -9
  38. package/lib/process/instantiate.js +2 -14
  39. package/lib/process/unify.js +14 -14
  40. package/lib/process/validate.js +1 -1
  41. package/lib/utilities/context.js +169 -1
  42. package/lib/utilities/element.js +111 -252
  43. package/lib/utilities/unification.js +3 -5
  44. package/package.json +4 -4
  45. package/src/context/ephemeral.js +1 -1
  46. package/src/context/file/nominal.js +0 -13
  47. package/src/context/liminal.js +90 -7
  48. package/src/element/assertion/satisfies.js +2 -5
  49. package/src/element/assumption.js +62 -86
  50. package/src/element/conclusion.js +2 -2
  51. package/src/element/declaration/metavariable.js +2 -0
  52. package/src/element/declaration/variable.js +2 -0
  53. package/src/element/frame.js +72 -45
  54. package/src/element/judgement.js +2 -1
  55. package/src/element/metavariable.js +31 -39
  56. package/src/element/proofAssertion/premise.js +30 -35
  57. package/src/element/proofAssertion/step.js +4 -4
  58. package/src/element/proofAssertion/supposition.js +3 -1
  59. package/src/element/proofAssertion.js +4 -4
  60. package/src/element/reference.js +38 -13
  61. package/src/element/rule.js +25 -17
  62. package/src/element/statement.js +15 -3
  63. package/src/element/subproof.js +2 -3
  64. package/src/element/substitution/frame.js +0 -2
  65. package/src/element/substitution/reference.js +0 -2
  66. package/src/element/substitution/statement.js +1 -7
  67. package/src/element/substitution/term.js +0 -2
  68. package/src/element/substitution.js +11 -0
  69. package/src/element/substitutions.js +0 -53
  70. package/src/element/term.js +13 -1
  71. package/src/element/topLevelAssertion/axiom.js +5 -2
  72. package/src/element/topLevelAssertion/conjecture.js +5 -2
  73. package/src/element/topLevelAssertion/lemma.js +6 -3
  74. package/src/element/topLevelAssertion/theorem.js +5 -2
  75. package/src/element/topLevelAssertion.js +40 -38
  76. package/src/element/topLevelMetaAssertion/metaLemma.js +5 -2
  77. package/src/element/topLevelMetaAssertion/metatheorem.js +5 -2
  78. package/src/element/variable.js +8 -6
  79. package/src/node/assumption.js +0 -12
  80. package/src/node/frame.js +6 -34
  81. package/src/process/assign.js +16 -16
  82. package/src/process/instantiate.js +2 -10
  83. package/src/process/unify.js +14 -14
  84. package/src/process/validate.js +2 -2
  85. package/src/utilities/context.js +17 -0
  86. package/src/utilities/element.js +181 -357
  87. package/src/utilities/unification.js +3 -7
@@ -117,7 +117,8 @@ export function frameFromFrameNode(frameNode, context) {
117
117
  node = frameNode, ///
118
118
  string = context.nodeAsString(node),
119
119
  assumptions = assumptionsFromFrameNode(frameNode, context),
120
- frame = new Frame(context, string, node, assumptions);
120
+ metavariable = metavariableFromFrameNode(frameNode, context),
121
+ frame = new Frame(context, string, node, assumptions, metavariable);
121
122
 
122
123
  return frame;
123
124
  }
@@ -380,9 +381,9 @@ export function assumptionFromAssumptionNode(assumptionNode, context) {
380
381
  const { Assumption } = elements,
381
382
  node = assumptionNode, ///
382
383
  string = context.nodeAsString(node),
383
- statement = statementFromAssumptionNode(assumptionNode, context),
384
384
  reference = referenceFromAssumptionNode(assumptionNode, context),
385
- assumption = new Assumption(context, string, node, statement, reference);
385
+ statement = statementFromAssumptionNode(assumptionNode, context),
386
+ assumption = new Assumption(context, string, node, reference, statement);
386
387
 
387
388
  return assumption;
388
389
  }
@@ -735,6 +736,20 @@ export function proofFromRuleNode(ruleNode, context) {
735
736
  return proof;
736
737
  }
737
738
 
739
+ export function labelsFromRuleNode(ruleNode, context) {
740
+ const labelNodes = ruleNode.getLabelNodes(),
741
+ labels = labelsFromLabelNodes(labelNodes, context);
742
+
743
+ return labels;
744
+ }
745
+
746
+ export function premisesFromRuleNode(ruleNode, context) {
747
+ const premiseNodes = ruleNode.getPremiseNodes(),
748
+ premises = premisesFromPremiseNodes(premiseNodes, context);
749
+
750
+ return premises;
751
+ }
752
+
738
753
  export function axiomFromSectionNode(sectionNode, context) {
739
754
  let axiom = null;
740
755
 
@@ -784,13 +799,8 @@ export function referenceFromStepNode(stepNode, context) {
784
799
  }
785
800
 
786
801
  export function conclusionFromRuleNode(ruleNode, context) {
787
- let conclusion = null;
788
-
789
- const conclusionNode = ruleNode.getConclusionNode();
790
-
791
- if (conclusionNode !== null) {
792
- conclusion = conclusionFromConclusionNode(conclusionNode, context);
793
- }
802
+ const conclusionNode = ruleNode.getConclusionNode(),
803
+ conclusion = conclusionFromConclusionNode(conclusionNode, context);
794
804
 
795
805
  return conclusion;
796
806
  }
@@ -808,39 +818,38 @@ export function theoremFromSectionNode(sectionNode, context) {
808
818
  }
809
819
 
810
820
  export function frameFromJudgementNode(judgementNode, context) {
811
- let frame = null;
812
-
813
- const frameNode = judgementNode.getFrameNode();
814
-
815
- if (frameNode !== null) {
816
- frame = frameFromFrameNode(frameNode, context);
817
- }
821
+ const frameNode = judgementNode.getFrameNode(),
822
+ frame = frameFromFrameNode(frameNode, context);
818
823
 
819
824
  return frame;
820
825
  }
821
826
 
822
- export function derivationFromProofNode(proofNode, context) {
823
- let derivation = null;
827
+ export function termsFromSignatureNode(signatureNode, context) {
828
+ const termNodes = signatureNode.getAssumptionNodes(),
829
+ terms = termsFromTermNodes(termNodes, context);
824
830
 
825
- const derivationNode = proofNode.getDerivationNode();
831
+ return terms;
832
+ }
826
833
 
827
- if (derivationNode !== null) {
828
- derivation = derivationFromDerivationNode(derivationNode, context);
829
- }
834
+ export function derivationFromProofNode(proofNode, context) {
835
+ const derivationNode = proofNode.getDerivationNode(),
836
+ derivation = derivationFromDerivationNode(derivationNode, context);
830
837
 
831
838
  return derivation;
832
839
  }
833
840
 
834
841
  export function termFromConstructorNode(ocnstructorNode, context) {
835
- let term = null;
842
+ const termNode = ocnstructorNode.getTermNode(),
843
+ term = termFromTermNode(termNode, context);
836
844
 
837
- const termNode = ocnstructorNode.getTermNode();
845
+ return term;
846
+ }
838
847
 
839
- if (termNode !== null) {
840
- term = termFromTermNode(termNode, context);
841
- }
848
+ export function assumptionsFromFrameNode(frameNode, context) {
849
+ const assumptionNodes = frameNode.getAssumptionNodes(),
850
+ assumptions = assumptionsFromAssumptionNodes(assumptionNodes, context);
842
851
 
843
- return term;
852
+ return assumptions;
844
853
  }
845
854
 
846
855
  export function statementFromPremiseNode(premiseNode, context) {
@@ -855,10 +864,17 @@ export function statementFromPremiseNode(premiseNode, context) {
855
864
  return statement;
856
865
  }
857
866
 
858
- export function metavariableFromLabelNode(labelNode, context) {
867
+ export function termsFromEquivalenceNode(equivalenceNode, context) {
868
+ const termNodes = equivalenceNode.getTermNodes(),
869
+ terms = termsFromTermNodes(termNodes, context);
870
+
871
+ return terms;
872
+ }
873
+
874
+ export function metavariableFromFrameNode(frameNode, context) {
859
875
  let metavariable = null;
860
876
 
861
- const metavariableNode = labelNode.getMetavariableNode();
877
+ const metavariableNode = frameNode.getMetavariableNode();
862
878
 
863
879
  if (metavariableNode !== null) {
864
880
  metavariable = metavariableFromMetavariableNode(metavariableNode, context);
@@ -867,6 +883,13 @@ export function metavariableFromLabelNode(labelNode, context) {
867
883
  return metavariable;
868
884
  }
869
885
 
886
+ export function metavariableFromLabelNode(labelNode, context) {
887
+ const metavariableNode = labelNode.getMetavariableNode(),
888
+ metavariable = metavariableFromMetavariableNode(metavariableNode, context);
889
+
890
+ return metavariable;
891
+ }
892
+
870
893
  export function conjectureFromSectionNode(sectionNode, context) {
871
894
  let conjecture = null;
872
895
 
@@ -880,25 +903,15 @@ export function conjectureFromSectionNode(sectionNode, context) {
880
903
  }
881
904
 
882
905
  export function termFromTypeAssertionNode(typeAssertionNode, context) {
883
- let term = null;
884
-
885
- const termNode = typeAssertionNode.getTermNode();
886
-
887
- if (termNode !== null) {
888
- term = termFromTermNode(termNode, context);
889
- }
906
+ const termNode = typeAssertionNode.getTermNode(),
907
+ term = termFromTermNode(termNode, context);
890
908
 
891
909
  return term;
892
910
  }
893
911
 
894
912
  export function typeFromTypeAssertionNode(typeAssertionNode, context) {
895
- let type = null;
896
-
897
- const typeNode = typeAssertionNode.getTypeNode();
898
-
899
- if (typeNode !== null) {
900
- type = typeFromTypeNode(typeNode, context);
901
- }
913
+ const typeNode = typeAssertionNode.getTypeNode(),
914
+ type = typeFromTypeNode(typeNode, context);
902
915
 
903
916
  return type;
904
917
  }
@@ -949,15 +962,17 @@ export function stepFromStepOrSubproofNode(stepOrSubproofNode, context) {
949
962
  }
950
963
 
951
964
  export function assumptionFromJudgementNode(judgementNode, context) {
952
- let assumption = null;
965
+ const assumptionNode = judgementNode.getAssumptionNode(),
966
+ assumption = assumptionFromAssumptionNode(assumptionNode, context);
953
967
 
954
- const assumptionNode = judgementNode.getAssumptionNode();
968
+ return assumption;
969
+ }
955
970
 
956
- if (assumptionNode !== null) {
957
- assumption = assumptionFromAssumptionNode(assumptionNode, context);
958
- }
971
+ export function referenceFromAssumptionNode(assumptionNode, context) {
972
+ const metavariableNode = assumptionNode.getMetavariableNode(),
973
+ reference = referenceFromMetavariableNode(metavariableNode, context);
959
974
 
960
- return assumption;
975
+ return reference;
961
976
  }
962
977
 
963
978
  export function statementFromCombinatorNode(combinatorNode, context) {
@@ -980,7 +995,7 @@ export function statementFromConclusionNode(conclusinoNode, context) {
980
995
  }
981
996
 
982
997
  export function statementFromAssumptionNode(assumptionNode, context) {
983
- let statement = null;
998
+ let statement;
984
999
 
985
1000
  const statementNode = assumptionNode.getStatementNode();
986
1001
 
@@ -991,18 +1006,6 @@ export function statementFromAssumptionNode(assumptionNode, context) {
991
1006
  return statement;
992
1007
  }
993
1008
 
994
- export function referenceFromAssumptionNode(assumptionNode, context) {
995
- let reference = null;
996
-
997
- const metavariableNode = assumptionNode.getMetavariableNode();
998
-
999
- if (metavariableNode !== null) {
1000
- reference = referenceFromMetavariableNode(metavariableNode, context);
1001
- }
1002
-
1003
- return reference;
1004
- }
1005
-
1006
1009
  export function statementFromHypothesisNode(hypothesisNode, context) {
1007
1010
  let statement = null;
1008
1011
 
@@ -1027,6 +1030,13 @@ export function procedureCallFromPremiseNode(premiseNode, context) {
1027
1030
  return procedureCall;
1028
1031
  }
1029
1032
 
1033
+ export function suppositionsFromSubproofNode(subproofNode, context) {
1034
+ const suppositionNodes = subproofNode.getSuppositionNodes(),
1035
+ suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
1036
+
1037
+ return suppositions;
1038
+ }
1039
+
1030
1040
  export function statementFromSuppositionNode(suppositionNode, context) {
1031
1041
  let statement = null;
1032
1042
 
@@ -1052,25 +1062,15 @@ export function termFromDefinedAssertionNode(definedAssertionNode, context) {
1052
1062
  }
1053
1063
 
1054
1064
  export function termFromPropertyRelationNode(propertyRelationNode, context) {
1055
- let term = null;
1056
-
1057
- const termNode = propertyRelationNode.getTermNode();
1058
-
1059
- if (termNode !== null) {
1060
- term = termFromTermNode(termNode, context);
1061
- }
1065
+ const termNode = propertyRelationNode.getTermNode(),
1066
+ term = termFromTermNode(termNode, context);
1062
1067
 
1063
1068
  return term;
1064
1069
  }
1065
1070
 
1066
1071
  export function subDerivationFromSubproofNode(subproofNode, context) {
1067
- let subDerviation = null;
1068
-
1069
- const subDerivationNode = subproofNode.getSubDerivationNode();
1070
-
1071
- if (subDerivationNode !== null) {
1072
- subDerviation = subDerivationFromSubDerivationNode(subDerivationNode, context);
1073
- }
1072
+ const subDerivationNode = subproofNode.getSubDerivationNode(),
1073
+ subDerviation = subDerivationFromSubDerivationNode(subDerivationNode, context);
1074
1074
 
1075
1075
  return subDerviation;
1076
1076
  }
@@ -1088,13 +1088,8 @@ export function metavariableFromStatementNode(statementNode, context) {
1088
1088
  }
1089
1089
 
1090
1090
  export function metavariableFromReferenceNode(referenceNode, context) {
1091
- let metavariable = null;
1092
-
1093
- const metavariableNode = referenceNode.getMetavariableNode();
1094
-
1095
- if (metavariableNode !== null) {
1096
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1097
- }
1091
+ const metavariableNode = referenceNode.getMetavariableNode(),
1092
+ metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1098
1093
 
1099
1094
  return metavariable;
1100
1095
  }
@@ -1125,13 +1120,8 @@ export function frameFromDefinedAssertionNode(definedAssertionNode, context) {
1125
1120
  }
1126
1121
 
1127
1122
  export function termFromPropertyAssertionNode(propertyAssertionNode, context) {
1128
- let term = null;
1129
-
1130
- const termNode = propertyAssertionNode.getTermNode();
1131
-
1132
- if (termNode !== null) {
1133
- term = termFromTermNode(termNode, context);
1134
- }
1123
+ const termNode = propertyAssertionNode.getTermNode(),
1124
+ term = termFromTermNode(termNode, context);
1135
1125
 
1136
1126
  return term;
1137
1127
  }
@@ -1204,6 +1194,13 @@ export function nameFromProcedureReferenceNode(procedureReferenceNode, context)
1204
1194
  return name;
1205
1195
  }
1206
1196
 
1197
+ export function parametersFromProcedureCallNode(procedureCallNode, context) {
1198
+ const parameterNodes = procedureCallNode.getParameterNodes(),
1199
+ parameters = parametersFromParameterNodes(parameterNodes, context);
1200
+
1201
+ return parameters;
1202
+ }
1203
+
1207
1204
  export function frameFromContainedAssertionNode(containedAssertionNode, context) {
1208
1205
  let frame = null;
1209
1206
 
@@ -1216,6 +1213,13 @@ export function frameFromContainedAssertionNode(containedAssertionNode, context)
1216
1213
  return frame;
1217
1214
  }
1218
1215
 
1216
+ export function labelsFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1217
+ const labelNodes = topLevelAsssertionNode.getLabelNodes(),
1218
+ labels = labelsFromLabelNodes(labelNodes, context);
1219
+
1220
+ return labels;
1221
+ }
1222
+
1219
1223
  export function procedureCallFromSuppositionNode(suppositionNode, context) {
1220
1224
  let procedureCall = null;
1221
1225
 
@@ -1229,13 +1233,8 @@ export function procedureCallFromSuppositionNode(suppositionNode, context) {
1229
1233
  }
1230
1234
 
1231
1235
  export function propertyFromPropertyRelationNode(propertyRelationNode, context) {
1232
- let property = null;
1233
-
1234
- const propertyNode = propertyRelationNode.getTermNode();
1235
-
1236
- if (propertyNode !== null) {
1237
- property = propertyFromPropertyNode(propertyNode, context);
1238
- }
1236
+ const propertyNode = propertyRelationNode.getTermNode(),
1237
+ property = propertyFromPropertyNode(propertyNode, context);
1239
1238
 
1240
1239
  return property;
1241
1240
  }
@@ -1265,37 +1264,22 @@ export function termSubstitutionFromStatementNode(statementNode, context) {
1265
1264
  }
1266
1265
 
1267
1266
  export function typeFromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context) {
1268
- let type = null;
1269
-
1270
- const typeNode = simpleTypeDeclarationNode.getTypeNode();
1271
-
1272
- if (typeNode !== null) {
1273
- type = typeFromTypeNode(typeNode, context);
1274
- }
1267
+ const typeNode = simpleTypeDeclarationNode.getTypeNode(),
1268
+ type = typeFromTypeNode(typeNode, context);
1275
1269
 
1276
1270
  return type;
1277
1271
  }
1278
1272
 
1279
1273
  export function targetTermFromTermSubstitutionNode(termSubstitutionNode, context) {
1280
- let targetTerm = null;
1281
-
1282
- const targetTermNode = termSubstitutionNode.getTargetTermNode();
1283
-
1284
- if (targetTermNode !== null) {
1285
- targetTerm = termFromTermNode(targetTermNode, context);
1286
- }
1274
+ const targetTermNode = termSubstitutionNode.getTargetTermNode(),
1275
+ targetTerm = termFromTermNode(targetTermNode, context);
1287
1276
 
1288
1277
  return targetTerm;
1289
1278
  }
1290
1279
 
1291
1280
  export function deductionFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1292
- let deduction = null;
1293
-
1294
- const deductionNode = topLevelAsssertionNode.getDeductionNode();
1295
-
1296
- if (deductionNode !== null) {
1297
- deduction = deductionFromDeductionNode(deductionNode, context);
1298
- }
1281
+ const deductionNode = topLevelAsssertionNode.getDeductionNode(),
1282
+ deduction = deductionFromDeductionNode(deductionNode, context);
1299
1283
 
1300
1284
  return deduction;
1301
1285
  }
@@ -1313,25 +1297,15 @@ export function signatureFromTopLevelAssertionNode(topLevelAsssertionNode, conte
1313
1297
  }
1314
1298
 
1315
1299
  export function proofFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
1316
- let proof = null;
1317
-
1318
- const proofNode = metaLemmaMetathoremNode.getProofNode();
1319
-
1320
- if (proofNode !== null) {
1321
- proof = proofFromProofNode(proofNode, context);
1322
- }
1300
+ const proofNode = metaLemmaMetathoremNode.getProofNode(),
1301
+ proof = proofFromProofNode(proofNode, context);
1323
1302
 
1324
1303
  return proof;
1325
1304
  }
1326
1305
 
1327
1306
  export function labelFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
1328
- let label = null;
1329
-
1330
- const labelNode = metaLemmaMetathoremNode.getLabelNode();
1331
-
1332
- if (labelNode !== null) {
1333
- label = labelFromLabelNode(labelNode, context);
1334
- }
1307
+ const labelNode = metaLemmaMetathoremNode.getLabelNode(),
1308
+ label = labelFromLabelNode(labelNode, context);
1335
1309
 
1336
1310
  return label;
1337
1311
  }
@@ -1372,25 +1346,9 @@ export function subproofAssertionFromStatementNode(statementNode, context) {
1372
1346
  return subproofAssertion;
1373
1347
  }
1374
1348
 
1375
- export function stepsOrSubproofsFromDerivationNode(derivationNode, context) {
1376
- const stepOrSubproofNodes = derivationNode.getStepOrSubproofNodes(),
1377
- stepsOrSubproofs = stepOrSubproofNodes.map((stepOrSubproofNode) => {
1378
- const stepOrSubproof = stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, context);
1379
-
1380
- return stepOrSubproof;
1381
- });
1382
-
1383
- return stepsOrSubproofs;
1384
- }
1385
-
1386
1349
  export function typeFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
1387
- let type = null;
1388
-
1389
- const typeNode = complexTypeDeclarationNode.getTypeNode();
1390
-
1391
- if (typeNode !== null) {
1392
- type = typeFromTypeNode(typeNode, context);
1393
- }
1350
+ const typeNode = complexTypeDeclarationNode.getTypeNode(),
1351
+ type = typeFromTypeNode(typeNode, context);
1394
1352
 
1395
1353
  return type;
1396
1354
  }
@@ -1419,38 +1377,30 @@ export function satisfiesAssertionFromStatementNode(statementNode, context) {
1419
1377
  return satisfiesAssertion;
1420
1378
  }
1421
1379
 
1422
- export function statementFromContainedAssertionNode(containedAssertionNode, context) {
1423
- let statement = null;
1380
+ export function statementsFromSubproofAssertionNode(subproofAssertionNode, context) {
1381
+ const statementNodes = subproofAssertionNode.getStatementNodes(),
1382
+ statements = statementsFromStatementNodes(statementNodes, context);
1424
1383
 
1425
- const statementNode = containedAssertionNode.getStatementNode();
1384
+ return statements;
1385
+ }
1426
1386
 
1427
- if (statementNode !== null) {
1428
- statement = statementFromStatementNode(statementNode, context);
1429
- }
1387
+ export function statementFromContainedAssertionNode(containedAssertionNode, context) {
1388
+ const statementNode = containedAssertionNode.getStatementNode(),
1389
+ statement = statementFromStatementNode(statementNode, context);
1430
1390
 
1431
1391
  return statement;
1432
1392
  }
1433
1393
 
1434
1394
  export function signatureFromSatisfiesAssertionNode(satisfiesAssertionNode, context) {
1435
- let signature = null;
1436
-
1437
- const signatureNode = satisfiesAssertionNode.getSignatureNode();
1438
-
1439
- if (signatureNode !== null) {
1440
- signature = signatureFromSignatureNode(signatureNode, context);
1441
- }
1395
+ const signatureNode = satisfiesAssertionNode.getSignatureNode(),
1396
+ signature = signatureFromSignatureNode(signatureNode, context);
1442
1397
 
1443
1398
  return signature;
1444
1399
  }
1445
1400
 
1446
1401
  export function referenceFromSatisfiesAssertionNode(satisfiesAssertionNode, context) {
1447
- let reference = null;
1448
-
1449
- const metavariableNode = satisfiesAssertionNode.getMetavariableNode();
1450
-
1451
- if (metavariableNode !== null) {
1452
- reference = referenceFromMetavariableNode(metavariableNode, context);
1453
- }
1402
+ const metavariableNode = satisfiesAssertionNode.getMetavariableNode(),
1403
+ reference = referenceFromMetavariableNode(metavariableNode, context);
1454
1404
 
1455
1405
  return reference;
1456
1406
  }
@@ -1462,26 +1412,17 @@ export function hypothesesFromTopLevelAssertionNode(topLevelAsssertionNode, cont
1462
1412
  }
1463
1413
 
1464
1414
  export function targetFrameFromFrameSubstitutionNode(frameSubstitutionNode, context) {
1465
- let targetFrame = null;
1466
-
1467
- const targetFrameNode = frameSubstitutionNode.getTargetFrameNode();
1468
-
1469
- if (targetFrameNode !== null) {
1470
- targetFrame = frameFromFrameNode(targetFrameNode, context);
1471
- }
1415
+ const targetFrameNode = frameSubstitutionNode.getTargetFrameNode(),
1416
+ targetFrame = frameFromFrameNode(targetFrameNode, context);
1472
1417
 
1473
1418
  return targetFrame;
1474
1419
  }
1475
1420
 
1476
- export function stepsOrSubproofsFromSubDerivationNode(subDerivationNode, context) {
1477
- const stepOrSubproofNodes = subDerivationNode.getStepOrSubproofNodes(),
1478
- stepsOrSubproofs = stepOrSubproofNodes.map((stepOrSubproofNode) => {
1479
- const stepOrSubproof = stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, context);
1480
-
1481
- return stepOrSubproof;
1482
- });
1421
+ export function suppositionsFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1422
+ const suppositionNodes = topLevelAsssertionNode.getSuppositionNodes(),
1423
+ suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
1483
1424
 
1484
- return stepsOrSubproofs;
1425
+ return suppositions;
1485
1426
  }
1486
1427
 
1487
1428
  export function prefixedFromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context) {
@@ -1496,176 +1437,113 @@ export function resolvedFromStatementSubstitutionNode(statementSubstitutionNode,
1496
1437
  return resolved;
1497
1438
  }
1498
1439
 
1499
- export function prefixedFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
1500
- const prefixed = complexTypeDeclarationNode.isPrefixed();
1501
-
1502
- return prefixed;
1503
- }
1504
-
1505
1440
  export function deductionFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
1506
- let deduction = null;
1507
-
1508
- const deductionNode = metaLemmaMetathoremNode.getDeductionNode();
1509
-
1510
- if (deductionNode !== null) {
1511
- deduction = deductionFromDeductionNode(deductionNode, context);
1512
- }
1441
+ const deductionNode = metaLemmaMetathoremNode.getDeductionNode(),
1442
+ deduction = deductionFromDeductionNode(deductionNode, context);
1513
1443
 
1514
1444
  return deduction;
1515
1445
  }
1516
1446
 
1517
- export function procedureReferenceFromProcedureCallNode(procedureCallNode, context) {
1518
- let procedureReference = null;
1447
+ export function prefixedFromComplexTypeDeclarationNode(complexTypeDeclarationNode, context) {
1448
+ const prefixed = complexTypeDeclarationNode.isPrefixed();
1519
1449
 
1520
- const procedureReferenceNode = procedureCallNode.getProcedureReferenceNode();
1450
+ return prefixed;
1451
+ }
1521
1452
 
1522
- if (procedureReferenceNode !== null) {
1523
- procedureReference = procedureReferenceFromProcedureReferenceNode(procedureReferenceNode, context);
1524
- }
1453
+ export function procedureReferenceFromProcedureCallNode(procedureCallNode, context) {
1454
+ const procedureReferenceNode = procedureCallNode.getProcedureReferenceNode(),
1455
+ procedureReference = procedureReferenceFromProcedureReferenceNode(procedureReferenceNode, context);
1525
1456
 
1526
1457
  return procedureReference;
1527
1458
  }
1528
1459
 
1529
1460
  export function replacementTermFromTermSubstitutionNode(termSubstitutionNode, context) {
1530
- let replacementTerm = null;
1531
-
1532
- const replacementTermNode = termSubstitutionNode.getReplacementTermNode();
1533
-
1534
- if (replacementTermNode !== null) {
1535
- replacementTerm = termFromTermNode(replacementTermNode, context);
1536
- }
1461
+ const replacementTermNode = termSubstitutionNode.getReplacementTermNode(),
1462
+ replacementTerm = termFromTermNode(replacementTermNode, context);
1537
1463
 
1538
1464
  return replacementTerm;
1539
1465
  }
1540
1466
 
1541
1467
  export function typePrefixFromTypePrefixDeclarationNode(typePrefixDeclarationNode, context) {
1542
- let typePrefix = null;
1543
-
1544
- const typePrefixNode = typePrefixDeclarationNode.getTypePrefixNode();
1545
-
1546
- if (typePrefixNode !== null) {
1547
- typePrefix = typePrefixFromTypePrefixNode(typePrefixNode, context);
1548
- }
1468
+ const typePrefixNode = typePrefixDeclarationNode.getTypePrefixNode(),
1469
+ typePrefix = typePrefixFromTypePrefixNode(typePrefixNode, context);
1549
1470
 
1550
1471
  return typePrefix;
1551
1472
  }
1552
1473
 
1553
1474
  export function combinatorFromCombinatorDeclarationNode(combinatorDeclarationNode, context) {
1554
- let combinator = null;
1555
-
1556
- const combinatorNode = combinatorDeclarationNode.getCombinatorNode();
1557
-
1558
- if (combinatorNode !== null) {
1559
- combinator = combinatorFromCombinatorNode(combinatorNode, context);
1560
- }
1475
+ const combinatorNode = combinatorDeclarationNode.getCombinatorNode(),
1476
+ combinator = combinatorFromCombinatorNode(combinatorNode, context);
1561
1477
 
1562
1478
  return combinator;
1563
1479
  }
1564
1480
 
1565
1481
  export function metaTypeFromMetavariableDeclarationNode(metavariableDeclarationNode, context) {
1566
- let metaType = null;
1567
-
1568
- const metaTypeNode = metavariableDeclarationNode.getMetaTypeNode();
1569
-
1570
- if (metaTypeNode !== null) {
1571
- metaType = metaTypeFromMetaTypeNode(metaTypeNode, context);
1572
- }
1482
+ const metaTypeNode = metavariableDeclarationNode.getMetaTypeNode(),
1483
+ metaType = metaTypeFromMetaTypeNode(metaTypeNode, context);
1573
1484
 
1574
1485
  return metaType;
1575
1486
  }
1576
1487
 
1577
1488
  export function replacementFrameFromFrameSubstitutionNode(frameSubstitutionNode, context) {
1578
- let replacementFrame = null;
1579
-
1580
- const replacementFrameNode = frameSubstitutionNode.getReplacementFrameNode();
1581
-
1582
- if (replacementFrameNode !== null) {
1583
- replacementFrame = frameFromFrameNode(replacementFrameNode, context);
1584
- }
1489
+ const replacementFrameNode = frameSubstitutionNode.getReplacementFrameNode(),
1490
+ replacementFrame = frameFromFrameNode(replacementFrameNode, context);
1585
1491
 
1586
1492
  return replacementFrame;
1587
1493
  }
1588
1494
 
1589
1495
  export function propertyRelationFromPropertyAssertionNode(propertyAssertionNode, context) {
1590
- let propertyRelation = null;
1591
-
1592
- const propertyRelationNode = propertyAssertionNode.getPropertyRelationNode();
1593
-
1594
- if (propertyRelationNode !== null) {
1595
- propertyRelation = propertyRelationFromPropertyRelationNode(propertyRelationNode, context);
1596
- }
1496
+ const propertyRelationNode = propertyAssertionNode.getPropertyRelationNode(),
1497
+ propertyRelation = propertyRelationFromPropertyRelationNode(propertyRelationNode, context);
1597
1498
 
1598
1499
  return propertyRelation;
1599
1500
  }
1600
1501
 
1601
- export function constructorFromConstructorDeclarationNode(constructorDeclarationNode, context) {
1602
- let constructor = null;
1502
+ export function suppositionsFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
1503
+ const suppositionNodes = metaLemmaMetathoremNode.getSuppositionNodes(),
1504
+ suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
1603
1505
 
1604
- const constructorNode = constructorDeclarationNode.getConstructorNode();
1506
+ return suppositions;
1507
+ }
1605
1508
 
1606
- if (constructorNode !== null) {
1607
- constructor = constructorFromConstructorNode(constructorNode, context);
1608
- }
1509
+ export function constructorFromConstructorDeclarationNode(constructorDeclarationNode, context) {
1510
+ const constructorNode = constructorDeclarationNode.getConstructorNode(),
1511
+ constructor = constructorFromConstructorNode(constructorNode, context);
1609
1512
 
1610
1513
  return constructor;
1611
1514
  }
1612
1515
 
1613
1516
  export function metavariableFromMetavariableDeclarationNode(metavariableDeclarationNode, context) {
1614
- let metavariable = null;
1615
-
1616
- const metavariableNode = metavariableDeclarationNode.getMetavariableNode();
1617
-
1618
- if (metavariableNode !== null) {
1619
- metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1620
- }
1517
+ const metavariableNode = metavariableDeclarationNode.getMetavariableNode(),
1518
+ metavariable = metavariableFromMetavariableNode(metavariableNode, context);
1621
1519
 
1622
1520
  return metavariable;
1623
1521
  }
1624
1522
 
1625
1523
  export function targetReferenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
1626
- let targetRefernece = null;
1627
-
1628
- const targetReferenceNode = referenceSubstitutionNode.getTargetReferenceNode();
1629
-
1630
- if (targetReferenceNode !== null) {
1631
- targetRefernece = metavariableFromMetavariableNode(targetReferenceNode, context);
1632
- }
1524
+ const targetReferenceNode = referenceSubstitutionNode.getTargetReferenceNode(),
1525
+ targetRefernece = metavariableFromMetavariableNode(targetReferenceNode, context);
1633
1526
 
1634
1527
  return targetRefernece;
1635
1528
  }
1636
1529
 
1637
1530
  export function targetStatementFromStatementSubstitutionNode(statementSubstitutionNode, context) {
1638
- let targetStatement = null;
1639
-
1640
- const targetStatementNode = statementSubstitutionNode.getTargetStatementNode();
1641
-
1642
- if (targetStatementNode !== null) {
1643
- targetStatement = statementFromStatementNode(targetStatementNode, context);
1644
- }
1531
+ const targetStatementNode = statementSubstitutionNode.getTargetStatementNode(),
1532
+ targetStatement = statementFromStatementNode(targetStatementNode, context);
1645
1533
 
1646
1534
  return targetStatement;
1647
1535
  }
1648
1536
 
1649
1537
  export function replacementReferenceFromReferenceSubstitutionNode(referenceSubstitutionNode, context) {
1650
- let replacementReference = null;
1651
-
1652
- const replacementReferenceNode = referenceSubstitutionNode.getReplacementReferenceNode();
1653
-
1654
- if (replacementReferenceNode !== null) {
1655
- replacementReference = referenceFromReferenceNode(replacementReferenceNode, context);
1656
- }
1538
+ const replacementReferenceNode = referenceSubstitutionNode.getReplacementReferenceNode(),
1539
+ replacementReference = referenceFromReferenceNode(replacementReferenceNode, context);
1657
1540
 
1658
1541
  return replacementReference;
1659
1542
  }
1660
1543
 
1661
1544
  export function replacementStatementFromStatementSubstitutionNode(statementSubstitutionNode, context) {
1662
- let replacementStatement = null;
1663
-
1664
- const replacementStatementNode = statementSubstitutionNode.getReplacementStatementNode();
1665
-
1666
- if (replacementStatementNode !== null) {
1667
- replacementStatement = statementFromStatementNode(replacementStatementNode, context);
1668
- }
1545
+ const replacementStatementNode = statementSubstitutionNode.getReplacementStatementNode(),
1546
+ replacementStatement = statementFromStatementNode(replacementStatementNode, context);
1669
1547
 
1670
1548
  return replacementStatement;
1671
1549
  }
@@ -1750,79 +1628,25 @@ export function suppositionsFromSuppositionNodes(suppositionNodes, context) {
1750
1628
  return suppositions;
1751
1629
  }
1752
1630
 
1753
- export function labelsFromRuleNode(ruleNode, context) {
1754
- const labelNodes = ruleNode.getLabelNodes(),
1755
- labels = labelsFromLabelNodes(labelNodes, context);
1756
-
1757
- return labels;
1758
- }
1759
-
1760
- export function premisesFromRuleNode(ruleNode, context) {
1761
- const premiseNodes = ruleNode.getPremiseNodes(),
1762
- premises = premisesFromPremiseNodes(premiseNodes, context);
1763
-
1764
- return premises;
1765
- }
1766
-
1767
- export function termsFromSignatureNode(signatureNode, context) {
1768
- const termNodes = signatureNode.getAssumptionNodes(),
1769
- terms = termsFromTermNodes(termNodes, context);
1770
-
1771
- return terms;
1772
- }
1773
-
1774
- export function assumptionsFromFrameNode(frameNode, context) {
1775
- const assumptionNodes = frameNode.getAssumptionNodes(),
1776
- assumptions = assumptionsFromAssumptionNodes(assumptionNodes, context);
1777
-
1778
- return assumptions;
1779
- }
1780
-
1781
- export function termsFromEquivalenceNode(equivalenceNode, context) {
1782
- const termNodes = equivalenceNode.getTermNodes(),
1783
- terms = termsFromTermNodes(termNodes, context);
1784
-
1785
- return terms;
1786
- }
1787
-
1788
- export function suppositionsFromSubproofNode(subproofNode, context) {
1789
- const suppositionNodes = subproofNode.getSuppositionNodes(),
1790
- suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
1791
-
1792
- return suppositions;
1793
- }
1794
-
1795
- export function parametersFromProcedureCallNode(procedureCallNode, context) {
1796
- const parameterNodes = procedureCallNode.getParameterNodes(),
1797
- parameters = parametersFromParameterNodes(parameterNodes, context);
1798
-
1799
- return parameters;
1800
- }
1631
+ export function stepsOrSubproofsFromDerivationNode(derivationNode, context) {
1632
+ const stepOrSubproofNodes = derivationNode.getStepOrSubproofNodes(),
1633
+ stepsOrSubproofs = stepOrSubproofNodes.map((stepOrSubproofNode) => {
1634
+ const stepOrSubproof = stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, context);
1801
1635
 
1802
- export function labelsFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1803
- const labelNodes = topLevelAsssertionNode.getLabelNodes(),
1804
- labels = labelsFromLabelNodes(labelNodes, context);
1636
+ return stepOrSubproof;
1637
+ });
1805
1638
 
1806
- return labels;
1639
+ return stepsOrSubproofs;
1807
1640
  }
1808
1641
 
1809
- export function statementsFromSubproofAssertionNode(subproofAssertionNode, context) {
1810
- const statementNodes = subproofAssertionNode.getStatementNodes(),
1811
- statements = statementsFromStatementNodes(statementNodes, context);
1812
-
1813
- return statements;
1814
- }
1642
+ export function stepsOrSubproofsFromSubDerivationNode(subDerivationNode, context) {
1643
+ const stepOrSubproofNodes = subDerivationNode.getStepOrSubproofNodes(),
1644
+ stepsOrSubproofs = stepOrSubproofNodes.map((stepOrSubproofNode) => {
1645
+ const stepOrSubproof = stepsOrSubproofFromStepOrSubproofNode(stepOrSubproofNode, context);
1815
1646
 
1816
- export function suppositionsFromTopLevelAssertionNode(topLevelAsssertionNode, context) {
1817
- const suppositionNodes = topLevelAsssertionNode.getSuppositionNodes(),
1818
- suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
1647
+ return stepOrSubproof;
1648
+ });
1819
1649
 
1820
- return suppositions;
1650
+ return stepsOrSubproofs;
1821
1651
  }
1822
1652
 
1823
- export function suppositionsFromTopLevelMetaAssertionNode(metaLemmaMetathoremNode, context) {
1824
- const suppositionNodes = metaLemmaMetathoremNode.getSuppositionNodes(),
1825
- suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context);
1826
-
1827
- return suppositions;
1828
- }