occam-verify-cli 0.0.1002 → 0.0.1005

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 (184) hide show
  1. package/README.md +0 -2
  2. package/bin/abbreviations.js +1 -3
  3. package/bin/action/help.js +0 -2
  4. package/bin/action/verify.js +4 -24
  5. package/bin/defaults.js +0 -2
  6. package/bin/main.js +3 -4
  7. package/bin/options.js +0 -2
  8. package/lib/assertion/subproof.js +106 -0
  9. package/lib/assignment/metavariable.js +2 -2
  10. package/lib/combinator.js +50 -16
  11. package/lib/conclusion.js +73 -14
  12. package/lib/context/file.js +191 -31
  13. package/lib/context/local.js +37 -49
  14. package/lib/context/release.js +42 -35
  15. package/lib/context/release.other.js +605 -0
  16. package/lib/declaration/combinator.js +83 -0
  17. package/lib/derivation.js +86 -0
  18. package/lib/equality.js +3 -11
  19. package/lib/index.js +1 -1
  20. package/lib/judgement.js +3 -10
  21. package/lib/label.js +58 -16
  22. package/lib/log.js +3 -11
  23. package/lib/metaType.js +31 -19
  24. package/lib/metavariable.js +39 -12
  25. package/lib/mixins/statement/qualified/unify.js +118 -0
  26. package/lib/mixins/statement/unify.js +57 -0
  27. package/lib/mixins/statement/verify.js +184 -0
  28. package/lib/node/statement/combinator/bracketed.js +15 -11
  29. package/lib/ocmbinator/bracketed.js +52 -8
  30. package/lib/premise.js +109 -56
  31. package/lib/proof.js +91 -0
  32. package/lib/proofStep.js +78 -25
  33. package/lib/reference.js +62 -16
  34. package/lib/rule.js +146 -26
  35. package/lib/ruleNames.js +5 -5
  36. package/lib/statement/qualified.js +127 -0
  37. package/lib/statement/unqualified.js +89 -0
  38. package/lib/statement.js +176 -0
  39. package/lib/subDerivation.js +86 -0
  40. package/lib/subproof.js +155 -0
  41. package/lib/substitution/frameForMetavariable.js +14 -15
  42. package/lib/substitution/statementForMetavariable.js +23 -24
  43. package/lib/substitution/termForVariable.js +11 -12
  44. package/lib/substitution.js +9 -2
  45. package/lib/substitutions.js +14 -14
  46. package/lib/supposition.js +92 -60
  47. package/lib/unifier/statementWithCombinator.js +3 -3
  48. package/lib/unify/metavariableWithFrame.js +2 -2
  49. package/lib/unify/metavariableWithStatement.js +2 -2
  50. package/lib/unify/metavariableWithStatementGivenSubstitution.js +2 -2
  51. package/lib/unify/variableWithTerm.js +2 -2
  52. package/lib/utilities/node.js +13 -11
  53. package/lib/utilities/releaseContext.js +3 -3
  54. package/lib/utilities/string.js +8 -2
  55. package/lib/utilities/subproof.js +5 -5
  56. package/lib/utilities/tokens.js +10 -10
  57. package/lib/variable.js +1 -10
  58. package/lib/verifier/metaLevel.js +2 -2
  59. package/lib/verifier/topLevel.js +5 -5
  60. package/lib/verify/axiom.js +3 -5
  61. package/lib/verify/conjecture.js +4 -7
  62. package/lib/verify/consequent.js +2 -3
  63. package/lib/verify/declaration/combinator.js +2 -14
  64. package/lib/verify/declaration/metavariable.js +9 -10
  65. package/lib/verify/files.js +4 -4
  66. package/lib/verify/frame.js +12 -12
  67. package/lib/verify/lemma.js +4 -7
  68. package/lib/verify/metaLemma.js +4 -7
  69. package/lib/verify/metatheorem.js +4 -7
  70. package/lib/verify/proofStep.js +2 -31
  71. package/lib/verify/theorem.js +4 -7
  72. package/package.json +4 -4
  73. package/src/assertion/subproof.js +84 -0
  74. package/src/assignment/metavariable.js +2 -2
  75. package/src/combinator.js +45 -15
  76. package/src/conclusion.js +83 -13
  77. package/src/context/file.js +223 -11
  78. package/src/context/local.js +12 -16
  79. package/src/context/release.js +57 -39
  80. package/src/context/release.other.js +547 -0
  81. package/src/declaration/combinator.js +44 -0
  82. package/src/derivation.js +50 -0
  83. package/src/equality.js +2 -9
  84. package/src/index.js +0 -1
  85. package/src/judgement.js +2 -8
  86. package/src/label.js +56 -13
  87. package/src/log.js +2 -9
  88. package/src/metaType.js +26 -14
  89. package/src/metavariable.js +57 -9
  90. package/src/mixins/statement/qualified/unify.js +186 -0
  91. package/src/mixins/statement/unify.js +70 -0
  92. package/src/mixins/statement/verify.js +274 -0
  93. package/src/node/statement/combinator/bracketed.js +4 -3
  94. package/src/ocmbinator/bracketed.js +15 -12
  95. package/src/premise.js +136 -44
  96. package/src/proof.js +58 -0
  97. package/src/proofStep.js +92 -22
  98. package/src/reference.js +58 -12
  99. package/src/rule.js +199 -30
  100. package/src/ruleNames.js +1 -1
  101. package/src/statement/qualified.js +104 -0
  102. package/src/statement/unqualified.js +60 -0
  103. package/src/statement.js +179 -0
  104. package/src/subDerivation.js +52 -0
  105. package/src/subproof.js +99 -0
  106. package/src/substitution/frameForMetavariable.js +20 -17
  107. package/src/substitution/statementForMetavariable.js +31 -29
  108. package/src/substitution/termForVariable.js +15 -14
  109. package/src/substitution.js +8 -0
  110. package/src/substitutions.js +12 -13
  111. package/src/supposition.js +94 -44
  112. package/src/unifier/statementWithCombinator.js +6 -3
  113. package/src/unify/metavariableWithFrame.js +1 -1
  114. package/src/unify/metavariableWithStatement.js +1 -1
  115. package/src/unify/metavariableWithStatementGivenSubstitution.js +1 -1
  116. package/src/unify/variableWithTerm.js +1 -1
  117. package/src/utilities/node.js +18 -12
  118. package/src/utilities/releaseContext.js +2 -2
  119. package/src/utilities/string.js +6 -2
  120. package/src/utilities/subproof.js +2 -2
  121. package/src/utilities/tokens.js +7 -7
  122. package/src/variable.js +0 -10
  123. package/src/verifier/metaLevel.js +3 -2
  124. package/src/verifier/topLevel.js +6 -4
  125. package/src/verify/axiom.js +1 -2
  126. package/src/verify/conjecture.js +2 -3
  127. package/src/verify/consequent.js +1 -1
  128. package/src/verify/declaration/combinator.js +0 -20
  129. package/src/verify/declaration/metavariable.js +8 -12
  130. package/src/verify/files.js +3 -3
  131. package/src/verify/frame.js +11 -11
  132. package/src/verify/lemma.js +2 -3
  133. package/src/verify/metaLemma.js +2 -3
  134. package/src/verify/metatheorem.js +2 -3
  135. package/src/verify/proofStep.js +0 -41
  136. package/src/verify/theorem.js +2 -3
  137. package/lib/tokens/combinatorStatement/bracketed.js +0 -17
  138. package/lib/unify/premiseWithProofStep.js +0 -41
  139. package/lib/unify/premisesWithProofSteps.js +0 -31
  140. package/lib/unify/qualifiedStatement.js +0 -136
  141. package/lib/unify/statementWithBracketedCombinator.js +0 -30
  142. package/lib/unify/statementWithCombinator.js +0 -29
  143. package/lib/unify/statementWithCombinators.js +0 -31
  144. package/lib/unify/statementWithMetaType.js +0 -24
  145. package/lib/verify/conclusion.js +0 -39
  146. package/lib/verify/derivation.js +0 -31
  147. package/lib/verify/label.js +0 -37
  148. package/lib/verify/labels.js +0 -28
  149. package/lib/verify/premise.js +0 -45
  150. package/lib/verify/premises.js +0 -28
  151. package/lib/verify/proof.js +0 -34
  152. package/lib/verify/rule.js +0 -56
  153. package/lib/verify/statement/qualified.js +0 -41
  154. package/lib/verify/statement/unqualified.js +0 -45
  155. package/lib/verify/statement.js +0 -219
  156. package/lib/verify/statementAsCombinator.js +0 -33
  157. package/lib/verify/statementGivenMetaType.js +0 -52
  158. package/lib/verify/subproof.js +0 -34
  159. package/lib/verify/supposition.js +0 -45
  160. package/lib/verify/suppositions.js +0 -28
  161. package/src/tokens/combinatorStatement/bracketed.js +0 -10
  162. package/src/unify/premiseWithProofStep.js +0 -54
  163. package/src/unify/premisesWithProofSteps.js +0 -23
  164. package/src/unify/qualifiedStatement.js +0 -208
  165. package/src/unify/statementWithBracketedCombinator.js +0 -22
  166. package/src/unify/statementWithCombinator.js +0 -22
  167. package/src/unify/statementWithCombinators.js +0 -23
  168. package/src/unify/statementWithMetaType.js +0 -14
  169. package/src/verify/conclusion.js +0 -40
  170. package/src/verify/derivation.js +0 -23
  171. package/src/verify/label.js +0 -34
  172. package/src/verify/labels.js +0 -17
  173. package/src/verify/premise.js +0 -49
  174. package/src/verify/premises.js +0 -17
  175. package/src/verify/proof.js +0 -31
  176. package/src/verify/rule.js +0 -71
  177. package/src/verify/statement/qualified.js +0 -40
  178. package/src/verify/statement/unqualified.js +0 -49
  179. package/src/verify/statement.js +0 -312
  180. package/src/verify/statementAsCombinator.js +0 -27
  181. package/src/verify/statementGivenMetaType.js +0 -52
  182. package/src/verify/subproof.js +0 -32
  183. package/src/verify/supposition.js +0 -49
  184. package/src/verify/suppositions.js +0 -17
