occam-verify-cli 0.0.968 → 0.0.971

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 (145) hide show
  1. package/bin/action/verify.js +6 -8
  2. package/lib/constants.js +5 -1
  3. package/lib/context/file.js +48 -53
  4. package/lib/context/local.js +45 -39
  5. package/lib/context/release.js +3 -3
  6. package/lib/declaration.js +9 -7
  7. package/lib/equivalence.js +23 -21
  8. package/lib/judgement.js +3 -3
  9. package/lib/label.js +3 -3
  10. package/lib/log.js +3 -3
  11. package/lib/metaType.js +7 -7
  12. package/lib/metavariable.js +7 -7
  13. package/lib/node/term/bracketed.js +16 -0
  14. package/lib/proofStep.js +3 -29
  15. package/lib/releaseContext/initialise.js +11 -17
  16. package/lib/resolve/substitutions.js +99 -0
  17. package/lib/rule.js +10 -6
  18. package/lib/substitution/statementForMetavariable.js +93 -98
  19. package/lib/substitution/termForVariable.js +45 -54
  20. package/lib/substitution.js +51 -9
  21. package/lib/substitutions.js +165 -12
  22. package/lib/term.js +8 -1
  23. package/lib/topLevelAssertion.js +10 -6
  24. package/lib/type.js +5 -5
  25. package/lib/unifier/metaLevel.js +10 -3
  26. package/lib/unifier/statementWithCombinator.js +6 -6
  27. package/lib/unifier.js +2 -2
  28. package/lib/unify/metavariableWithStatement.js +13 -48
  29. package/lib/unify/metavariableWithStatementGivenSubstitution.js +39 -0
  30. package/lib/unify/premiseWithProofStep.js +3 -3
  31. package/lib/unify/statement/qualified.js +117 -0
  32. package/lib/unify/statement/unqualified.js +25 -0
  33. package/lib/unify/statementWithBracketedCombinator.js +3 -3
  34. package/lib/unify/statementWithCombinators.js +5 -5
  35. package/lib/unify/statementWithMetaType.js +3 -3
  36. package/lib/unify/statementWithSttaemetnGivenEquivalences.js +45 -0
  37. package/lib/unify/suppositionWithProffStep.js +3 -3
  38. package/lib/unify/variableWithTerm.js +11 -26
  39. package/lib/utilities/array.js +5 -14
  40. package/lib/utilities/assertion.js +24 -0
  41. package/lib/utilities/brackets.js +60 -0
  42. package/lib/utilities/message.js +52 -0
  43. package/lib/utilities/name.js +7 -7
  44. package/lib/utilities/node.js +10 -17
  45. package/lib/utilities/string.js +1 -7
  46. package/lib/utilities/subproof.js +19 -0
  47. package/lib/utilities/unify.js +30 -11
  48. package/lib/variable.js +8 -8
  49. package/lib/verifier/metaLevel.js +6 -6
  50. package/lib/verifier/statementAsCombinator.js +2 -2
  51. package/lib/verify/assertion/contained.js +66 -32
  52. package/lib/verify/assertion/defined.js +51 -46
  53. package/lib/verify/assertion/subproof.js +9 -9
  54. package/lib/verify/assertion/type.js +11 -11
  55. package/lib/verify/conclusion.js +6 -6
  56. package/lib/verify/consequent.js +6 -6
  57. package/lib/verify/declaration/metavariable.js +2 -2
  58. package/lib/verify/declaration.js +34 -20
  59. package/lib/verify/equality.js +13 -13
  60. package/lib/verify/frame.js +38 -24
  61. package/lib/verify/judgement.js +13 -13
  62. package/lib/verify/metavariable.js +2 -2
  63. package/lib/verify/premise.js +5 -5
  64. package/lib/verify/proofStep.js +15 -24
  65. package/lib/verify/statement/qualified.js +15 -124
  66. package/lib/verify/statement/unqualified.js +23 -24
  67. package/lib/verify/statement.js +24 -24
  68. package/lib/verify/statementGivenMetaType.js +3 -3
  69. package/lib/verify/supposition.js +5 -5
  70. package/package.json +2 -2
  71. package/src/constants.js +1 -0
  72. package/src/context/file.js +49 -55
  73. package/src/context/local.js +34 -31
  74. package/src/context/release.js +2 -2
  75. package/src/declaration.js +12 -10
  76. package/src/equivalence.js +27 -26
  77. package/src/judgement.js +2 -2
  78. package/src/label.js +2 -2
  79. package/src/log.js +1 -1
  80. package/src/metaType.js +7 -7
  81. package/src/metavariable.js +7 -7
  82. package/src/node/term/bracketed.js +9 -0
  83. package/src/proofStep.js +3 -48
  84. package/src/releaseContext/initialise.js +13 -24
  85. package/src/resolve/substitutions.js +134 -0
  86. package/src/rule.js +10 -5
  87. package/src/substitution/statementForMetavariable.js +99 -85
  88. package/src/substitution/termForVariable.js +50 -65
  89. package/src/substitution.js +46 -8
  90. package/src/substitutions.js +176 -10
  91. package/src/term.js +6 -0
  92. package/src/topLevelAssertion.js +10 -5
  93. package/src/type.js +4 -4
  94. package/src/unifier/metaLevel.js +11 -3
  95. package/src/unifier/statementWithCombinator.js +5 -5
  96. package/src/unifier.js +1 -1
  97. package/src/unify/metavariableWithStatement.js +17 -71
  98. package/src/unify/metavariableWithStatementGivenSubstitution.js +39 -0
  99. package/src/unify/premiseWithProofStep.js +1 -1
  100. package/src/unify/statement/qualified.js +183 -0
  101. package/src/unify/statement/unqualified.js +24 -0
  102. package/src/unify/statementWithBracketedCombinator.js +2 -2
  103. package/src/unify/statementWithCombinators.js +4 -4
  104. package/src/unify/statementWithMetaType.js +2 -2
  105. package/src/unify/statementWithSttaemetnGivenEquivalences.js +51 -0
  106. package/src/unify/suppositionWithProffStep.js +1 -1
  107. package/src/unify/variableWithTerm.js +14 -35
  108. package/src/utilities/array.js +1 -16
  109. package/src/utilities/assertion.js +19 -0
  110. package/src/utilities/brackets.js +56 -0
  111. package/src/utilities/name.js +8 -8
  112. package/src/utilities/node.js +14 -17
  113. package/src/utilities/string.js +2 -2
  114. package/src/utilities/subproof.js +18 -0
  115. package/src/utilities/unify.js +24 -12
  116. package/src/variable.js +11 -11
  117. package/src/verifier/metaLevel.js +5 -5
  118. package/src/verifier/statementAsCombinator.js +2 -2
  119. package/src/verify/assertion/contained.js +80 -38
  120. package/src/verify/assertion/defined.js +64 -55
  121. package/src/verify/assertion/subproof.js +8 -8
  122. package/src/verify/assertion/type.js +11 -11
  123. package/src/verify/conclusion.js +8 -8
  124. package/src/verify/consequent.js +8 -8
  125. package/src/verify/declaration/metavariable.js +4 -3
  126. package/src/verify/declaration.js +46 -23
  127. package/src/verify/equality.js +13 -13
  128. package/src/verify/frame.js +48 -28
  129. package/src/verify/judgement.js +13 -13
  130. package/src/verify/metavariable.js +3 -3
  131. package/src/verify/premise.js +6 -6
  132. package/src/verify/proofStep.js +14 -31
  133. package/src/verify/statement/qualified.js +18 -199
  134. package/src/verify/statement/unqualified.js +25 -31
  135. package/src/verify/statement.js +23 -23
  136. package/src/verify/statementGivenMetaType.js +2 -2
  137. package/src/verify/supposition.js +6 -6
  138. package/lib/unify/statementAtainstStatement.js +0 -49
  139. package/lib/utilities/lineIndex.js +0 -52
  140. package/lib/utilities/match.js +0 -59
  141. package/lib/utilities/verify.js +0 -19
  142. package/src/unify/statementAtainstStatement.js +0 -56
  143. package/src/utilities/match.js +0 -53
  144. package/src/utilities/verify.js +0 -14
  145. /package/src/utilities/{lineIndex.js → message.js} +0 -0
