occam-verify-cli 0.0.532 → 0.0.534

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 (62) hide show
  1. package/lib/assignment.js +60 -0
  2. package/lib/conclusion.js +3 -3
  3. package/lib/consequence.js +2 -2
  4. package/lib/constants.js +1 -5
  5. package/lib/context/proof.js +1 -20
  6. package/lib/equality.js +22 -81
  7. package/lib/log.js +3 -2
  8. package/lib/premise.js +7 -7
  9. package/lib/supposition.js +4 -4
  10. package/lib/variable.js +23 -3
  11. package/lib/verifier/metastatementForMetavariable.js +23 -23
  12. package/lib/verifier/statement.js +199 -0
  13. package/lib/verifier/statementForMetavariable.js +25 -25
  14. package/lib/verifier/termForVariable.js +23 -23
  15. package/lib/verifier.js +27 -26
  16. package/lib/verify/assertion/type.js +56 -68
  17. package/lib/verify/conclusion.js +2 -2
  18. package/lib/verify/consequence.js +2 -2
  19. package/lib/verify/derivation.js +3 -3
  20. package/lib/verify/metastatement/qualified.js +3 -3
  21. package/lib/verify/metastatement/unqualified.js +3 -3
  22. package/lib/verify/metastatement.js +2 -2
  23. package/lib/verify/premise.js +2 -2
  24. package/lib/verify/ruleDerivation.js +3 -3
  25. package/lib/verify/statement/qualified.js +3 -3
  26. package/lib/verify/statement/unqualified.js +3 -3
  27. package/lib/verify/statement.js +87 -132
  28. package/lib/verify/statementAsCombinator.js +2 -2
  29. package/lib/verify/supposition.js +4 -4
  30. package/package.json +1 -1
  31. package/src/{assertion/type.js → assignment.js} +4 -4
  32. package/src/conclusion.js +4 -4
  33. package/src/consequence.js +2 -2
  34. package/src/constants.js +0 -1
  35. package/src/context/proof.js +0 -25
  36. package/src/equality.js +20 -109
  37. package/src/log.js +1 -1
  38. package/src/premise.js +15 -15
  39. package/src/supposition.js +11 -11
  40. package/src/variable.js +18 -2
  41. package/src/verifier/metastatementForMetavariable.js +19 -19
  42. package/src/verifier/statement.js +135 -0
  43. package/src/verifier/statementForMetavariable.js +21 -21
  44. package/src/verifier/termForVariable.js +19 -19
  45. package/src/verifier.js +21 -21
  46. package/src/verify/assertion/type.js +83 -82
  47. package/src/verify/conclusion.js +2 -2
  48. package/src/verify/consequence.js +2 -2
  49. package/src/verify/derivation.js +4 -4
  50. package/src/verify/metastatement/qualified.js +2 -2
  51. package/src/verify/metastatement/unqualified.js +2 -2
  52. package/src/verify/metastatement.js +1 -1
  53. package/src/verify/premise.js +2 -2
  54. package/src/verify/ruleDerivation.js +4 -4
  55. package/src/verify/statement/qualified.js +2 -2
  56. package/src/verify/statement/unqualified.js +2 -2
  57. package/src/verify/statement.js +87 -200
  58. package/src/verify/statementAsCombinator.js +2 -2
  59. package/src/verify/supposition.js +4 -4
  60. package/lib/assertion/type.js +0 -60
  61. package/lib/node/statement/equality.js +0 -16
  62. package/src/node/statement/equality.js +0 -10
@@ -7,7 +7,7 @@ import { nodeQuery, referenceNameFromReferenceNode } from "../../utilities/query
7
7
  const referenceNodeQuery = nodeQuery("/qualifiedStatement/qualification!/reference!"),
8
8
  statementNodeQuery = nodeQuery("/qualifiedStatement/statement!");
9
9
 