@@ -23,7 +23,7 @@ function verifyFrame(frameNode, frames, stated, localContext) {
23
23
 
24
24
  const frameString = localContext.nodeAsString(frameNode);
25
25
 
26
- localContext.trace(`Verifying the '${frameString}' frame...`, frameNode);
26
+ localContext.trace(`Verifying the '${frameString}' frame...`);
27
27
 
28
28
  frameVerified = verifyFrameFunctions.some((verifyFrameFunction) => {
29
29
  const frameVerified = verifyFrameFunction(frameNode, frames, stated, localContext);
@@ -34,7 +34,7 @@ function verifyFrame(frameNode, frames, stated, localContext) {
34
34
  });
35
35
 
36
36
  if (frameVerified) {
37
- localContext.debug(`...verified the '${frameString}' frame.`, frameNode);
37
+ localContext.debug(`...verified the '${frameString}' frame.`);
38
38
  }
39
39
 
40
40
  return frameVerified;
@@ -52,7 +52,7 @@ function verifyDerivedFrame(frameNode, frames, stated, localContext) {
52
52
  if (!stated) {
53
53
  const frameString = localContext.nodeAsString(frameNode);
54
54
 
55
- localContext.trace(`Verifying the '${frameString}' derived frame...`, frameNode);
55
+ localContext.trace(`Verifying the '${frameString}' derived frame...`);
56
56
 
57
57
  const declarations = [],
58
58
  declarationNodes = declarationNodesQuery(frameNode),
@@ -84,7 +84,7 @@ function verifyDerivedFrame(frameNode, frames, stated, localContext) {
84
84
  }
85
85
 
86
86
  if (derivedFrameVerified) {
87
- localContext.debug(`...verified the '${frameString}' derived frame.`, frameNode);
87
+ localContext.debug(`...verified the '${frameString}' derived frame.`);
88
88
  }
89
89
  }
90
90
 
@@ -97,7 +97,7 @@ function verifyStatedFrame(frameNode, frames, stated, localContext) {
97
97
  if (stated) {
98
98
  const frameString = localContext.nodeAsString(frameNode);
99
99
 
100
- localContext.trace(`Verifying the '${frameString}' stated frame...`, frameNode);
100
+ localContext.trace(`Verifying the '${frameString}' stated frame...`);
101
101
 
102
102
  const declarationNodes = declarationNodesQuery(frameNode),
103
103
  declarationNodesLength = declarationNodes.length;
@@ -117,14 +117,14 @@ function verifyStatedFrame(frameNode, frames, stated, localContext) {
117
117
  statedFrameVerified = true;
118
118
  }
119
119
  } else {
120
- localContext.trace(`The '${frameString}' stated frame cannot have more than one metavariable.`, frameNode);
120
+ localContext.trace(`The '${frameString}' stated frame cannot have more than one metavariable.`);
121
121
  }
122
122
  } else {
123
- localContext.trace(`The '${frameString}' stated frame cannot have declarations.`, frameNode);
123
+ localContext.trace(`The '${frameString}' stated frame cannot have declarations.`);
124
124
  }
125
125
 
126
126
  if (statedFrameVerified) {
127
- localContext.debug(`...verified the '${frameString}' stated frame.`, frameNode);
127
+ localContext.debug(`...verified the '${frameString}' stated frame.`);
128
128
  }
129
129
  }
130
130
 
@@ -136,7 +136,7 @@ function verifyMetavariable(metavariableNode, declarations, localContext) {
136
136
 
137
137
  const metavariableString = localContext.nodeAsString(metavariableNode);
138
138
 
139
- localContext.trace(`Verifying the '${metavariableString}' metavariable...`, metavariableNode);
139
+ localContext.trace(`Verifying the '${metavariableString}' metavariable...`);
140
140
 
141
141
  const metaType = frameMetaType, ///
142
142
  metavariableVerifiedGivenMetaType = verifyMetavariableGivenMetaType(metavariableNode, metaType, localContext);
@@ -152,12 +152,12 @@ function verifyMetavariable(metavariableNode, declarations, localContext) {
152
152
 
153
153
  metavariableVerified = true;
154
154
  } else {
155
- localContext.trace(`There is no judgement for the '${metavariableString}' metavariable.`, metavariableNode);
155
+ localContext.trace(`There is no judgement for the '${metavariableString}' metavariable.`);
156
156
  }
157
157
  }
158
158
 
159
159
  if (metavariableVerified) {
160
- localContext.debug(`...verified the '${metavariableString}' metavariable.`, metavariableNode);
160
+ localContext.debug(`...verified the '${metavariableString}' metavariable.`);
161
161
  }
162
162
 
163
163
  return metavariableVerified;
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import Lemma from "../lemma";
4
- import verifyProof from "../verify/proof";
5
- import verifyLabels from "../verify/labels";
4
+ // import verifyProof from "../verify/proof";
6
5
  import LocalContext from "../context/local";
7
6
  import Substitutions from "../substitutions";
8
7
  import verifyConsequent from "../verify/consequent";
9
- import verifySuppositions from "../verify/suppositions";
8
+ // import verifySuppositions from "../verify/suppositions";
10
9
 
11
10
  import { first } from "../utilities/array";
12
11
  import { EMPTY_STRING } from "../constants";
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import MetaLemma from "../metaLemma";
4
- import verifyProof from "../verify/proof";
4
+ // import verifyProof from "../verify/proof";
5
5
  import LocalContext from "../context/local";
6
- import verifyLabels from "../verify/labels";
7
6
  import Substitutions from "../substitutions";
8
7
  import verifyConsequent from "../verify/consequent";
9
- import verifySuppositions from "../verify/suppositions";
8
+ // import verifySuppositions from "../verify/suppositions";
10
9
 
11
10
  import { first } from "../utilities/array";
12
11
  import { EMPTY_STRING } from "../constants";
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import verifyProof from "../verify/proof";
3
+ // import verifyProof from "../verify/proof";
4
4
  import Metatheorem from "../metatheorem";
5
- import verifyLabels from "../verify/labels";
6
5
  import LocalContext from "../context/local";
7
6
  import Substitutions from "../substitutions";
8
7
  import verifyConsequent from "../verify/consequent";
9
- import verifySuppositions from "../verify/suppositions";
8
+ // import verifySuppositions from "../verify/suppositions";
10
9
 
11
10
  import { first } from "../utilities/array";
12
11
  import { nodeQuery, nodesQuery } from "../utilities/query";
@@ -14,47 +14,6 @@ const subproofNodeQuery = nodeQuery("/proofStep|lastProofStep/subproof!"),
14
14
  unqualifiedStatementNodeQuery = nodeQuery("/proofStep|lastProofStep/unqualifiedStatement!");
15
15
 
16
16
  export default function verifyProofStep(proofStepNode, substitutions, localContext) {
17
- let proofStepVerified = false;
18
-
19
- const subproofNode = subproofNodeQuery(proofStepNode),
20
- qualifiedStatementNode = qualifiedStatementNodeQuery(proofStepNode),
21
- unqualifiedStatementNode = unqualifiedStatementNodeQuery(proofStepNode);
22
-
23
- let proofStep = null;
24
-
25
- if (false) {
26
- ///
27
- } else if (subproofNode !== null) {
28
- const subproofVerified = verifySubproof(subproofNode, substitutions, localContext);
29
-
30
- if (subproofVerified) {
31
- proofStep = ProofStep.fromSubproofNode(subproofNode);
32
- }
33
- } else if (qualifiedStatementNode !== null) {
34
- const qualifiedStatementVerified = verifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext);
35
-
36
- if (qualifiedStatementVerified) {
37
- const statementNode = statementNodeQuery(qualifiedStatementNode);
38
-
39
- proofStep = ProofStep.fromStatementNode(statementNode);
40
- }
41
- } else if (unqualifiedStatementNode !== null) {
42
- const unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, localContext);
43
-
44
- if (unqualifiedStatementVerified) {
45
- const statementNode = statementNodeQuery(unqualifiedStatementNode);
46
-
47
- proofStep = ProofStep.fromStatementNode(statementNode);
48
- }
49
- }
50
-
51
- if (proofStep !== null) {
52
- localContext.addProofStep(proofStep);
53
-
54
- proofStepVerified = true;
55
- }
56
-
57
- return proofStepVerified;
58
17
  }