@@ -1,35 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  import verifyStatement from "../../verify/statement";
4
+ import unifyQualifiedStatement from "../../unify/statement/qualified";
4
5
 
5
6
  import { nodeQuery } from "../../utilities/query";
7
+ import { assignAssignments } from "../../utilities/assignments";
6
8
 
7
- const statementNodeQuery = nodeQuery("/qualifiedStatement/statement!"),
8
- metavariableNodeQuery = nodeQuery("/qualifiedStatement/reference/metavariable!");
9
+ const statementNodeQuery = nodeQuery("/qualifiedStatement/statement!");
9
10
 
10
- const unifyDerivedQualifiedStatementFunctions = [
11
- unifyDerivedQualifiedStatementAWithRule,
12
- unifyDerivedQualifiedStatementAWithAxiom,
13
- unifyDerivedQualifiedStatementAWithLemma,
14
- unifyDerivedQualifiedStatementAWithTheorem,
15
- unifyDerivedQualifiedStatementAWithConjecture,
16
- unifyDerivedQualifiedStatementAWithReference
17
- ];
18
-
19
- export default function verifyQualifiedStatement(qualifiedStatementNode, substitutions, assignments, derived, localContext) {
20
- let qualifiedStatementVerified;
11
+ export default function verifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
12
+ let qualifiedStatementVerified = false;
21
13
 
22
14
  const qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
23
15
 
24
16
  localContext.trace(`Verifying the '${qualifiedStatementString}' qualified statement...`, qualifiedStatementNode);
25
17
 
26
- const statementNode = statementNodeQuery(qualifiedStatementNode),
27
- statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
18
+ if (!qualifiedStatementVerified) {
19
+ const stated = true,
20
+ assignments = [],
21
+ statementNode = statementNodeQuery(qualifiedStatementNode),
22
+ statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
23
+
24
+ if (statementVerified) {
25
+ const qualifiedStatementUnified = unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext);
28
26
 
29
- if (statementVerified) {
30
- const derivedQualifiedStatementUnified = unifyDerivedQualifiedStatement(qualifiedStatementNode, substitutions, localContext);
27
+ if (qualifiedStatementUnified) {
28
+ const assignmentsAssigned = assignAssignments(assignments, localContext);
31
29
 
32
- qualifiedStatementVerified = derivedQualifiedStatementUnified; ///
30
+ qualifiedStatementVerified = assignmentsAssigned; ///
31
+ }
32
+ }
33
33
  }
34
34
 
35
35
  if (qualifiedStatementVerified) {
@@ -38,184 +38,3 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, substit
38
38
 
39
39
  return qualifiedStatementVerified;
40
40
  }
41
-
42
- function unifyDerivedQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
43
- let derivedQualifiedStatementUnified;
44
-
45
- const qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
46
-
47
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement...`, qualifiedStatementNode);
48
-
49
- derivedQualifiedStatementUnified = unifyDerivedQualifiedStatementFunctions.some((unifyDerivedQualifiedStatementFunction) => {
50
- const derivedQualifiedStatementUnified = unifyDerivedQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
51
-
52
- return derivedQualifiedStatementUnified;
53
- });
54
-
55
- if (derivedQualifiedStatementUnified) {
56
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement.`, qualifiedStatementNode);
57
- }
58
-
59
- return derivedQualifiedStatementUnified;
60
- }
61
-
62
- function unifyDerivedQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
63
- let derivedQualifiedStatementUnifiedWithRule = false;
64
-
65
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
66
- rule = localContext.findRuleByMetavariableNode(metavariableNode);
67
-
68
- if (rule !== null) {
69
- const statementNode = statementNodeQuery(qualifiedStatementNode),
70
- metavariableString = localContext.nodeAsString(metavariableNode),
71
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
72
-
73
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' rule...`, qualifiedStatementNode);
74
-
75
- const statementUnified = rule.unifyStatement(statementNode, localContext);
76
-
77
- derivedQualifiedStatementUnifiedWithRule = statementUnified; ///
78
-
79
- if (derivedQualifiedStatementUnifiedWithRule) {
80
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' rule.`, qualifiedStatementNode);
81
- }
82
- }
83
-
84
- return derivedQualifiedStatementUnifiedWithRule;
85
- }
86
-
87
- function unifyDerivedQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
88
- let derivedQualifiedStatementUnifiedWithAxiom = false;
89
-
90
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
91
- axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
92
-
93
- if (axiom !== null) {
94
- const statementNode = statementNodeQuery(qualifiedStatementNode),
95
- metavariableString = localContext.nodeAsString(metavariableNode),
96
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
97
-
98
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' axiom...`, qualifiedStatementNode);
99
-
100
- const statementUnified = axiom.unifyStatement(statementNode, localContext);
101
-
102
- derivedQualifiedStatementUnifiedWithAxiom = statementUnified; ///
103
-
104
- if (derivedQualifiedStatementUnifiedWithAxiom) {
105
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' axiom.`, qualifiedStatementNode);
106
- }
107
- }
108
-
109
- return derivedQualifiedStatementUnifiedWithAxiom;
110
- }
111
-
112
- function unifyDerivedQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
113
- let derivedQualifiedStatementUnifiedWithLemma = false;
114
-
115
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
116
- lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
117
-
118
- if (lemma !== null) {
119
- const statementNode = statementNodeQuery(qualifiedStatementNode),
120
- metavariableString = localContext.nodeAsString(metavariableNode),
121
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
122
-
123
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' lemma...`, qualifiedStatementNode);
124
-
125
- const statementUnified = lemma.unifyStatement(statementNode, localContext);
126
-
127
- derivedQualifiedStatementUnifiedWithLemma = statementUnified; ///
128
-
129
- if (derivedQualifiedStatementUnifiedWithLemma) {
130
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' lemma.`, qualifiedStatementNode);
131
- }
132
- }
133
-
134
- return derivedQualifiedStatementUnifiedWithLemma;
135
- }
136
-
137
- function unifyDerivedQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
138
- let derivedQualifiedStatementUnifiedWithTheorem = false;
139
-
140
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
141
- theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
142
-
143
- if (theorem !== null) {
144
- const statementNode = statementNodeQuery(qualifiedStatementNode),
145
- metavariableString = localContext.nodeAsString(metavariableNode),
146
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
147
-
148
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' theorem...`, qualifiedStatementNode);
149
-
150
- const statementUnified = theorem.unifyStatement(statementNode, localContext);
151
-
152
- derivedQualifiedStatementUnifiedWithTheorem = statementUnified; ///
153
-
154
- if (derivedQualifiedStatementUnifiedWithTheorem) {
155
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' theorem.`, qualifiedStatementNode);
156
- }
157
- }
158
-
159
- return derivedQualifiedStatementUnifiedWithTheorem;
160
- }
161
-
162
- function unifyDerivedQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
163
- let derivedQualifiedStatementUnifiedWithConjecture = false;
164
-
165
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
166
- conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
167
-
168
- if (conjecture !== null) {
169
- const statementNode = statementNodeQuery(qualifiedStatementNode),
170
- metavariableString = localContext.nodeAsString(metavariableNode),
171
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
172
-
173
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' conjecture...`, qualifiedStatementNode);
174
-
175
- const statementUnified = conjecture.unifyStatement(statementNode, localContext);
176
-
177
- derivedQualifiedStatementUnifiedWithConjecture = statementUnified; ///
178
-
179
- if (derivedQualifiedStatementUnifiedWithConjecture) {
180
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' conjecture.`, qualifiedStatementNode);
181
- }
182
- }
183
-
184
- return derivedQualifiedStatementUnifiedWithConjecture;
185
- }
186
-
187
- function unifyDerivedQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
188
- let derivedQualifiedStatementUnifiedWithReference = false;
189
-
190
- const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
191
- metavariableString = localContext.nodeAsString(metavariableNode),
192
- metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode),
193
- qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
194
-
195
- localContext.trace(`Unifying the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' reference...`, qualifiedStatementNode);
196
-
197
- if (metavariablePresent) {
198
-
199
- debugger
200
-
201
- // const statementNode = statementNodeQuery(qualifiedStatementNode),
202
- // localContextA = null,
203
- // localContextB = localContext, ///
204
- // statementNodeB = statementNode, ///
205
- // substitutionNodeA = null,
206
- // metavariableNodeA = metavariableNode, ///
207
- // metavariableUnifiedWithStatement = unifyMetavariableWithStatement(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB, () => {
208
- // const verifiedAhead = true;
209
- //
210
- // return verifiedAhead;
211
- // });
212
- //
213
- // derivedQualifiedStatementUnifiedWithReference = metavariableUnifiedWithStatement; ///
214
- }
215
-
216
- if (derivedQualifiedStatementUnifiedWithReference) {
217
- localContext.debug(`...unified the '${qualifiedStatementString}' derived qualified statement with the '${metavariableString}' reference.`, qualifiedStatementNode);
218
- }
219
-
220
- return derivedQualifiedStatementUnifiedWithReference;
221
- }
@@ -1,35 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  import verifyStatement from "../../verify/statement";
4
+ import unifyUnqualifiedStatement from "../../unify/statement/unqualified";
4
5
 
