occam-verify-cli 0.0.533 → 0.0.535
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.
- package/lib/assignment.js +60 -0
- package/lib/conclusion.js +3 -3
- package/lib/consequence.js +2 -2
- package/lib/equality.js +22 -113
- package/lib/log.js +3 -2
- package/lib/premise.js +7 -7
- package/lib/supposition.js +4 -4
- package/lib/verifier/metastatementForMetavariable.js +23 -23
- package/lib/verifier/statement.js +199 -0
- package/lib/verifier/statementForMetavariable.js +25 -25
- package/lib/verifier/termForVariable.js +23 -23
- package/lib/verifier.js +27 -26
- package/lib/verify/assertion/type.js +7 -7
- package/lib/verify/conclusion.js +2 -2
- package/lib/verify/consequence.js +2 -2
- package/lib/verify/derivation.js +3 -3
- package/lib/verify/metastatement/qualified.js +3 -3
- package/lib/verify/metastatement/unqualified.js +3 -3
- package/lib/verify/metastatement.js +2 -2
- package/lib/verify/premise.js +2 -2
- package/lib/verify/ruleDerivation.js +3 -3
- package/lib/verify/statement/qualified.js +3 -3
- package/lib/verify/statement/unqualified.js +3 -3
- package/lib/verify/statement.js +21 -121
- package/lib/verify/statementAsCombinator.js +2 -2
- package/lib/verify/supposition.js +4 -4
- package/package.json +1 -1
- package/src/{assertion.js → assignment.js} +4 -4
- package/src/conclusion.js +4 -4
- package/src/consequence.js +2 -2
- package/src/equality.js +20 -105
- package/src/log.js +1 -1
- package/src/premise.js +15 -15
- package/src/supposition.js +11 -11
- package/src/verifier/metastatementForMetavariable.js +19 -19
- package/src/verifier/statement.js +135 -0
- package/src/verifier/statementForMetavariable.js +21 -21
- package/src/verifier/termForVariable.js +19 -19
- package/src/verifier.js +21 -21
- package/src/verify/assertion/type.js +6 -6
- package/src/verify/conclusion.js +2 -2
- package/src/verify/consequence.js +2 -2
- package/src/verify/derivation.js +4 -4
- package/src/verify/metastatement/qualified.js +2 -2
- package/src/verify/metastatement/unqualified.js +2 -2
- package/src/verify/metastatement.js +1 -1
- package/src/verify/premise.js +2 -2
- package/src/verify/ruleDerivation.js +4 -4
- package/src/verify/statement/qualified.js +2 -2
- package/src/verify/statement/unqualified.js +2 -2
- package/src/verify/statement.js +26 -193
- package/src/verify/statementAsCombinator.js +2 -2
- package/src/verify/supposition.js +4 -4
- package/lib/assertion.js +0 -60
package/src/verify/statement.js
CHANGED
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Equality from "../equality";
|
|
3
4
|
import Variable from "../variable";
|
|
4
|
-
import
|
|
5
|
+
import Assignment from "../assignment";
|
|
5
6
|
import verifyTerm from "../verify/term";
|
|
7
|
+
import statementVerifier from "../verifier/statement";
|
|
6
8
|
import equalityCombinator from "../ocmbinator/equality";
|
|
7
9
|
import bracketedCombinator from "../ocmbinator/bracketed";
|
|
8
10
|
import verifyTypeAssertion from "../verify/assertion/type";
|
|
9
11
|
|
|
10
12
|
import { first } from "../utilities/array";
|
|
11
|
-
import {
|
|
13
|
+
import { nodeQuery } from "../utilities/query";
|
|
12
14
|
import { nodeAsString } from "../utilities/string";
|
|
13
|
-
import { OBJECT_TYPE_NAME } from "../typeNames";
|
|
14
|
-
import { STATEMENT_META_TYPE } from "../metaTypes";
|
|
15
15
|
import { verifyTermAsVariable } from "../verify/term";
|
|
16
|
-
import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
|
|
17
|
-
import { ARGUMENT_RULE_NAME, META_ARGUMENT_RULE_NAME } from "../ruleNames";
|
|
18
16
|
|
|
19
|
-
const
|
|
20
|
-
typeNodeQuery = nodeQuery("/argument/type!"),
|
|
21
|
-
leftTermNodeQuery = nodeQuery("/statement/argument[0]/term!"),
|
|
17
|
+
const leftTermNodeQuery = nodeQuery("/statement/argument[0]/term!"),
|
|
22
18
|
rightTermNodeQuery = nodeQuery("/statement/argument[1]/term!"),
|
|
23
|
-
|
|
24
|
-
statementNodeQuery = nodeQuery("/metaArgument/statement!"),
|
|
25
|
-
typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!"),
|
|
26
|
-
metaTypeTerminalNodeQuery = nodeQuery("/metaType/@meta-type");
|
|
19
|
+
typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!");
|
|
27
20
|
|
|
28
|
-
export default function verifyStatement(statementNode,
|
|
21
|
+
export default function verifyStatement(statementNode, assignments, derived, context) {
|
|
29
22
|
let statementVerified = false;
|
|
30
23
|
|
|
31
24
|
if (!statementVerified) {
|
|
@@ -35,13 +28,13 @@ export default function verifyStatement(statementNode, assertions, derived, cont
|
|
|
35
28
|
}
|
|
36
29
|
|
|
37
30
|
if (!statementVerified) {
|
|
38
|
-
const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode,
|
|
31
|
+
const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode, assignments, derived, context);
|
|
39
32
|
|
|
40
33
|
statementVerified = statementVerifiedAsTypeAssertion; ///
|
|
41
34
|
}
|
|
42
35
|
|
|
43
36
|
if (!statementVerified) {
|
|
44
|
-
const statementVerifiedAsEquality = verifyStatementAsEquality(statementNode,
|
|
37
|
+
const statementVerifiedAsEquality = verifyStatementAsEquality(statementNode, assignments, derived, context);
|
|
45
38
|
|
|
46
39
|
statementVerified = statementVerifiedAsEquality; //
|
|
47
40
|
}
|
|
@@ -76,21 +69,22 @@ function verifyStatementAgainstCombinators(statementNode, context) {
|
|
|
76
69
|
|
|
77
70
|
function verifyStatementAgainstCombinator(statementNode, combinator, context) {
|
|
78
71
|
const combinatorStatementNode = combinator.getStatementNode(),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
nonTerminalNodeA = statementNode, ///
|
|
73
|
+
nonTerminalNodeB = combinatorStatementNode, ///
|
|
74
|
+
substitutions = null,
|
|
75
|
+
nodeVerified = statementVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, context),
|
|
76
|
+
statementVerifiedAgainstCombinator = nodeVerified; ///
|
|
83
77
|
|
|
84
78
|
return statementVerifiedAgainstCombinator;
|
|
85
79
|
}
|
|
86
80
|
|
|
87
|
-
function verifyStatementAsTypeAssertion(statementNode,
|
|
81
|
+
function verifyStatementAsTypeAssertion(statementNode, assignments, derived, context) {
|
|
88
82
|
let statementVerifiedAsTypeAssertion = false;
|
|
89
83
|
|
|
90
84
|
const typeAssertionNode = typeAssertionNodeQuery(statementNode);
|
|
91
85
|
|
|
92
86
|
if (typeAssertionNode !== null) {
|
|
93
|
-
const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode,
|
|
87
|
+
const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assignments, derived, context);
|
|
94
88
|
|
|
95
89
|
statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
|
|
96
90
|
}
|
|
@@ -98,7 +92,7 @@ function verifyStatementAsTypeAssertion(statementNode, assertions, derived, cont
|
|
|
98
92
|
return statementVerifiedAsTypeAssertion;
|
|
99
93
|
}
|
|
100
94
|
|
|
101
|
-
function verifyStatementAsEquality(statementNode,
|
|
95
|
+
function verifyStatementAsEquality(statementNode, assignments, derived, context) {
|
|
102
96
|
let statementVerifiedAsEquality = false;
|
|
103
97
|
|
|
104
98
|
const statementString = context.nodeAsString(statementNode);
|
|
@@ -107,13 +101,17 @@ function verifyStatementAsEquality(statementNode, assertions, derived, context)
|
|
|
107
101
|
statementVerifiedAgainstCombinator = verifyStatementAgainstCombinator(statementNode, combinator, context);
|
|
108
102
|
|
|
109
103
|
if (statementVerifiedAgainstCombinator) {
|
|
104
|
+
const leftTermNode = leftTermNodeQuery(statementNode),
|
|
105
|
+
rightTermNode = rightTermNodeQuery(statementNode);
|
|
106
|
+
|
|
110
107
|
if (derived) {
|
|
111
|
-
|
|
108
|
+
const equality = Equality.fromLeftTermNodeAndRightTermNode(leftTermNode, rightTermNode),
|
|
109
|
+
equalityEquates = equality.equate(context);
|
|
110
|
+
|
|
111
|
+
statementVerifiedAsEquality = equalityEquates; ///
|
|
112
112
|
} else {
|
|
113
113
|
const types = [],
|
|
114
114
|
variables = [],
|
|
115
|
-
leftTermNode = leftTermNodeQuery(statementNode),
|
|
116
|
-
rightTermNode = rightTermNodeQuery(statementNode),
|
|
117
115
|
leftTermVerifiedAsVariable = verifyTermAsVariable(leftTermNode, variables, context);
|
|
118
116
|
|
|
119
117
|
if (leftTermVerifiedAsVariable) {
|
|
@@ -138,9 +136,9 @@ function verifyStatementAsEquality(statementNode, assertions, derived, context)
|
|
|
138
136
|
name = leftVariableName, ///
|
|
139
137
|
termNode = rightTermNode, ///
|
|
140
138
|
variable = Variable.fromTypeNameAndTermNode(type, name, termNode),
|
|
141
|
-
|
|
139
|
+
assignment = Assignment.fromVariable(variable);
|
|
142
140
|
|
|
143
|
-
|
|
141
|
+
assignments.push(assignment);
|
|
144
142
|
|
|
145
143
|
statementVerifiedAsEquality = true;
|
|
146
144
|
}
|
|
@@ -167,168 +165,3 @@ function verifyStatementAsEquality(statementNode, assertions, derived, context)
|
|
|
167
165
|
|
|
168
166
|
return statementVerifiedAsEquality;
|
|
169
167
|
}
|
|
170
|
-
|
|
171
|
-
function verifyNode(node, combinatorNode, context) {
|
|
172
|
-
let nodeVerified;
|
|
173
|
-
|
|
174
|
-
const nodeTerminalNode = node.isTerminalNode(),
|
|
175
|
-
combinatorNodeTerminalNode = combinatorNode.isTerminalNode();
|
|
176
|
-
|
|
177
|
-
if (nodeTerminalNode === combinatorNodeTerminalNode) {
|
|
178
|
-
if (nodeTerminalNode) {
|
|
179
|
-
const terminalNode = node, ///
|
|
180
|
-
combinatorTerminalNode = combinatorNode, ///
|
|
181
|
-
terminalNodeVerified = verifyTerminalNode(terminalNode, combinatorTerminalNode, context);
|
|
182
|
-
|
|
183
|
-
nodeVerified = terminalNodeVerified; ///
|
|
184
|
-
} else {
|
|
185
|
-
const nonTerminalNode = node, ///
|
|
186
|
-
combinatorNonTerminalNode = combinatorNode, ///
|
|
187
|
-
nonTerminalNodeVerified = verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, context);
|
|
188
|
-
|
|
189
|
-
nodeVerified = nonTerminalNodeVerified; ///
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
return nodeVerified;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
function verifyNodes(nodes, combinatorNodes, context) {
|
|
197
|
-
let nodesVerified = false;
|
|
198
|
-
|
|
199
|
-
const nodesLength = nodes.length,
|
|
200
|
-
combinatorNodesLength = combinatorNodes.length;
|
|
201
|
-
|
|
202
|
-
if (nodesLength === combinatorNodesLength) {
|
|
203
|
-
nodesVerified = nodes.every((node, index) => {
|
|
204
|
-
const combinatorNode = combinatorNodes[index],
|
|
205
|
-
nodeVerified = verifyNode(node, combinatorNode, context);
|
|
206
|
-
|
|
207
|
-
if (nodeVerified) {
|
|
208
|
-
return true;
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
return nodesVerified;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
function verifyTerminalNode(terminalNode, combinatorTerminalNode, context) {
|
|
217
|
-
let terminalNodeVerified = false;
|
|
218
|
-
|
|
219
|
-
const matches = terminalNode.match(combinatorTerminalNode);
|
|
220
|
-
|
|
221
|
-
if (matches) {
|
|
222
|
-
terminalNodeVerified = true;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return terminalNodeVerified;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, context) {
|
|
229
|
-
let nonTerminalNodeVerified = false;
|
|
230
|
-
|
|
231
|
-
const ruleName = nonTerminalNode.getRuleName(), ///
|
|
232
|
-
combinatorRuleName = combinatorNonTerminalNode.getRuleName(); ///
|
|
233
|
-
|
|
234
|
-
if (ruleName === combinatorRuleName) {
|
|
235
|
-
switch (ruleName) {
|
|
236
|
-
case ARGUMENT_RULE_NAME: {
|
|
237
|
-
const argumentNode = nonTerminalNode, ///
|
|
238
|
-
combinatorArgumentNode = combinatorNonTerminalNode, ///
|
|
239
|
-
argumentNodeVerified = verifyArgumentNode(argumentNode, combinatorArgumentNode, context);
|
|
240
|
-
|
|
241
|
-
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
242
|
-
|
|
243
|
-
break;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
case META_ARGUMENT_RULE_NAME: {
|
|
247
|
-
const metaArgumentNode = nonTerminalNode, ///
|
|
248
|
-
combinatorMetaargumentNode = combinatorNonTerminalNode, ///
|
|
249
|
-
metaArgumentNodeVerified = verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context);
|
|
250
|
-
|
|
251
|
-
nonTerminalNodeVerified = metaArgumentNodeVerified; ///
|
|
252
|
-
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
default: {
|
|
257
|
-
const childNodes = nonTerminalNode.getChildNodes(),
|
|
258
|
-
combinatorChildNodes = combinatorNonTerminalNode.getChildNodes(),
|
|
259
|
-
nodes = childNodes, ///
|
|
260
|
-
combinatorNodes = combinatorChildNodes, ///
|
|
261
|
-
nodesVerified = verifyNodes(nodes, combinatorNodes, context);
|
|
262
|
-
|
|
263
|
-
nonTerminalNodeVerified = nodesVerified; ///
|
|
264
|
-
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
return nonTerminalNodeVerified;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
|
|
274
|
-
let argumentNodeVerified = false;
|
|
275
|
-
|
|
276
|
-
const termNode = termNodeQuery(argumentNode);
|
|
277
|
-
|
|
278
|
-
if (termNode === null) {
|
|
279
|
-
const argumentString = context.nodeAsString(argumentNode);
|
|
280
|
-
|
|
281
|
-
context.error(`The ${argumentString} argument should be a term, not a type`, argumentNode);
|
|
282
|
-
} else {
|
|
283
|
-
const types = [],
|
|
284
|
-
termVerified = verifyTerm(termNode, types, context);
|
|
285
|
-
|
|
286
|
-
if (termVerified) {
|
|
287
|
-
const firstType = first(types),
|
|
288
|
-
termType = firstType, ///
|
|
289
|
-
typeNode = typeNodeQuery(combinatorArgumentNode),
|
|
290
|
-
typeName = typeNameFromTypeNode(typeNode),
|
|
291
|
-
type = (typeName === OBJECT_TYPE_NAME) ?
|
|
292
|
-
objectType : ///
|
|
293
|
-
context.findTypeByTypeName(typeName),
|
|
294
|
-
statementTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
|
|
295
|
-
|
|
296
|
-
if (statementTypeEqualToOrSubTypeOfType) {
|
|
297
|
-
argumentNodeVerified = true;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
return argumentNodeVerified;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context) {
|
|
306
|
-
let metaArgumentNodeVerified = false;
|
|
307
|
-
|
|
308
|
-
const statementNode = statementNodeQuery(metaArgumentNode),
|
|
309
|
-
combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
|
|
310
|
-
|
|
311
|
-
if (statementNode === null) {
|
|
312
|
-
const metaArgumentString = context.nodeAsString(metaArgumentNode);
|
|
313
|
-
|
|
314
|
-
context.error(`Expected a statement but got a '${metaArgumentString}' meta-type.`, metaArgumentNode);
|
|
315
|
-
} else {
|
|
316
|
-
if (combinatorMetaTYpeNode === null) {
|
|
317
|
-
const combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
|
|
318
|
-
|
|
319
|
-
context.error(`Expected a meta-type but got a '${combinatorMetaargumentString}' statement.`, metaArgumentNode);
|
|
320
|
-
} else {
|
|
321
|
-
const combinatorMetaTypeTerminalNode = metaTypeTerminalNodeQuery(combinatorMetaTYpeNode),
|
|
322
|
-
content = combinatorMetaTypeTerminalNode.getContent(),
|
|
323
|
-
contentStatementMetaType = (content === STATEMENT_META_TYPE);
|
|
324
|
-
|
|
325
|
-
if (!contentStatementMetaType) {
|
|
326
|
-
context.error(`Expected the meta-type to be 'Statement' but got '${content}'.`, metaArgumentNode);
|
|
327
|
-
} else {
|
|
328
|
-
metaArgumentNodeVerified = true;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
return metaArgumentNodeVerified;
|
|
334
|
-
}
|
|
@@ -145,8 +145,8 @@ function verifyTermNode(termNode, fileContext) {
|
|
|
145
145
|
function verifyStatementNode(statementNode, fileContext) {
|
|
146
146
|
const context = fileContext, ///
|
|
147
147
|
derived = false,
|
|
148
|
-
|
|
149
|
-
statementVerified = verifyStatement(statementNode,
|
|
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
|
-
|
|
20
|
+
assignments = [],
|
|
21
21
|
unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode),
|
|
22
|
-
unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode,
|
|
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
|
-
|
|
34
|
-
|
|
33
|
+
assignments.every((assignment) => {
|
|
34
|
+
assignment.assign(proofContext);
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
suppositionVerified = true;
|
package/lib/assertion.js
DELETED
|
@@ -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 Assertion;
|
|
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 Assertion = /*#__PURE__*/ function() {
|
|
31
|
-
function Assertion(variable) {
|
|
32
|
-
_classCallCheck(this, Assertion);
|
|
33
|
-
this.variable = variable;
|
|
34
|
-
}
|
|
35
|
-
_createClass(Assertion, [
|
|
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 assertion = new Assertion(variable);
|
|
53
|
-
return assertion;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
]);
|
|
57
|
-
return Assertion;
|
|
58
|
-
}();
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3NlcnRpb24uanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHZhcmlhYmxlKSB7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBhc3NlcnQocHJvb2ZDb250ZXh0KSB7XG4gICAgcHJvb2ZDb250ZXh0LmFkZFZhcmlhYmxlKHRoaXMudmFyaWFibGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IGFzc2VydGlvbiA9IG5ldyBBc3NlcnRpb24odmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIGFzc2VydGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJBc3NlcnRpb24iLCJ2YXJpYWJsZSIsImdldFZhcmlhYmxlIiwiYXNzZXJ0IiwicHJvb2ZDb250ZXh0IiwiYWRkVmFyaWFibGUiLCJmcm9tVmFyaWFibGUiLCJhc3NlcnRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsMEJBQU47YUFBTUEsVUFDUEMsUUFBUTs4QkFEREQ7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztpQkFGQ0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsY0FBYztnQkFDWixPQUFPLElBQUksQ0FBQ0QsUUFBUTtZQUN0Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxZQUFZLEVBQUU7Z0JBQ25CQSxhQUFhQyxXQUFXLENBQUMsSUFBSSxDQUFDSixRQUFRO1lBQ3hDOzs7O1lBRU9LLEtBQUFBO21CQUFQLFNBQU9BLGFBQWFMLFFBQVEsRUFBRTtnQkFDNUIsSUFBTU0sWUFBWSxJQWREUCxVQWNlQztnQkFFaEMsT0FBT007WUFDVDs7O1dBakJtQlAifQ==
|