59
18
 
60
19
  Object.assign(shim, {
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import Theorem from "../theorem";
4
- import verifyProof from "../verify/proof";
5
- import verifyLabels from "../verify/labels";
4
+ // import verifyProof from "../verify/proof";
6
5
  import LocalContext from "../context/local";
7
6
  import Substitutions from "../substitutions";
8
7
  import verifyConsequent from "../verify/consequent";
9
- import verifySuppositions from "../verify/suppositions";
8
+ // import verifySuppositions from "../verify/suppositions";
10
9
 
11
10
  import { first } from "../utilities/array";
12
11
  import { nodeQuery, nodesQuery } from "../utilities/query";
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _metaTypeNames = require("../../metaTypeNames");
12
- var _tokens = require("../../utilities/tokens");
13
- var bracketedCombinatorStatementString = "(".concat(_metaTypeNames.STATEMENT_META_TYPE_NAME, ")");
14
- var bracketedCombinatorStatementTokens = (0, _tokens.statementTokensFromStatementString)(bracketedCombinatorStatementString);
15
- var _default = bracketedCombinatorStatementTokens;
16
-
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbnMvY29tYmluYXRvclN0YXRlbWVudC9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi9tZXRhVHlwZU5hbWVzXCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy90b2tlbnNcIjtcblxuY29uc3QgYnJhY2tldGVkQ29tYmluYXRvclN0YXRlbWVudFN0cmluZyA9IGAoJHtTVEFURU1FTlRfTUVUQV9UWVBFX05BTUV9KWA7XG5cbmNvbnN0IGJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnRUb2tlbnMgPSBzdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKGJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnRTdHJpbmcpXG5cbmV4cG9ydCBkZWZhdWx0IGJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnRUb2tlbnM7XG4iXSwibmFtZXMiOlsiYnJhY2tldGVkQ29tYmluYXRvclN0YXRlbWVudFN0cmluZyIsIlNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSIsImJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnRUb2tlbnMiLCJzdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7Ozs2QkFQeUM7c0JBQ1U7QUFFbkQsSUFBTUEscUNBQXFDLEFBQUMsSUFBNEIsT0FBekJDLHVDQUF3QixFQUFDO0FBRXhFLElBQU1DLHFDQUFxQ0MsSUFBQUEsMENBQWtDLEVBQUNIO0lBRTlFLFdBQWVFIn0=
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyPremiseWithProofStep;
9
- }
10
- });
11
- var _subproof = require("../utilities/subproof");
12
- function unifyPremiseWithProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB) {
13
- var premiseUnified = false;
14
- var premiseAStatementNode = premiseA.getStatementNode();
15
- if (premiseAStatementNode !== null) {
16
- var proofStepBSubproofNode = proofStepB.getSubproofNode(), proofStepBStatementNode = proofStepB.getStatementNode(), subproofNodeB = proofStepBSubproofNode, statementNodeB = proofStepBStatementNode, statementNodeA = premiseAStatementNode, statementStringA = localContextA.nodeAsString(statementNodeA);
17
- substitutions.snapshot();
18
- if (subproofNodeB !== null) {
19
- var subproofStringB = (0, _subproof.subproofNodeAsSubproofString)(subproofNodeB, localContextB);
20
- localContextB.trace("Unifying the '".concat(subproofStringB, "' subproof with the premise's '").concat(statementStringA, "' statement..."), subproofNodeB);
21
- var subproofUnified = premiseA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
22
- if (subproofUnified) {
23
- localContextB.debug("...unified the '".concat(subproofStringB, "' subproof with the premise's '").concat(statementStringA, "' statement."), subproofNodeB);
24
- premiseUnified = true;
25
- }
26
- }
27
- if (statementNodeB !== null) {
28
- var statementStringB = localContextB.nodeAsString(statementNodeB);
29
- localContextB.trace("Unifying the '".concat(statementStringB, "' statement with the premise's '").concat(statementStringA, "' statement..."), statementNodeB);
30
- var statementUnified = premiseA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
31
- if (statementUnified) {
32
- localContextB.debug("...unified the '".concat(statementStringB, "' statement with the premise's '").concat(statementStringA, "' statement."), statementNodeB);
33
- premiseUnified = true;
34
- }
35
- }
36
- premiseUnified ? substitutions.continue() : substitutions.rollback(localContextA, localContextB);
37
- }
38
- return premiseUnified;
39
- }
40
-
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9wcmVtaXNlV2l0aFByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3VicHJvb2ZOb2RlQXNTdWJwcm9vZlN0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3VicHJvb2ZcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlQcmVtaXNlV2l0aFByb29mU3RlcChwcmVtaXNlQSwgcHJvb2ZTdGVwQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgcHJlbWlzZVVuaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBwcmVtaXNlQVN0YXRlbWVudE5vZGUgPSBwcmVtaXNlQS5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgaWYgKHByZW1pc2VBU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHByb29mU3RlcEJTdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXBCLmdldFN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIHByb29mU3RlcEJTdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwQi5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgc3VicHJvb2ZOb2RlQiA9IHByb29mU3RlcEJTdWJwcm9vZk5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGVCID0gcHJvb2ZTdGVwQlN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gcHJlbWlzZUFTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmdBID0gbG9jYWxDb250ZXh0QS5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZUEpXG5cbiAgICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZTdHJpbmdCID0gc3VicHJvb2ZOb2RlQXNTdWJwcm9vZlN0cmluZyhzdWJwcm9vZk5vZGVCLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nQn0nIHN1YnByb29mIHdpdGggdGhlIHByZW1pc2UncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllZCA9IHByZW1pc2VBLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdWJwcm9vZlVuaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmdCfScgc3VicHJvb2Ygd2l0aCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBwcmVtaXNlQS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHByZW1pc2VVbmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcmVtaXNlVW5pZmllZCA/XG4gICAgICBzdWJzdGl0dXRpb25zLmNvbnRpbnVlKCkgOlxuICAgICAgICBzdWJzdGl0dXRpb25zLnJvbGxiYWNrKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICB9XG5cbiAgcmV0dXJuIHByZW1pc2VVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UHJlbWlzZVdpdGhQcm9vZlN0ZXAiLCJwcmVtaXNlQSIsInByb29mU3RlcEIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJwcmVtaXNlVW5pZmllZCIsInByZW1pc2VBU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwicHJvb2ZTdGVwQlN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZk5vZGVCIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudFN0cmluZ0EiLCJub2RlQXNTdHJpbmciLCJzbmFwc2hvdCIsInN1YnByb29mU3RyaW5nQiIsInN1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmciLCJ0cmFjZSIsInN1YnByb29mVW5pZmllZCIsInVuaWZ5U3VicHJvb2YiLCJkZWJ1ZyIsInN0YXRlbWVudFN0cmluZ0IiLCJzdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlTdGF0ZW1lbnQiLCJjb250aW51ZSIsInJvbGxiYWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O3dCQUZxQjtBQUU5QixTQUFTQSwwQkFBMEJDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNqSCxJQUFJQyxpQkFBaUI7SUFFckIsSUFBTUMsd0JBQXdCTixTQUFTTyxnQkFBZ0I7SUFFdkQsSUFBSUQsMEJBQTBCLE1BQU07UUFDbEMsSUFBTUUseUJBQXlCUCxXQUFXUSxlQUFlLElBQ25EQywwQkFBMEJULFdBQVdNLGdCQUFnQixJQUNyREksZ0JBQWdCSCx3QkFDaEJJLGlCQUFpQkYseUJBQ2pCRyxpQkFBaUJQLHVCQUNqQlEsbUJBQW1CWCxjQUFjWSxZQUFZLENBQUNGO1FBRXBEWCxjQUFjYyxRQUFRO1FBRXRCLElBQUlMLGtCQUFrQixNQUFNO1lBQzFCLElBQU1NLGtCQUFrQkMsSUFBQUEsc0NBQTRCLEVBQUNQLGVBQWVQO1lBRXBFQSxjQUFjZSxLQUFLLENBQUMsQUFBQyxpQkFBaUVMLE9BQWpERyxpQkFBZ0IsbUNBQWtELE9BQWpCSCxrQkFBaUIsbUJBQWlCSDtZQUV4SCxJQUFNUyxrQkFBa0JwQixTQUFTcUIsYUFBYSxDQUFDVixlQUFlVCxlQUFlQyxlQUFlQztZQUU1RixJQUFJZ0IsaUJBQWlCO2dCQUNuQmhCLGNBQWNrQixLQUFLLENBQUMsQUFBQyxtQkFBbUVSLE9BQWpERyxpQkFBZ0IsbUNBQWtELE9BQWpCSCxrQkFBaUIsaUJBQWVIO2dCQUV4SE4saUJBQWlCO1lBQ25CO1FBQ0Y7UUFFQSxJQUFJTyxtQkFBbUIsTUFBTTtZQUMzQixJQUFNVyxtQkFBbUJuQixjQUFjVyxZQUFZLENBQUNIO1lBRXBEUixjQUFjZSxLQUFLLENBQUMsQUFBQyxpQkFBbUVMLE9BQW5EUyxrQkFBaUIsb0NBQW1ELE9BQWpCVCxrQkFBaUIsbUJBQWlCRjtZQUUxSCxJQUFNWSxtQkFBbUJ4QixTQUFTeUIsY0FBYyxDQUFDYixnQkFBZ0JWLGVBQWVDLGVBQWVDO1lBRS9GLElBQUlvQixrQkFBa0I7Z0JBQ3BCcEIsY0FBY2tCLEtBQUssQ0FBQyxBQUFDLG1CQUFxRVIsT0FBbkRTLGtCQUFpQixvQ0FBbUQsT0FBakJULGtCQUFpQixpQkFBZUY7Z0JBRTFIUCxpQkFBaUI7WUFDbkI7UUFDRjtRQUVBQSxpQkFDRUgsY0FBY3dCLFFBQVEsS0FDcEJ4QixjQUFjeUIsUUFBUSxDQUFDeEIsZUFBZUM7SUFDNUM7SUFFQSxPQUFPQztBQUNUIn0=
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyPremisesWithProofSteps;
9
- }
10
- });
11
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
12
- var _premiseWithProofStep = /*#__PURE__*/ _interop_require_default(require("../unify/premiseWithProofStep"));
13
- var _array = require("../utilities/array");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- function unifyPremisesWithProofSteps(premisesA, proofStepsB, substitutions, fileContextA, localContextB) {
20
- premisesA = (0, _array.reverse)(premisesA); ///
21
- proofStepsB = (0, _array.reverse)(proofStepsB); ///
22
- var premisesUnified = (0, _array.correlate)(premisesA, proofStepsB, function(premiseA, proofStepB) {
23
- var localContextA = _local.default.fromFileContext(fileContextA), premiseUnified = (0, _premiseWithProofStep.default)(premiseA, proofStepB, substitutions, localContextA, localContextB);
24
- if (premiseUnified) {
25
- return true;
26
- }
27
- });
28
- return premisesUnified;
29
- }
30
-
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9wcmVtaXNlc1dpdGhQcm9vZlN0ZXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdW5pZnlQcmVtaXNlV2l0aFByb29mU3RlcCBmcm9tIFwiLi4vdW5pZnkvcHJlbWlzZVdpdGhQcm9vZlN0ZXBcIjtcblxuaW1wb3J0IHsgcmV2ZXJzZSwgY29ycmVsYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVByZW1pc2VzV2l0aFByb29mU3RlcHMocHJlbWlzZXNBLCBwcm9vZlN0ZXBzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIHByZW1pc2VzQSA9IHJldmVyc2UocHJlbWlzZXNBKTsgLy8vXG5cbiAgcHJvb2ZTdGVwc0IgPSByZXZlcnNlKHByb29mU3RlcHNCKTsgLy8vXG5cbiAgY29uc3QgcHJlbWlzZXNVbmlmaWVkID0gY29ycmVsYXRlKHByZW1pc2VzQSwgcHJvb2ZTdGVwc0IsIChwcmVtaXNlQSwgcHJvb2ZTdGVwQikgPT4ge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB1bmlmeVByZW1pc2VXaXRoUHJvb2ZTdGVwKHByZW1pc2VBLCBwcm9vZlN0ZXBCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChwcmVtaXNlVW5pZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UHJlbWlzZXNXaXRoUHJvb2ZTdGVwcyIsInByZW1pc2VzQSIsInByb29mU3RlcHNCIiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJyZXZlcnNlIiwicHJlbWlzZXNVbmlmaWVkIiwiY29ycmVsYXRlIiwicHJlbWlzZUEiLCJwcm9vZlN0ZXBCIiwibG9jYWxDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInByZW1pc2VVbmlmaWVkIiwidW5pZnlQcmVtaXNlV2l0aFByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7Ozs0REFMQzsyRUFDYTtxQkFFSDs7Ozs7O0FBRXBCLFNBQVNBLDRCQUE0QkMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhO0lBQ3BISixZQUFZSyxJQUFBQSxjQUFPLEVBQUNMLFlBQVksR0FBRztJQUVuQ0MsY0FBY0ksSUFBQUEsY0FBTyxFQUFDSixjQUFjLEdBQUc7SUFFdkMsSUFBTUssa0JBQWtCQyxJQUFBQSxnQkFBUyxFQUFDUCxXQUFXQyxhQUFhLFNBQUNPLFVBQVVDO1FBQ25FLElBQU1DLGdCQUFnQkMsY0FBWSxDQUFDQyxlQUFlLENBQUNULGVBQzdDVSxpQkFBaUJDLElBQUFBLDZCQUF5QixFQUFDTixVQUFVQyxZQUFZUCxlQUFlUSxlQUFlTjtRQUVyRyxJQUFJUyxnQkFBZ0I7WUFDbEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPUDtBQUNUIn0=
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyQualifiedStatement;
9
- }
10
- });
11
- var _metavariable = /*#__PURE__*/ _interop_require_default(require("../unifier/metavariable"));
12
- var _statementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/statementForMetavariable"));
13
- var _query = require("../utilities/query");
14
- var _name = require("../utilities/name");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/reference/metavariable!");
21
- var unifyQualifiedStatementFunctions = [
22
- unifyQualifiedStatementAWithRule,
23
- unifyQualifiedStatementAWithAxiom,
24
- unifyQualifiedStatementAWithLemma,
25
- unifyQualifiedStatementAWithTheorem,
26
- unifyQualifiedStatementAWithConjecture,
27
- unifyQualifiedStatementAWithReference
28
- ];
29
- function unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
30
- var qualifiedStatementUnified;
31
- var qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
32
- localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement..."), qualifiedStatementNode);
33
- qualifiedStatementUnified = unifyQualifiedStatementFunctions.some(function(unifyQualifiedStatementFunction) {
34
- var qualifiedStatementUnified = unifyQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
35
- return qualifiedStatementUnified;
36
- });
37
- if (qualifiedStatementUnified) {
38
- localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement."), qualifiedStatementNode);
39
- }
40
- return qualifiedStatementUnified;
41
- }
42
- function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
43
- var qualifiedStatementUnifiedWithRule = false;
44
- var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), rule = localContext.findRuleByMetavariableNode(metavariableNode);
45
- if (rule !== null) {
46
- var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
47
- localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' rule..."), qualifiedStatementNode);
48
- var statementUnified = rule.unifyStatement(statementNode, localContext);
49
- qualifiedStatementUnifiedWithRule = statementUnified; ///
50
- if (qualifiedStatementUnifiedWithRule) {
51
- localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' rule."), qualifiedStatementNode);
52
- }
53
- }
54
- return qualifiedStatementUnifiedWithRule;
55
- }
56
- function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
57
- var qualifiedStatementUnifiedWithAxiom = false;
58
- var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
59
- if (axiom !== null) {
60
- var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
61
- localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' axiom..."), qualifiedStatementNode);
62
- var statementUnified = axiom.unifyStatement(statementNode, localContext);
63
- qualifiedStatementUnifiedWithAxiom = statementUnified; ///
64
- if (qualifiedStatementUnifiedWithAxiom) {
65
- localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' axiom."), qualifiedStatementNode);
66
- }
67
- }
68
- return qualifiedStatementUnifiedWithAxiom;
69
- }
70
- function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
71
- var qualifiedStatementUnifiedWithLemma = false;
72
- var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
73
- if (lemma !== null) {
74
- var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
75
- localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' lemma..."), qualifiedStatementNode);
76
- var statementUnified = lemma.unifyStatement(statementNode, localContext);
77
- qualifiedStatementUnifiedWithLemma = statementUnified; ///
78
- if (qualifiedStatementUnifiedWithLemma) {
79
- localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' lemma."), qualifiedStatementNode);
80
- }
81
- }
82
- return qualifiedStatementUnifiedWithLemma;
83
- }
84
- function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
85
- var qualifiedStatementUnifiedWithTheorem = false;
86
- var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
87
- if (theorem !== null) {
88
- var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
89
- localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' theorem..."), qualifiedStatementNode);
90
- var statementUnified = theorem.unifyStatement(statementNode, localContext);
91
- qualifiedStatementUnifiedWithTheorem = statementUnified; ///
92
- if (qualifiedStatementUnifiedWithTheorem) {
93
- localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' theorem."), qualifiedStatementNode);
94
- }
95
- }
96
- return qualifiedStatementUnifiedWithTheorem;
97
- }
98
- function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
99
- var qualifiedStatementUnifiedWithConjecture = false;
100
- var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
101
- if (conjecture !== null) {
102
- var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
103
- localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' conjecture..."), qualifiedStatementNode);
104
- var statementUnified = conjecture.unifyStatement(statementNode, localContext);
105
- qualifiedStatementUnifiedWithConjecture = statementUnified; ///
106
- if (qualifiedStatementUnifiedWithConjecture) {
107
- localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' conjecture."), qualifiedStatementNode);
108
- }
109
- }
110
- return qualifiedStatementUnifiedWithConjecture;
111
- }
112
- function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
113
- var qualifiedStatementUnifiedWithReference = false;
114
- var metavariableNode = metavariableNodeQuery(qualifiedStatementNode);
115
- var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
116
- if (metavariable !== null) {
117
- var statementNode = statementNodeQuery(qualifiedStatementNode), statementString = localContext.nodeAsString(statementNode), metavariableString = localContext.nodeAsString(metavariableNode);
118
- localContext.trace("Unifying the '".concat(statementString, "' qualified statement with the '").concat(metavariableString, "' reference..."), qualifiedStatementNode);
119
- var metavariableNodeA = metavariableNode; ///
120
- metavariableNode = metavariable.getNode();
121
- var metavariableNodeB = metavariableNode; ///
122
- var unified = _metavariable.default.unify(metavariableNodeA, metavariableNodeB, localContext);
123
- if (unified) {
124
- metavariableNode = metavariableNodeA; ///
125
- var statementForMetavariableSubstitution = _statementForMetavariable.default.fromStatementNodeAndMetavariableNode(statementNode, metavariableNode), substitution = statementForMetavariableSubstitution, localContextA = localContext, localContextB = localContext; ///
126
- substitutions.addSubstitution(substitution, localContextA, localContextB);
127
- qualifiedStatementUnifiedWithReference = true;
128
- }
129
- if (qualifiedStatementUnifiedWithReference) {
130
- localContext.debug("...unified the '".concat(statementString, "' qualified statement with the '").concat(metavariableString, "' reference."), qualifiedStatementNode);
131
- }
132
- }
133
- return qualifiedStatementUnifiedWithReference;
134
- }
135
-
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9xdWFsaWZpZWRTdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBtZXRhdmFyaWFibGVVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL21ldGF2YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9yZWZlcmVuY2UvbWV0YXZhcmlhYmxlIVwiKTtcblxuY29uc3QgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSxcbiAgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFRoZW9yZW0sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCA9IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkID0gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbihxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG4gIH0pO1xuXG4gIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50LmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgcnVsZSA9IGxvY2FsQ29udGV4dC5maW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBydWxlLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gcnVsZS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlID0gc3RhdGVtZW50VW5pZmllZDsgIC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJ1bGUuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aEF4aW9tKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGF4aW9tID0gbG9jYWxDb250ZXh0LmZpbmRBeGlvbUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAoYXhpb20gIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgYXhpb20uLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBheGlvbS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSA9IHN0YXRlbWVudFVuaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb20pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBheGlvbS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aExlbW1hKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobGVtbWEgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbGVtbWEuLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBsZW1tYS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSA9IHN0YXRlbWVudFVuaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWEpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBsZW1tYS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFRoZW9yZW0ocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0gPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICB0aGVvcmVtID0gbG9jYWxDb250ZXh0LmZpbmRUaGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmICh0aGVvcmVtICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHRoZW9yZW0uLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSB0aGVvcmVtLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyB0aGVvcmVtLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW07XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgY29uamVjdHVyZSA9IGxvY2FsQ29udGV4dC5maW5kQ29uamVjdHVyZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAoY29uamVjdHVyZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBjb25qZWN0dXJlLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gY29uamVjdHVyZS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlID0gc3RhdGVtZW50VW5pZmllZDsgLy8vXG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgY29uamVjdHVyZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UgPSBmYWxzZTtcblxuICBsZXQgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUEgPSBtZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGUuZ2V0Tm9kZSgpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUIgPSBtZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICAgIGNvbnN0IHVuaWZpZWQgPSBtZXRhdmFyaWFibGVVbmlmaWVyLnVuaWZ5KG1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhdmFyaWFibGVOb2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bmlmaWVkKSB7XG4gICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUE7IC8vL1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudE5vZGVBbmRNZXRhdmFyaWFibGVOb2RlKHN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMuYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyByZWZlcmVuY2UuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUnVsZSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhBeGlvbSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhUaGVvcmVtIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aENvbmplY3R1cmUiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkIiwicXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlIiwibWV0YXZhcmlhYmxlTm9kZSIsInJ1bGUiLCJmaW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudE5vZGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJzdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlTdGF0ZW1lbnQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tIiwiYXhpb20iLCJmaW5kQXhpb21CeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hIiwibGVtbWEiLCJmaW5kTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0iLCJ0aGVvcmVtIiwiZmluZFRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aENvbmplY3R1cmUiLCJjb25qZWN0dXJlIiwiZmluZENvbmplY3R1cmVCeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJlZmVyZW5jZSIsIm1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lIiwic3RhdGVtZW50U3RyaW5nIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJnZXROb2RlIiwibWV0YXZhcmlhYmxlTm9kZUIiLCJ1bmlmaWVkIiwibWV0YXZhcmlhYmxlVW5pZmllciIsInVuaWZ5Iiwic3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN0YXRlbWVudE5vZGVBbmRNZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0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
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyStatementWithBracketedCombinator;
9
- }
10
- });
11
- var _bracketed = /*#__PURE__*/ _interop_require_default(require("../ocmbinator/bracketed"));
12
- var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unifier/statementWithCombinator"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function unifyStatementWithBracketedCombinator(statementNode, assignments, stated, localContext) {
19
- var statementUnifiedWithBracketedCombinator;
20
- var statementString = localContext.nodeAsString(statementNode);
21
- localContext.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."), statementNode);
22
- var bracketedCombinatorStatementNode = _bracketed.default.getStatementNode();
23
- statementUnifiedWithBracketedCombinator = _statementWithCombinator.default.unify(statementNode, bracketedCombinatorStatementNode, assignments, stated, localContext);
24
- if (statementUnifiedWithBracketedCombinator) {
25
- localContext.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."), statementNode);
26
- }
27
- return statementUnifiedWithBracketedCombinator;
28
- }
29
-
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQnJhY2tldGVkQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3N0YXRlbWVudFdpdGhDb21iaW5hdG9yXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aEJyYWNrZXRlZENvbWJpbmF0b3I7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgYnJhY2tldGVkIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBicmFja2V0ZWRDb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZENvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gIHN0YXRlbWVudFVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciA9IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllci51bmlmeShzdGF0ZW1lbnROb2RlLCBicmFja2V0ZWRDb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgYnJhY2tldGVkIGNvbWJpbmF0b3IuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImJyYWNrZXRlZENvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXdCQTs7O2dFQUhROzhFQUNXOzs7Ozs7QUFFNUIsU0FBU0Esc0NBQXNDQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQzVHLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNOO0lBRWxERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxpQkFBZ0MsT0FBaEJGLGlCQUFnQixpREFBK0NMO0lBRW5HLElBQU1RLG1DQUFtQ0Msa0JBQW1CLENBQUNDLGdCQUFnQjtJQUU3RU4sMENBQTBDTyxnQ0FBOEIsQ0FBQ0MsS0FBSyxDQUFDWixlQUFlUSxrQ0FBa0NQLGFBQWFDLFFBQVFDO0lBRXJKLElBQUlDLHlDQUF5QztRQUMzQ0QsYUFBYVUsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCUixpQkFBZ0IsK0NBQTZDTDtJQUNyRztJQUVBLE9BQU9JO0FBQ1QifQ==
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyStatementWithCombinator;
9
- }
10
- });
11
- var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unifier/statementWithCombinator"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
18
- var statementUnifiedWithCombinator;
19
- var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
20
- localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
21
- var combinatorStatementNode = combinator.getStatementNode();
22
- statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
23
- if (statementUnifiedWithCombinator) {
24
- localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
25
- }
26
- return statementUnifiedWithCombinator;
27
- }
28
-
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzhFQUZtQjs7Ozs7O0FBRTVCLFNBQVNBLDZCQUE2QkMsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQy9HLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNQLGdCQUM1Q1EsbUJBQW1CUCxXQUFXUSxTQUFTO0lBRTdDTCxhQUFhTSxLQUFLLENBQUMsQUFBQyxpQkFBd0RGLE9BQXhDRixpQkFBZ0IsMEJBQXlDLE9BQWpCRSxrQkFBaUIsb0JBQWtCUjtJQUUvRyxJQUFNVywwQkFBMEJWLFdBQVdXLGdCQUFnQjtJQUUzRFAsaUNBQWlDUSxnQ0FBOEIsQ0FBQ0MsS0FBSyxDQUFDZCxlQUFlVyx5QkFBeUJULGFBQWFDLFFBQVFDO0lBRW5JLElBQUlDLGdDQUFnQztRQUNsQ0QsYUFBYVcsS0FBSyxDQUFDLEFBQUMsbUJBQTBEUCxPQUF4Q0YsaUJBQWdCLDBCQUF5QyxPQUFqQkUsa0JBQWlCLGtCQUFnQlI7SUFDakg7SUFFQSxPQUFPSztBQUNUIn0=
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyStatementWithCombinators;
9
- }
10
- });
11
- var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unify/statementWithCombinator"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function unifyStatementWithCombinators(statementNode, assignments, stated, localContext) {
18
- var statementUnifiedWithCombinators;
19
- var combinators = localContext.getCombinators();
20
- assignments = null; ///
21
- stated = true; ///
22
- statementUnifiedWithCombinators = combinators.some(function(combinator) {
23
- var statementUnifiedWithCombinator = (0, _statementWithCombinator.default)(statementNode, combinator, assignments, stated, localContext);
24
- if (statementUnifiedWithCombinator) {
25
- return true;
26
- }
27
- });
28
- return statementUnifiedWithCombinators;
29
- }
30
-
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9ycyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG5cbiAgY29uc3QgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gIHN0YXRlZCA9IHRydWU7ICAvLy9cblxuICBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzID0gY29tYmluYXRvcnMuc29tZSgoY29tYmluYXRvcikgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsInNvbWUiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozs4RUFGaUI7Ozs7OztBQUUxQixTQUFTQSw4QkFBOEJDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDcEcsSUFBSUM7SUFFSixJQUFNQyxjQUFjRixhQUFhRyxjQUFjO0lBRS9DTCxjQUFjLE1BQU0sR0FBRztJQUV2QkMsU0FBUyxNQUFPLEdBQUc7SUFFbkJFLGtDQUFrQ0MsWUFBWUUsSUFBSSxDQUFDLFNBQUNDO1FBQ2xELElBQU1DLGlDQUFpQ0MsSUFBQUEsZ0NBQTRCLEVBQUNWLGVBQWVRLFlBQVlQLGFBQWFDLFFBQVFDO1FBRXBILElBQUlNLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9MO0FBQ1QifQ==
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyStatementWithMetaType;
9
- }
10
- });
11
- var _statementGivenMetaType = /*#__PURE__*/ _interop_require_default(require("../verify/statementGivenMetaType"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function unifyStatementWithMetaType(statementNode, metaTypeNode, assignments, stated, localContext) {
18
- var statementUnifiedWithMetaType;
19
- var metaType = localContext.findMetaTypeByMetaTypeNode(metaTypeNode), statementVerifiedGivenMetaType = (0, _statementGivenMetaType.default)(statementNode, metaType, assignments, stated, localContext);
20
- statementUnifiedWithMetaType = statementVerifiedGivenMetaType; ///
21
- return statementUnifiedWithMetaType;
22
- }
23
-
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoTWV0YVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlIGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50R2l2ZW5NZXRhVHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhNZXRhVHlwZShzdGF0ZW1lbnROb2RlLCBtZXRhVHlwZU5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhNZXRhVHlwZTtcblxuICBjb25zdCBtZXRhVHlwZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTm9kZShtZXRhVHlwZU5vZGUpLFxuICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZEdpdmVuTWV0YVR5cGUgPSB2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlKHN0YXRlbWVudE5vZGUsIG1ldGFUeXBlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIHN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUgPSBzdGF0ZW1lbnRWZXJpZmllZEdpdmVuTWV0YVR5cGU7ICAvLy9cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhNZXRhVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeVN0YXRlbWVudFdpdGhNZXRhVHlwZSIsInN0YXRlbWVudE5vZGUiLCJtZXRhVHlwZU5vZGUiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUiLCJtZXRhVHlwZSIsImZpbmRNZXRhVHlwZUJ5TWV0YVR5cGVOb2RlIiwic3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlIiwidmVyaWZ5U3RhdGVtZW50R2l2ZW5NZXRhVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozs2RUFGaUI7Ozs7OztBQUUxQixTQUFTQSwyQkFBMkJDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUMvRyxJQUFJQztJQUVKLElBQU1DLFdBQVdGLGFBQWFHLDBCQUEwQixDQUFDTixlQUNuRE8saUNBQWlDQyxJQUFBQSwrQkFBNEIsRUFBQ1QsZUFBZU0sVUFBVUosYUFBYUMsUUFBUUM7SUFFbEhDLCtCQUErQkcsZ0NBQWlDLEdBQUc7SUFFbkUsT0FBT0g7QUFDVCJ9