5
6
  import { nodeQuery } from "../../utilities/query";
7
+ import { assignAssignments } from "../../utilities/assignments";
6
8
  import { verifyStatementTrivially } from "../../verify/statement";
7
9
 
8
10
  const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!");
9
11
 
10
- export default function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext) {
11
- let unqualifiedStatementVerified;
12
+ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, localContext) {
13
+ let unqualifiedStatementVerified = false;
12
14
 
13
15
  const unqualifiedStatementString = localContext.nodeAsString(unqualifiedStatementNode);
14
16
 
15
17
  localContext.trace(`Verifying the '${unqualifiedStatementString}' unqualified statement...`, unqualifiedStatementNode);
16
18
 
17
- const statementNode = statementNodeQuery(unqualifiedStatementNode),
18
- statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
19
+ if (!unqualifiedStatementVerified) {
20
+ const stated = true,
21
+ assignments = [],
22
+ statementNode = statementNodeQuery(unqualifiedStatementNode),
23
+ statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
19
24
 
20
- if (statementVerified) {
21
- if (derived) {
25
+ if (statementVerified) {
26
+ const unqualifiedStatementUnified = unifyUnqualifiedStatement(unqualifiedStatementNode, localContext);
27
+
28
+ unqualifiedStatementVerified = unqualifiedStatementUnified; ///
29
+ }
30
+ }
31
+
32
+ if (!unqualifiedStatementVerified) {
33
+ const stated = false,
34
+ assignments = [],
35
+ statementNode = statementNodeQuery(unqualifiedStatementNode),
36
+ statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
37
+
38
+ if (statementVerified) {
22
39
  const statementVerifiedTrivially = verifyStatementTrivially(statementNode, localContext);
23
40
 
24
41
  if (statementVerifiedTrivially) {
25
- unqualifiedStatementVerified = true;
26
- } else {
27
- const derivedUnqualifiedStatementUnified = unifyDerivedUnqualifiedStatement(unqualifiedStatementNode, localContext);
42
+ const assignmentsAssigned = assignAssignments(assignments, localContext);
28
43
 
29
- unqualifiedStatementVerified = derivedUnqualifiedStatementUnified; ///
44
+ unqualifiedStatementVerified = assignmentsAssigned; ///
30
45
  }
31
- } else {
32
- unqualifiedStatementVerified = true;
33
46
  }
34
47
  }
35
48
 
@@ -39,22 +52,3 @@ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, ass
39
52
 
40
53
  return unqualifiedStatementVerified;
41
54
  }
42
-
43
- function unifyDerivedUnqualifiedStatement(unqualifiedStatementNode, localContext) {
44
- let derivedUnqualifiedStatementUnified;
45
-
46
- const unqualifiedStatementString = localContext.nodeAsString(unqualifiedStatementNode);
47
-
48
- localContext.trace(`Unifying the '${unqualifiedStatementString}' derived unqualified statement...`, unqualifiedStatementNode);
49
-
50
- const statementNode = statementNodeQuery(unqualifiedStatementNode),
51
- statementUnified = localContext.unifyStatement(statementNode, localContext);
52
-
53
- derivedUnqualifiedStatementUnified = statementUnified; ///
54
-
55
- if (derivedUnqualifiedStatementUnified) {
56
- localContext.debug(`...unified the '${unqualifiedStatementString}' derived unqualified statement.`, unqualifiedStatementNode);
57
- }
58
-
59
- return derivedUnqualifiedStatementUnified;
60
- }
@@ -41,7 +41,7 @@ const unifyStatementFunctions = [
41
41
  verifyStatementAsContainedAssertion
42
42
  ];
43
43
 
44
- function verifyStatement(statementNode, assignments, derived, localContext) {
44
+ function verifyStatement(statementNode, assignments, stated, localContext) {
45
45
  let statementVerified = false;
46
46
 
47
47
  const statementString = localContext.nodeAsString(statementNode);
@@ -49,14 +49,14 @@ function verifyStatement(statementNode, assignments, derived, localContext) {
49
49
  localContext.trace(`Verifying the '${statementString}' statement...`, statementNode);
50
50
 
51
51
  if (!statementVerified) {
52
- const statementVerifiedAsMetavariable = verifyStatementAsMetavariable(statementNode, assignments, derived, localContext);
52
+ const statementVerifiedAsMetavariable = verifyStatementAsMetavariable(statementNode, assignments, stated, localContext);
53
53
 
54
54
  statementVerified = statementVerifiedAsMetavariable; ///
55
55
  }
56
56
 
57
57
  if (!statementVerified) {
58
58
  const statementUnified = unifyStatementFunctions.some((unifyStatementFunction) => {
59
- const statementUnified = unifyStatementFunction(statementNode, assignments, derived, localContext);
59
+ const statementUnified = unifyStatementFunction(statementNode, assignments, stated, localContext);
60
60
 
61
61
  if (statementUnified) {
62
62
  return true;
@@ -68,7 +68,7 @@ function verifyStatement(statementNode, assignments, derived, localContext) {
68
68
 
69
69
  if (!statementVerified) {
70
70
  statementVerified = verifyStatementFunctions.some((verifyStatementFunction) => {
71
- const statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
71
+ const statementVerified = verifyStatementFunction(statementNode, assignments, stated, localContext);
72
72
 
73
73
  if (statementVerified) {
74
74
  return true;
@@ -113,7 +113,7 @@ export function verifyStatementTrivially(statementNode, localContext) {
113
113
  return statementVerifiedTrivially;
114
114
  }
115
115
 
116
- function verifyStatementAsMetavariable(statementNode, assignments, derived, localContext) {
116
+ function verifyStatementAsMetavariable(statementNode, assignments, stated, localContext) {
117
117
  let statementVerifiedAsMetavariable = false;
118
118
 
119
119
  const metavariableNode = metavariableNodeQuery(statementNode);
@@ -135,7 +135,7 @@ function verifyStatementAsMetavariable(statementNode, assignments, derived, loca
135
135
  return statementVerifiedAsMetavariable;
136
136
  }
137
137
 
138
- function verifyStatementAsEquality(statementNode, assignments, derived, localContext) {
138
+ function verifyStatementAsEquality(statementNode, assignments, stated, localContext) {
139
139
  let statementVerifiedAsEquality = false;
140
140
 
141
141
  const equalityNode = equalityNodeQuery(statementNode);
@@ -145,7 +145,7 @@ function verifyStatementAsEquality(statementNode, assignments, derived, localCon
145
145
 
146
146
  localContext.trace(`Verifying the '${statementString}' statement as an equality...`, statementNode);
147
147
 
148
- const equalityVerified = verifyEquality(equalityNode, assignments, derived, localContext);
148
+ const equalityVerified = verifyEquality(equalityNode, assignments, stated, localContext);
149
149
 
150
150
  statementVerifiedAsEquality = equalityVerified; ///
151
151
 
@@ -157,7 +157,7 @@ function verifyStatementAsEquality(statementNode, assignments, derived, localCon
157
157
  return statementVerifiedAsEquality;
158
158
  }
159
159
 
160
- function verifyStatementAsFrame(statementNode, assignments, derived, localContext) {
160
+ function verifyStatementAsFrame(statementNode, assignments, stated, localContext) {
161
161
  let statementVerifiedAsFrame = false;
162
162
 
163
163
  const frameNode = frameNodeQuery(statementNode);
@@ -167,7 +167,7 @@ function verifyStatementAsFrame(statementNode, assignments, derived, localContex
167
167
 
168
168
  localContext.trace(`Verifying the '${statementString}' statement as a frame...`, statementNode);
169
169
 
170
- const frameVerified = verifyFrame(frameNode, assignments, derived, localContext);
170
+ const frameVerified = verifyFrame(frameNode, assignments, stated, localContext);
171
171
 
172
172
  statementVerifiedAsFrame = frameVerified; ///
173
173
 
@@ -179,7 +179,7 @@ function verifyStatementAsFrame(statementNode, assignments, derived, localContex
179
179
  return statementVerifiedAsFrame;
180
180
  }
181
181
 
182
- function verifyStatementAsJudgement(statementNode, assignments, derived, localContext) {
182
+ function verifyStatementAsJudgement(statementNode, assignments, stated, localContext) {
183
183
  let statementVerifiedAsJudgement = false;
184
184
 
185
185
  const judgementNode = judgementNodeQuery(statementNode);
@@ -189,7 +189,7 @@ function verifyStatementAsJudgement(statementNode, assignments, derived, localCo
189
189
 
190
190
  localContext.trace(`Verifying the '${statementString}' statement as a judgement...`, statementNode);
191
191
 
192
- const judgementVerified = verifyJudgement(judgementNode, assignments, derived, localContext);
192
+ const judgementVerified = verifyJudgement(judgementNode, assignments, stated, localContext);
193
193
 
194
194
  statementVerifiedAsJudgement = judgementVerified; ///
195
195
 
@@ -201,7 +201,7 @@ function verifyStatementAsJudgement(statementNode, assignments, derived, localCo
201
201
  return statementVerifiedAsJudgement;
202
202
  }
203
203
 
204
- function verifyStatementAsDeclaration(statementNode, assignments, derived, localContext) {
204
+ function verifyStatementAsDeclaration(statementNode, assignments, stated, localContext) {
205
205
  let statementVerifiedAsDeclaration = false;
206
206
 
207
207
  const declarationNode = declarationNodeQuery(statementNode);
@@ -211,7 +211,7 @@ function verifyStatementAsDeclaration(statementNode, assignments, derived, local
211
211
 
212
212
  localContext.trace(`Verifying the '${statementString}' statement as a declaration...`, statementNode);
213
213
 
214
- const declarationVerified = verifyDeclaration(declarationNode, assignments, derived, localContext);
214
+ const declarationVerified = verifyDeclaration(declarationNode, assignments, stated, localContext);
215
215
 
216
216
  statementVerifiedAsDeclaration = declarationVerified; ///
217
217
 
@@ -223,7 +223,7 @@ function verifyStatementAsDeclaration(statementNode, assignments, derived, local
223
223
  return statementVerifiedAsDeclaration;
224
224
  }
225
225
 
226
- function verifyStatementAsSubstitution(statementNode, assignments, derived, localContext) {
226
+ function verifyStatementAsSubstitution(statementNode, assignments, stated, localContext) {
227
227
  let statementVerifiedAsSubstitution = false;
228
228
 
229
229
  const substitutionNode = substitutionNodeQuery(statementNode);
@@ -233,7 +233,7 @@ function verifyStatementAsSubstitution(statementNode, assignments, derived, loca
233
233
 
234
234
  localContext.trace(`Verifying the '${statementString}' statement as a substitution...`, statementNode);
235
235
 
236
- const substitutionVerified = verifySubstitution(substitutionNode, assignments, derived, localContext);
236
+ const substitutionVerified = verifySubstitution(substitutionNode, assignments, stated, localContext);
237
237
 
238
238
  statementVerifiedAsSubstitution = substitutionVerified; ///
239
239
 
@@ -245,7 +245,7 @@ function verifyStatementAsSubstitution(statementNode, assignments, derived, loca
245
245
  return statementVerifiedAsSubstitution;
246
246
  }
247
247
 
248
- function verifyStatementAsTypeAssertion(statementNode, assignments, derived, localContext) {
248
+ function verifyStatementAsTypeAssertion(statementNode, assignments, stated, localContext) {
249
249
  let statementVerifiedAsTypeAssertion = false;
250
250
 
251
251
  const typeAssertionNode = typeAssertionNodeQuery(statementNode);
@@ -255,7 +255,7 @@ function verifyStatementAsTypeAssertion(statementNode, assignments, derived, loc
255
255
 
256
256
  localContext.trace(`Verifying the '${statementString}' statement as a type assertion...`, statementNode);
257
257
 
258
- const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assignments, derived, localContext);
258
+ const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assignments, stated, localContext);
259
259
 
260
260
  statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
261
261
 
@@ -267,7 +267,7 @@ function verifyStatementAsTypeAssertion(statementNode, assignments, derived, loc
267
267
  return statementVerifiedAsTypeAssertion;
268
268
  }
269
269
 
270
- function verifyStatementAsDefinedAssertion(statementNode, assignments, derived, localContext) {
270
+ function verifyStatementAsDefinedAssertion(statementNode, assignments, stated, localContext) {
271
271
  let statementVerifiedAsDefinedAssertion = false;
272
272
 
273
273
  const definedAssertionNode = definedAssertionNodeQuery(statementNode);
@@ -277,7 +277,7 @@ function verifyStatementAsDefinedAssertion(statementNode, assignments, derived,
277
277
 
278
278
  localContext.trace(`Verifying the '${statementString}' statement as a defined assertion...`, statementNode);
279
279
 
280
- const definedAssertionVerified = verifyDefinedAssertion(definedAssertionNode, assignments, derived, localContext);
280
+ const definedAssertionVerified = verifyDefinedAssertion(definedAssertionNode, assignments, stated, localContext);
281
281
 
282
282
  statementVerifiedAsDefinedAssertion = definedAssertionVerified; ///
283
283
 
@@ -289,7 +289,7 @@ function verifyStatementAsDefinedAssertion(statementNode, assignments, derived,
289
289
  return statementVerifiedAsDefinedAssertion;
290
290
  }
291
291
 
292
- function verifyStatementAsSubproofAssertion(statementNode, assignments, derived, localContext) {
292
+ function verifyStatementAsSubproofAssertion(statementNode, assignments, stated, localContext) {
293
293
  let statementVerifiedAsSubproofAssertion = false;
294
294
 
295
295
  const subproofAssertionNode = subproofAssertionNodeQuery(statementNode);
@@ -299,7 +299,7 @@ function verifyStatementAsSubproofAssertion(statementNode, assignments, derived,
299
299
 
300
300
  localContext.trace(`Verifying the '${statementString}' statement as a subproof assertion...`, statementNode);
301
301
 
302
- const subproofAssertionVerified = verifySubproofAssertion(subproofAssertionNode, assignments, derived, localContext);
302
+ const subproofAssertionVerified = verifySubproofAssertion(subproofAssertionNode, assignments, stated, localContext);
303
303
 
304
304
  statementVerifiedAsSubproofAssertion = subproofAssertionVerified; ///
305
305
 
@@ -311,7 +311,7 @@ function verifyStatementAsSubproofAssertion(statementNode, assignments, derived,
311
311
  return statementVerifiedAsSubproofAssertion;
312
312
  }
313
313
 
314
- function verifyStatementAsContainedAssertion(statementNode, assignments, derived, localContext) {
314
+ function verifyStatementAsContainedAssertion(statementNode, assignments, stated, localContext) {
315
315
  let statementVerifiedAsContainedAssertion = false;
316
316
 
317
317
  const containedAssertionNode = containedAssertionNodeQuery(statementNode);
@@ -321,7 +321,7 @@ function verifyStatementAsContainedAssertion(statementNode, assignments, derived
321
321
 
322
322
  localContext.trace(`Verifying the '${statementString}' statement as a contained assertion...`, statementNode);
323
323
 
324
- const containedAssertionVerified = verifyContainedAssertion(containedAssertionNode, assignments, derived, localContext);
324
+ const containedAssertionVerified = verifyContainedAssertion(containedAssertionNode, assignments, stated, localContext);
325
325
 
326
326
  statementVerifiedAsContainedAssertion = containedAssertionVerified; ///
327
327
 
@@ -7,7 +7,7 @@ import { FRAME_META_TYPE_NAME, REFERENCE_META_TYPE_NAME, STATEMENT_META_TYPE_NAM
7
7
 
8
8
  const metavariableNodeQuery = nodeQuery("/statement/metavariable!");
9
9
 
10
- export default function verifyStatementGivenMetaType(statementNode, metaType, assignments, derived, localContext) {
10
+ export default function verifyStatementGivenMetaType(statementNode, metaType, assignments, stated, localContext) {
11
11
  let statementVerifiedGivenMetaType;
12
12
 
13
13
  const metaTypeName = metaType.getName();
@@ -36,7 +36,7 @@ export default function verifyStatementGivenMetaType(statementNode, metaType, as
36
36
 
37
37
  case STATEMENT_META_TYPE_NAME: {
38
38
  const { verifyStatement } = shim,
39
- statementVerified = verifyStatement(statementNode, assignments, derived, localContext)
39
+ statementVerified = verifyStatement(statementNode, assignments, stated, localContext)
40
40
 
41
41
  statementVerifiedGivenMetaType = statementVerified; ///
42
42
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  import ProofStep from "../proofStep";
4
4
  import Supposition from "../supposition";
5
- import verifyUnqualifiedStatement from "../verify/statement/unqualified";
5
+ import verifyStatement from "../verify/statement";
6
6
 
7
7
  import { nodeQuery } from "../utilities/query";
8
8
  import { assignAssignments } from "../utilities/assignments";
@@ -20,16 +20,16 @@ export default function verifySupposition(suppositionNode, suppositions, localCo
20
20
  const unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode);
21
21
 
22
22
  if (unqualifiedStatementNode !== null) {
23
- const derived = false,
23
+ const stated = true,
24
24
  assignments = [],
25
- unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
25
+ statementNode = statementNodeQuery(unqualifiedStatementNode),
26
+ statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
26
27
 
27
- if (unqualifiedStatementVerified) {
28
+ if (statementVerified) {
28
29
  const assignmentsAssigned = assignAssignments(assignments, localContext);
29
30
 
30
31
  if (assignmentsAssigned) {
31
- const statementNode = statementNodeQuery(unqualifiedStatementNode),
32
- supposition = Supposition.fromStatementNode(statementNode),
32
+ const supposition = Supposition.fromStatementNode(statementNode),
33
33
  proofStep = ProofStep.fromStatementNode(statementNode);
34
34
 
35
35
  suppositions.push(supposition);
@@ -1,49 +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 unifyStatementWithStatement;
9
- }
10
- });
11
- var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
12
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
13
- var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
14
- var _array = require("../utilities/array");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- function unifyStatementWithStatement(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
21
- var statementUnifiedWithStatement = false;
22
- var transformedSubstitutions = _substitutions.default.fromNothing(), transformedSubstitution = substitution.transformed(substitutions);
23
- if (transformedSubstitution !== null) {
24
- transformedSubstitutions.addSubstitution(transformedSubstitution, localContextA, localContextB);
25
- }
26
- var nodeA = statementNodeA, nodeB = statementNodeB, unified = _metaLevel.default.unify(nodeA, nodeB, transformedSubstitutions, localContextA, localContextB);
27
- if (unified) {
28
- if (transformedSubstitution === null) {
29
- debugger;
30
- var substitutionB = termForVariableSubstitution, substitutionsB = [
31
- substitutionB
32
- ];
33
- substitutionsA = transformSubstitutions(substitutionsA, substitutionsB);
34
- (0, _array.push)(substitutions, substitutionsA);
35
- }
36
- statementUnifiedWithStatement = true;
37
- }
38
- return statementUnifiedWithStatement;
39
- }
40
- function transformSubstitutions(substitutionsA1, substitutionsB) {
41
- substitutionsA1 = substitutionsA1.map(function(substitutionA) {
42
- var substitution = substitutionA, substitutions = substitutionsB, termForVariableSubstitution1 = _termForVariable.default.fromSubstitutionAndSubstitutions(substitution, substitutions);
43
- substitutionA = termForVariableSubstitution1; ///
44
- return substitutionA;
45
- });
46
- return substitutionsA1;
47
- }
48
-
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IHB1c2ggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgIHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLnRyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbnMpO1xuXG4gIGlmICh0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9ucy5hZGRTdWJzdGl0dXRpb24odHJhbnNmb3JtZWRTdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICB9XG5cbiAgY29uc3Qgbm9kZUEgPSBzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICBub2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgIHVuaWZpZWQgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgdHJhbnNmb3JtZWRTdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICBpZiAodW5pZmllZCkge1xuICAgIGlmICh0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiA9PT0gbnVsbCkge1xuXG4gICAgICBkZWJ1Z2dlclxuXG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25CID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAgLy8vXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zQiA9IFtcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uQlxuICAgICAgICAgICAgXTtcblxuICAgICAgc3Vic3RpdHV0aW9uc0EgPSB0cmFuc2Zvcm1TdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnNBLCBzdWJzdGl0dXRpb25zQik7XG5cbiAgICAgIHB1c2goc3Vic3RpdHV0aW9ucywgc3Vic3RpdHV0aW9uc0EpO1xuICAgIH1cblxuICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zQSwgc3Vic3RpdHV0aW9uc0IpIHtcbiAgc3Vic3RpdHV0aW9uc0EgPSBzdWJzdGl0dXRpb25zQS5tYXAoKHN1YnN0aXR1dGlvbkEpID0+IHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25BLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNCLFxuICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgc3Vic3RpdHV0aW9uQSA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uQTtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnNBO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudCIsInRyYW5zZm9ybWVkU3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uIiwidHJhbnNmb3JtZWQiLCJhZGRTdWJzdGl0dXRpb24iLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSIsInN1YnN0aXR1dGlvbkIiLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zQiIsInN1YnN0aXR1dGlvbnNBIiwidHJhbnNmb3JtU3Vic3RpdHV0aW9ucyIsInB1c2giLCJtYXAiLCJzdWJzdGl0dXRpb25BIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7b0VBTkU7Z0VBQ0c7c0VBQ1c7cUJBRW5COzs7Ozs7QUFFTixTQUFTQSw0QkFBNEJDLGNBQWMsRUFBRUMsY0FBYyxFQUFFQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQzNJLElBQUlDLGdDQUFnQztJQUVwQyxJQUFNQywyQkFBMkJDLHNCQUFhLENBQUNDLFdBQVcsSUFDcERDLDBCQUEwQlIsYUFBYVMsV0FBVyxDQUFDUjtJQUV6RCxJQUFJTyw0QkFBNEIsTUFBTTtRQUNwQ0gseUJBQXlCSyxlQUFlLENBQUNGLHlCQUF5Qk4sZUFBZUM7SUFDbkY7SUFFQSxJQUFNUSxRQUFRYixnQkFDUmMsUUFBUWIsZ0JBQ1JjLFVBQVVDLGtCQUFnQixDQUFDQyxLQUFLLENBQUNKLE9BQU9DLE9BQU9QLDBCQUEwQkgsZUFBZUM7SUFFOUYsSUFBSVUsU0FBUztRQUNYLElBQUlMLDRCQUE0QixNQUFNO1lBRXBDLFFBQVE7WUFFUixJQUFNUSxnQkFBZ0JDLDZCQUNoQkMsaUJBQWlCO2dCQUNmRjthQUNEO1lBRVBHLGlCQUFpQkMsdUJBQXVCRCxnQkFBZ0JEO1lBRXhERyxJQUFBQSxXQUFJLEVBQUNwQixlQUFla0I7UUFDdEI7UUFFQWYsZ0NBQWdDO0lBQ2xDO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNnQix1QkFBdUJELGVBQWMsRUFBRUQsY0FBYztJQUM1REMsa0JBQWlCQSxnQkFBZUcsR0FBRyxDQUFDLFNBQUNDO1FBQ25DLElBQU12QixlQUFldUIsZUFDZnRCLGdCQUFnQmlCLGdCQUNoQkQsK0JBQThCTyx3QkFBMkIsQ0FBQ0MsZ0NBQWdDLENBQUN6QixjQUFjQztRQUUvR3NCLGdCQUFnQk4sOEJBQTZCLEdBQUc7UUFFaEQsT0FBT007SUFDVDtJQUVBLE9BQU9KO0FBQ1QifQ==