10
- export default function verifyQualifiedStatement(qualifiedStatementNode, assertions, derived, proofContext) {
10
+ export default function verifyQualifiedStatement(qualifiedStatementNode, assignments, derived, proofContext) {
11
11
  let qualifiedStatementVerified = false;
12
12
 
13
13
  const statementNode = statementNodeQuery(qualifiedStatementNode);
@@ -21,7 +21,7 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, asserti
21
21
 
22
22
  if (referenceNode === null) {
23
23
  const context = proofContext,
24
- statementVerified = verifyStatement(statementNode, assertions, derived, context);
24
+ statementVerified = verifyStatement(statementNode, assignments, derived, context);
25
25
 
26
26
  qualifiedStatementVerified = statementVerified; ///
27
27
  } else {
@@ -6,7 +6,7 @@ import { nodeQuery } from "../../utilities/query";
6
6
 
7
7
  const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement!");
8
8
 
9
- export default function verifyUnqualifiedStatement(unqualifiedStatementNode, assertions, derived, proofContext) {
9
+ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, proofContext) {
10
10
  let unqualifiedStatementVerified = false;
11
11
 
12
12
  const statementNode = statementNodeQuery(unqualifiedStatementNode);
@@ -24,7 +24,7 @@ export default function verifyUnqualifiedStatement(unqualifiedStatementNode, ass
24
24
 
25
25
  if (statementMatches) {
26
26
  const context = proofContext, ///
27
- statementVerified = verifyStatement(statementNode, assertions, derived, context);
27
+ statementVerified = verifyStatement(statementNode, assignments, derived, context);
28
28
 
29
29
  unqualifiedStatementVerified = statementVerified; ///
30
30
  }
@@ -1,25 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  import Equality from "../equality";
4
+ import Variable from "../variable";
5
+ import Assignment from "../assignment";
4
6
  import verifyTerm from "../verify/term";
7
+ import statementVerifier from "../verifier/statement";
8
+ import equalityCombinator from "../ocmbinator/equality";
5
9
  import bracketedCombinator from "../ocmbinator/bracketed";
6
10
  import verifyTypeAssertion from "../verify/assertion/type";
7
11
 
8
12
  import { first } from "../utilities/array";
9
- import { objectType } from "../type";
10
- import { OBJECT_TYPE_NAME } from "../typeNames";
11
- import { STATEMENT_META_TYPE } from "../metaTypes";
12
- import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
13
- import { ARGUMENT_RULE_NAME, META_ARGUMENT_RULE_NAME } from "../ruleNames";
14
-
15
- const termNodeQuery = nodeQuery("/argument/term!"),
16
- typeNodeQuery = nodeQuery("/argument/type!"),
17
- metaTypeNodeQuery = nodeQuery("/metaArgument/metaType!"),
18
- statementNodeQuery = nodeQuery("/metaArgument/statement!"),
19
- typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!"),
20
- metaTypeTerminalNodeQuery = nodeQuery("/metaType/@meta-type");
21
-
22
- export default function verifyStatement(statementNode, assertions, derived, context) {
13
+ import { nodeQuery } from "../utilities/query";
14
+ import { nodeAsString } from "../utilities/string";
15
+ import { verifyTermAsVariable } from "../verify/term";
16
+
17
+ const leftTermNodeQuery = nodeQuery("/statement/argument[0]/term!"),
18
+ rightTermNodeQuery = nodeQuery("/statement/argument[1]/term!"),
19
+ typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!");
20
+
21
+ export default function verifyStatement(statementNode, assignments, derived, context) {
23
22
  let statementVerified = false;
24
23
 
25
24
  if (!statementVerified) {
@@ -29,13 +28,13 @@ export default function verifyStatement(statementNode, assertions, derived, cont
29
28
  }
30
29
 
31
30
  if (!statementVerified) {
32
- const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode, assertions, derived, context);
31
+ const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode, assignments, derived, context);
33
32
 
34
33
  statementVerified = statementVerifiedAsTypeAssertion; ///
35
34
  }
36
35
 
37
36
  if (!statementVerified) {
38
- const statementVerifiedAsEquality = verifyStatementAsEquality(statementNode, derived, context);
37
+ const statementVerifiedAsEquality = verifyStatementAsEquality(statementNode, assignments, derived, context);
39
38
 
40
39
  statementVerified = statementVerifiedAsEquality; //
41
40
  }
@@ -43,16 +42,6 @@ export default function verifyStatement(statementNode, assertions, derived, cont
43
42
  return statementVerified;
44
43
  }
45
44
 
46
- export function verifyStatementAgainstCombinator(statementNode, combinator, context) {
47
- const combinatorStatementNode = combinator.getStatementNode(),
48
- node = statementNode, ///
49
- combinatorNode = combinatorStatementNode, ///
50
- nodeVerified = verifyNode(node, combinatorNode, context),
51
- statementVerifiedAgainstCombinator = nodeVerified; ///
52
-
53
- return statementVerifiedAgainstCombinator;
54
- }
55
-
56
45
  function verifyStatementAgainstCombinators(statementNode, context) {
57
46
  let statementVerifiedAgainstCombinators = false;
58
47
 
@@ -78,13 +67,24 @@ function verifyStatementAgainstCombinators(statementNode, context) {
78
67
  return statementVerifiedAgainstCombinators;
79
68
  }
80
69
 
81
- function verifyStatementAsTypeAssertion(statementNode, assertions, derived, context) {
70
+ function verifyStatementAgainstCombinator(statementNode, combinator, context) {
71
+ const combinatorStatementNode = combinator.getStatementNode(),
72
+ nonTerminalNodeA = statementNode, ///
73
+ nonTerminalNodeB = combinatorStatementNode, ///
74
+ substitutions = null,
75
+ nodeVerified = statementVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, context),
76
+ statementVerifiedAgainstCombinator = nodeVerified; ///
77
+
78
+ return statementVerifiedAgainstCombinator;
79
+ }
80
+
81
+ function verifyStatementAsTypeAssertion(statementNode, assignments, derived, context) {
82
82
  let statementVerifiedAsTypeAssertion = false;
83
83
 
84
84
  const typeAssertionNode = typeAssertionNodeQuery(statementNode);
85
85
 
86
86
  if (typeAssertionNode !== null) {
87
- const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assertions, derived, context);
87
+ const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assignments, derived, context);
88
88
 
89
89
  statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
90
90
  }
@@ -92,189 +92,76 @@ function verifyStatementAsTypeAssertion(statementNode, assertions, derived, cont
92
92
  return statementVerifiedAsTypeAssertion;
93
93
  }
94
94
 
95
- function verifyStatementAsEquality(statementNode, derived, context) {
95
+ function verifyStatementAsEquality(statementNode, assignments, derived, context) {
96
96
  let statementVerifiedAsEquality = false;
97
97
 
98
- const equality = Equality.fromStatementNode(statementNode, context);
99
-
100
- if (equality !== null) {
101
- statementVerifiedAsEquality = true; ///
102
-
103
- if (derived) {
104
- const equalities = context.getEqualities();
98
+ const statementString = context.nodeAsString(statementNode);
105
99
 
106
- if (equalities !== null) {
107
- const equalityEquates = equality.equate(equalities, context);
100
+ const combinator = equalityCombinator, ///
101
+ statementVerifiedAgainstCombinator = verifyStatementAgainstCombinator(statementNode, combinator, context);
108
102
 
109
- statementVerifiedAsEquality = equalityEquates; ///
110
- }
111
- }
112
- }
103
+ if (statementVerifiedAgainstCombinator) {
104
+ const leftTermNode = leftTermNodeQuery(statementNode),
105
+ rightTermNode = rightTermNodeQuery(statementNode);
113
106
 
114
- return statementVerifiedAsEquality;
115
- }
116
-
117
- function verifyNode(node, combinatorNode, context) {
118
- let nodeVerified;
119
-
120
- const nodeTerminalNode = node.isTerminalNode(),
121
- combinatorNodeTerminalNode = combinatorNode.isTerminalNode();
122
-
123
- if (nodeTerminalNode === combinatorNodeTerminalNode) {
124
- if (nodeTerminalNode) {
125
- const terminalNode = node, ///
126
- combinatorTerminalNode = combinatorNode, ///
127
- terminalNodeVerified = verifyTerminalNode(terminalNode, combinatorTerminalNode, context);
107
+ if (derived) {
108
+ const equality = Equality.fromLeftTermNodeAndRightTermNode(leftTermNode, rightTermNode),
109
+ equalityEquates = equality.equate(context);
128
110
 
129
- nodeVerified = terminalNodeVerified; ///
111
+ statementVerifiedAsEquality = equalityEquates; ///
130
112
  } else {
131
- const nonTerminalNode = node, ///
132
- combinatorNonTerminalNode = combinatorNode, ///
133
- nonTerminalNodeVerified = verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, context);
134
-
135
- nodeVerified = nonTerminalNodeVerified; ///
136
- }
137
- }
138
-
139
- return nodeVerified;
140
- }
141
-
142
- function verifyNodes(nodes, combinatorNodes, context) {
143
- let nodesVerified = false;
144
-
145
- const nodesLength = nodes.length,
146
- combinatorNodesLength = combinatorNodes.length;
147
-
148
- if (nodesLength === combinatorNodesLength) {
149
- nodesVerified = nodes.every((node, index) => {
150
- const combinatorNode = combinatorNodes[index],
151
- nodeVerified = verifyNode(node, combinatorNode, context);
152
-
153
- if (nodeVerified) {
154
- return true;
155
- }
156
- });
157
- }
158
-
159
- return nodesVerified;
160
- }
161
-
162
- function verifyTerminalNode(terminalNode, combinatorTerminalNode, context) {
163
- let terminalNodeVerified = false;
164
-
165
- const matches = terminalNode.match(combinatorTerminalNode);
166
-
167
- if (matches) {
168
- terminalNodeVerified = true;
169
- }
170
-
171
- return terminalNodeVerified;
172
- }
173
-
174
- function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, context) {
175
- let nonTerminalNodeVerified = false;
176
-
177
- const ruleName = nonTerminalNode.getRuleName(), ///
178
- combinatorRuleName = combinatorNonTerminalNode.getRuleName(); ///
179
-
180
- if (ruleName === combinatorRuleName) {
181
- switch (ruleName) {
182
- case ARGUMENT_RULE_NAME: {
183
- const argumentNode = nonTerminalNode, ///
184
- combinatorArgumentNode = combinatorNonTerminalNode, ///
185
- argumentNodeVerified = verifyArgumentNode(argumentNode, combinatorArgumentNode, context);
186
-
187
- nonTerminalNodeVerified = argumentNodeVerified; ///
188
-
189
- break;
190
- }
191
-
192
- case META_ARGUMENT_RULE_NAME: {
193
- const metaArgumentNode = nonTerminalNode, ///
194
- combinatorMetaargumentNode = combinatorNonTerminalNode, ///
195
- metaArgumentNodeVerified = verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context);
196
-
197
- nonTerminalNodeVerified = metaArgumentNodeVerified; ///
198
-
199
- break;
200
- }
201
-
202
- default: {
203
- const childNodes = nonTerminalNode.getChildNodes(),
204
- combinatorChildNodes = combinatorNonTerminalNode.getChildNodes(),
205
- nodes = childNodes, ///
206
- combinatorNodes = combinatorChildNodes, ///
207
- nodesVerified = verifyNodes(nodes, combinatorNodes, context);
208
-
209
- nonTerminalNodeVerified = nodesVerified; ///
210
-
211
- break;
212
- }
213
- }
214
- }
215
-
216
- return nonTerminalNodeVerified;
217
- }
218
-
219
- function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
220
- let argumentNodeVerified = false;
221
-
222
- const termNode = termNodeQuery(argumentNode);
223
-
224
- if (termNode === null) {
225
- const argumentString = context.nodeAsString(argumentNode);
226
-
227
- context.error(`The ${argumentString} argument should be a term, not a type`, argumentNode);
228
- } else {
229
- const types = [],
230
- termVerified = verifyTerm(termNode, types, context);
231
-
232
- if (termVerified) {
233
- const firstType = first(types),
234
- termType = firstType, ///
235
- typeNode = typeNodeQuery(combinatorArgumentNode),
236
- typeName = typeNameFromTypeNode(typeNode),
237
- type = (typeName === OBJECT_TYPE_NAME) ?
238
- objectType : ///
239
- context.findTypeByTypeName(typeName),
240
- statementTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
241
-
242
- if (statementTypeEqualToOrSubTypeOfType) {
243
- argumentNodeVerified = true;
113
+ const types = [],
114
+ variables = [],
115
+ leftTermVerifiedAsVariable = verifyTermAsVariable(leftTermNode, variables, context);
116
+
117
+ if (leftTermVerifiedAsVariable) {
118
+ verifyTerm(rightTermNode, types, context);
119
+
120
+ const firstVariable = first(variables),
121
+ leftVariable = firstVariable, ///
122
+ firstType = first(types),
123
+ rightTermType = firstType, ///
124
+ leftVariableType = leftVariable.getType(),
125
+ leftVariableName = leftVariable.getName(),
126
+ leftVariableTypeEqualToOrSuperTypeOfRightTermType = leftVariableType.isEqualToOrSuperTypeOf(rightTermType);
127
+
128
+ if (!leftVariableTypeEqualToOrSuperTypeOfRightTermType) {
129
+ const rightTermString = nodeAsString(rightTermNode),
130
+ rightTermTypeName = rightTermType.getName(),
131
+ leftVariableTypeName = leftVariableType.getName();
132
+
133
+ context.error(`The left '${leftVariableName}' variable's '${leftVariableTypeName}' type is not equal to or a super-type of the right '${rightTermString}' term's '${rightTermTypeName}' type.`, statementNode);
134
+ } else {
135
+ const type = leftVariableType, ///
136
+ name = leftVariableName, ///
137
+ termNode = rightTermNode, ///
138
+ variable = Variable.fromTypeNameAndTermNode(type, name, termNode),
139
+ assignment = Assignment.fromVariable(variable);
140
+
141
+ assignments.push(assignment);
142
+
143
+ statementVerifiedAsEquality = true;
144
+ }
145
+ } else {
146
+ const rightTermVerifiedAsVariable = verifyTermAsVariable(rightTermNode, variables, context);
147
+
148
+ if (rightTermVerifiedAsVariable) {
149
+ const firstVariable = first(variables),
150
+ rightVariable = firstVariable, ///
151
+ leftTermString = nodeAsString(leftTermNode),
152
+ rightVariableName = rightVariable.getName();
153
+
154
+ context.error(`The left '${leftTermString}' term cannot be equated with the right '${rightVariableName}' variable.`, statementNode);
155
+ } else {
156
+ statementVerifiedAsEquality = true;
157
+ }
244
158
  }
245
159
  }
246
160
  }
247
161
 
248
- return argumentNodeVerified;
249
- }
250
-
251
- function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context) {
252
- let metaArgumentNodeVerified = false;
253
-
254
- const statementNode = statementNodeQuery(metaArgumentNode),
255
- combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
256
-
257
- if (statementNode === null) {
258
- const metaArgumentString = context.nodeAsString(metaArgumentNode);
259
-
260
- context.error(`Expected a statement but got a '${metaArgumentString}' meta-type.`, metaArgumentNode);
261
- } else {
262
- if (combinatorMetaTYpeNode === null) {
263
- const combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
264
-
265
- context.error(`Expected a meta-type but got a '${combinatorMetaargumentString}' statement.`, metaArgumentNode);
266
- } else {
267
- const combinatorMetaTypeTerminalNode = metaTypeTerminalNodeQuery(combinatorMetaTYpeNode),
268
- content = combinatorMetaTypeTerminalNode.getContent(),
269
- contentStatementMetaType = (content === STATEMENT_META_TYPE);
270
-
271
- if (!contentStatementMetaType) {
272
- context.error(`Expected the meta-type to be 'Statement' but got '${content}'.`, metaArgumentNode);
273
- } else {
274
- metaArgumentNodeVerified = true;
275
- }
276
- }
162
+ if (statementVerifiedAsEquality) {
163
+ context.info(`Verified the '${statementString}' statement as an equality.`, statementNode);
277
164
  }
278
165
 
279
- return metaArgumentNodeVerified;
166
+ return statementVerifiedAsEquality;
280
167
  }
@@ -145,8 +145,8 @@ function verifyTermNode(termNode, fileContext) {
145
145
  function verifyStatementNode(statementNode, fileContext) {
146
146
  const context = fileContext, ///
147
147
  derived = false,
148
- assertions = [],
149
- statementVerified = verifyStatement(statementNode, assertions, derived, context),
148
+ assignments = [],
149
+ statementVerified = verifyStatement(statementNode, assignments, derived, context),
150
150
  statementNodeVerified = statementVerified; ///
151
151
 
152
152
  return statementNodeVerified;
@@ -17,9 +17,9 @@ export default function verifySupposition(suppositionNode, suppositions, proofCo
17
17
  proofContext.debug(`Verifying the '${suppositionString}' supposition...`, suppositionNode);
18
18
 
19
19
  const derived = false,
20
- assertions = [],
20
+ assignments = [],
21
21
  unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode),
22
- unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assertions, derived, proofContext);
22
+ unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, proofContext);
23
23
 
24
24
  if (unqualifiedStatementVerified) {
25
25
  const statementNode = statementNodeQuery(unqualifiedStatementNode),
@@ -30,8 +30,8 @@ export default function verifySupposition(suppositionNode, suppositions, proofCo
30
30
 
31
31
  proofContext.addProofStep(proofStep);
32
32
 
33
- assertions.every((assertion) => {
34
- assertion.assert(proofContext);
33
+ assignments.every((assignment) => {
34
+ assignment.assign(proofContext);
35
35
  });
36
36
 
37
37
  suppositionVerified = true;
@@ -1,60 +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 TypeAssertion;
9
- }
10
- });
11
- function _classCallCheck(instance, Constructor) {
12
- if (!(instance instanceof Constructor)) {
13
- throw new TypeError("Cannot call a class as a function");
14
- }
15
- }
16
- function _defineProperties(target, props) {
17
- for(var i = 0; i < props.length; i++){
18
- var descriptor = props[i];
19
- descriptor.enumerable = descriptor.enumerable || false;
20
- descriptor.configurable = true;
21
- if ("value" in descriptor) descriptor.writable = true;
22
- Object.defineProperty(target, descriptor.key, descriptor);
23
- }
24
- }
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
30
- var TypeAssertion = /*#__PURE__*/ function() {
31
- function TypeAssertion(variable) {
32
- _classCallCheck(this, TypeAssertion);
33
- this.variable = variable;
34
- }
35
- _createClass(TypeAssertion, [
36
- {
37
- key: "getVariable",
38
- value: function getVariable() {
39
- return this.variable;
40
- }
41
- },
42
- {
43
- key: "assert",
44
- value: function assert(proofContext) {
45
- proofContext.addVariable(this.variable);
46
- }
47
- }
48
- ], [
49
- {
50
- key: "fromVariable",
51
- value: function fromVariable(variable) {
52
- var typeAssertion = new TypeAssertion(variable);
53
- return typeAssertion;
54
- }
55
- }
56
- ]);
57
- return TypeAssertion;
58
- }();
59
-
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vdHlwZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHlwZUFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHZhcmlhYmxlKSB7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBhc3NlcnQocHJvb2ZDb250ZXh0KSB7XG4gICAgcHJvb2ZDb250ZXh0LmFkZFZhcmlhYmxlKHRoaXMudmFyaWFibGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHR5cGVBc3NlcnRpb24gPSBuZXcgVHlwZUFzc2VydGlvbih2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gdHlwZUFzc2VydGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJUeXBlQXNzZXJ0aW9uIiwidmFyaWFibGUiLCJnZXRWYXJpYWJsZSIsImFzc2VydCIsInByb29mQ29udGV4dCIsImFkZFZhcmlhYmxlIiwiZnJvbVZhcmlhYmxlIiwidHlwZUFzc2VydGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFFcUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU4sSUFBQSxBQUFNQSw4QkFBTjthQUFNQSxjQUNQQyxRQUFROzhCQURERDtRQUVqQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7O2lCQUZDRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjO2dCQUNaLE9BQU8sSUFBSSxDQUFDRCxRQUFRO1lBQ3RCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFlBQVksRUFBRTtnQkFDbkJBLGFBQWFDLFdBQVcsQ0FBQyxJQUFJLENBQUNKLFFBQVE7WUFDeEM7Ozs7WUFFT0ssS0FBQUE7bUJBQVAsU0FBT0EsYUFBYUwsUUFBUSxFQUFFO2dCQUM1QixJQUFNTSxnQkFBZ0IsSUFkTFAsY0FjdUJDO2dCQUV4QyxPQUFPTTtZQUNUOzs7V0FqQm1CUCJ9
@@ -1,16 +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 _node = require("../../utilities/node");
12
- var equalityStatementString = "n=m";
13
- var equalityStatementNode = (0, _node.statementNodeFromStatementString)(equalityStatementString);
14
- var _default = equalityStatementNode;
15
-
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL3N0YXRlbWVudC9lcXVhbGl0eS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuY29uc3QgZXF1YWxpdHlTdGF0ZW1lbnRTdHJpbmcgPSBcIm49bVwiO1xuXG5jb25zdCBlcXVhbGl0eVN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhlcXVhbGl0eVN0YXRlbWVudFN0cmluZyk7XG5cbmV4cG9ydCBkZWZhdWx0IGVxdWFsaXR5U3RhdGVtZW50Tm9kZTtcblxuIl0sIm5hbWVzIjpbImVxdWFsaXR5U3RhdGVtZW50U3RyaW5nIiwiZXF1YWxpdHlTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O29CQU5pRDtBQUVqRCxJQUFNQSwwQkFBMEI7QUFFaEMsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQ0FBZ0MsRUFBQ0Y7SUFFL0QsV0FBZUMifQ==
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- import { statementNodeFromStatementString } from "../../utilities/node";
4
-
5
- const equalityStatementString = "n=m";
6
-
7
- const equalityStatementNode = statementNodeFromStatementString(equalityStatementString);
8
-
9
- export default equalityStatementNode;
10
-