occam-verify-cli 1.0.768 → 1.0.776
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/context/file/nominal.js +11 -11
- package/lib/context/illative.js +28 -0
- package/lib/context/nested.js +27 -0
- package/lib/context/proof.js +232 -0
- package/lib/context/thetic.js +28 -0
- package/lib/context.js +15 -21
- package/lib/element/assertion/contained.js +24 -22
- package/lib/element/assertion/defined.js +20 -19
- package/lib/element/assertion/property.js +14 -13
- package/lib/element/assertion/satisfies.js +8 -9
- package/lib/element/assertion/subproof.js +23 -26
- package/lib/element/assertion/type.js +9 -11
- package/lib/element/assumption.js +32 -39
- package/lib/element/combinator/bracketed.js +3 -3
- package/lib/element/combinator.js +20 -20
- package/lib/element/conclusion.js +33 -29
- package/lib/element/constructor.js +19 -18
- package/lib/element/deduction.js +33 -29
- package/lib/element/equality.js +13 -15
- package/lib/element/equivalence.js +59 -52
- package/lib/element/frame.js +41 -34
- package/lib/element/hypothesis.js +7 -5
- package/lib/element/judgement.js +32 -73
- package/lib/element/label.js +22 -22
- package/lib/element/metavariable.js +23 -7
- package/lib/element/proofAssertion/premise.js +48 -35
- package/lib/element/proofAssertion/step.js +35 -20
- package/lib/element/proofAssertion/supposition.js +48 -34
- package/lib/element/proofAssertion.js +1 -14
- package/lib/element/reference.js +80 -53
- package/lib/element/signature.js +44 -3
- package/lib/element/statement.js +28 -29
- package/lib/element/subproof.js +2 -2
- package/lib/element/substitution/frame.js +24 -19
- package/lib/element/substitution/metaLevel.js +31 -27
- package/lib/element/substitution/reference.js +11 -10
- package/lib/element/substitution/statement.js +30 -23
- package/lib/element/substitution/term.js +11 -10
- package/lib/element/term.js +24 -20
- package/lib/element/topLevelMetaAssertion.js +2 -2
- package/lib/element/variable.js +6 -2
- package/lib/process/assign.js +10 -4
- package/lib/process/unify.js +8 -8
- package/lib/process/validate.js +10 -8
- package/lib/utilities/context.js +68 -23
- package/lib/utilities/element.js +55 -27
- package/lib/utilities/json.js +8 -8
- package/lib/utilities/statement.js +1 -8
- package/lib/utilities/string.js +12 -1
- package/lib/utilities/unification.js +9 -7
- package/lib/utilities/validation.js +39 -31
- package/package.json +1 -1
- package/src/context/file/nominal.js +14 -16
- package/src/context/illative.js +17 -0
- package/src/context/nested.js +15 -0
- package/src/context/{scoped.js → proof.js} +73 -73
- package/src/context/thetic.js +17 -0
- package/src/context.js +23 -36
- package/src/element/assertion/contained.js +28 -28
- package/src/element/assertion/defined.js +23 -23
- package/src/element/assertion/property.js +15 -14
- package/src/element/assertion/satisfies.js +7 -9
- package/src/element/assertion/subproof.js +26 -31
- package/src/element/assertion/type.js +10 -12
- package/src/element/assumption.js +33 -54
- package/src/element/combinator/bracketed.js +2 -2
- package/src/element/combinator.js +23 -29
- package/src/element/conclusion.js +37 -40
- package/src/element/constructor.js +29 -34
- package/src/element/deduction.js +36 -39
- package/src/element/equality.js +16 -18
- package/src/element/equivalence.js +76 -67
- package/src/element/frame.js +42 -34
- package/src/element/hypothesis.js +7 -6
- package/src/element/judgement.js +34 -44
- package/src/element/label.js +25 -31
- package/src/element/metavariable.js +32 -12
- package/src/element/proofAssertion/premise.js +63 -49
- package/src/element/proofAssertion/step.js +43 -23
- package/src/element/proofAssertion/supposition.js +64 -50
- package/src/element/proofAssertion.js +0 -22
- package/src/element/reference.js +119 -80
- package/src/element/signature.js +5 -2
- package/src/element/statement.js +30 -35
- package/src/element/subproof.js +1 -1
- package/src/element/substitution/frame.js +27 -26
- package/src/element/substitution/metaLevel.js +38 -42
- package/src/element/substitution/reference.js +13 -14
- package/src/element/substitution/statement.js +35 -33
- package/src/element/substitution/term.js +13 -14
- package/src/element/term.js +42 -34
- package/src/element/topLevelMetaAssertion.js +1 -1
- package/src/element/variable.js +8 -1
- package/src/process/assign.js +9 -3
- package/src/process/unify.js +7 -7
- package/src/process/validate.js +9 -8
- package/src/utilities/context.js +82 -31
- package/src/utilities/element.js +68 -31
- package/src/utilities/json.js +13 -13
- package/src/utilities/statement.js +1 -9
- package/src/utilities/string.js +16 -2
- package/src/utilities/unification.js +10 -9
- package/src/utilities/validation.js +50 -38
- package/lib/context/scoped.js +0 -232
- package/lib/utilities/term.js +0 -17
- package/src/utilities/term.js +0 -10
|
@@ -5,8 +5,7 @@ import ProofAssertion from "../proofAssertion";
|
|
|
5
5
|
import { define } from "../../elements";
|
|
6
6
|
import { instantiatePremise } from "../../process/instantiate";
|
|
7
7
|
import { procedureCallFromPremiseNode } from "../../utilities/element";
|
|
8
|
-
import { join, attempt, reconcile, instantiate } from "../../utilities/context";
|
|
9
|
-
import { ephemeralContextFromJSON, ephemeralContextToEphemeralContextJSON } from "../../utilities/json";
|
|
8
|
+
import { join, declare, attempt, reconcile, serialise, unserialise, instantiate } from "../../utilities/context";
|
|
10
9
|
|
|
11
10
|
export default define(class Premise extends ProofAssertion {
|
|
12
11
|
constructor(context, string, node, statement, procedureCall) {
|
|
@@ -26,12 +25,6 @@ export default define(class Premise extends ProofAssertion {
|
|
|
26
25
|
return premiseNode;
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
isStated() {
|
|
30
|
-
const stated = true; ///
|
|
31
|
-
|
|
32
|
-
return stated;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
28
|
async verify(context) {
|
|
36
29
|
let verifies = false;
|
|
37
30
|
|
|
@@ -64,29 +57,31 @@ export default define(class Premise extends ProofAssertion {
|
|
|
64
57
|
|
|
65
58
|
context.trace(`Validatting the '${premiseString}' premise...`);
|
|
66
59
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
declare((context) => {
|
|
61
|
+
attempt((context) => {
|
|
62
|
+
const statement = this.getStatement(),
|
|
63
|
+
procedureCall = this.getProcedureCall();
|
|
70
64
|
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
if (statement !== null) {
|
|
66
|
+
const statementValidates = this.validateStatement(context);
|
|
73
67
|
|
|
74
|
-
|
|
75
|
-
|
|
68
|
+
if (statementValidates) {
|
|
69
|
+
context.commit(this);
|
|
76
70
|
|
|
77
|
-
|
|
71
|
+
validates = true;
|
|
72
|
+
}
|
|
78
73
|
}
|
|
79
|
-
}
|
|
80
74
|
|
|
81
|
-
|
|
82
|
-
|
|
75
|
+
if (procedureCall !== null) {
|
|
76
|
+
const procedureCallValidates = this.validateProcedureCall(context);
|
|
83
77
|
|
|
84
|
-
|
|
85
|
-
|
|
78
|
+
if (procedureCallValidates) {
|
|
79
|
+
context.commit(this);
|
|
86
80
|
|
|
87
|
-
|
|
81
|
+
validates = true;
|
|
82
|
+
}
|
|
88
83
|
}
|
|
89
|
-
}
|
|
84
|
+
}, context);
|
|
90
85
|
}, context);
|
|
91
86
|
|
|
92
87
|
if (validates) {
|
|
@@ -96,6 +91,30 @@ export default define(class Premise extends ProofAssertion {
|
|
|
96
91
|
return validates;
|
|
97
92
|
}
|
|
98
93
|
|
|
94
|
+
validateStatement(context) {
|
|
95
|
+
let statementValidates = false;
|
|
96
|
+
|
|
97
|
+
const premiseString = this.getString();
|
|
98
|
+
|
|
99
|
+
context.trace(`Validating the '${premiseString}' premise's statsement... `);
|
|
100
|
+
|
|
101
|
+
let statement;
|
|
102
|
+
|
|
103
|
+
statement = this.getStatement();
|
|
104
|
+
|
|
105
|
+
statement = statement.validate(context); ///
|
|
106
|
+
|
|
107
|
+
if (statement !== null) {
|
|
108
|
+
statementValidates = true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (statementValidates) {
|
|
112
|
+
context.debug(`...validated the '${premiseString}' premise's statement. `);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return statementValidates;
|
|
116
|
+
}
|
|
117
|
+
|
|
99
118
|
validateProcedureCall(context) {
|
|
100
119
|
let procedureCallValidates = false;
|
|
101
120
|
|
|
@@ -266,42 +285,37 @@ export default define(class Premise extends ProofAssertion {
|
|
|
266
285
|
}
|
|
267
286
|
|
|
268
287
|
toJSON() {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
context = this.getContext();
|
|
272
|
-
|
|
273
|
-
const ephemeralContext = context, ///
|
|
274
|
-
ephemeralContextJSON = ephemeralContextToEphemeralContextJSON(ephemeralContext),
|
|
275
|
-
contextJSON = ephemeralContextJSON; ///
|
|
288
|
+
const context = this.getContext();
|
|
276
289
|
|
|
277
|
-
context
|
|
290
|
+
return serialise((context) => {
|
|
291
|
+
const string = this.getString(),
|
|
292
|
+
json = {
|
|
293
|
+
context,
|
|
294
|
+
string
|
|
295
|
+
};
|
|
278
296
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
context,
|
|
282
|
-
string
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
return json;
|
|
297
|
+
return json;
|
|
298
|
+
}, context);
|
|
286
299
|
}
|
|
287
300
|
|
|
288
301
|
static name = "Premise";
|
|
289
302
|
|
|
290
303
|
static fromJSON(json, context) {
|
|
291
|
-
|
|
304
|
+
let premise;
|
|
292
305
|
|
|
293
|
-
context
|
|
306
|
+
unserialise((json, context) => {
|
|
307
|
+
instantiate((context) => {
|
|
308
|
+
const { string } = json,
|
|
309
|
+
premiseNode = instantiatePremise(string, context),
|
|
310
|
+
node = premiseNode, ///
|
|
311
|
+
statement = statementFromPremiseNode(premiseNode, context),
|
|
312
|
+
procedureCall = procedureCallFromPremiseNode(premiseNode, context);
|
|
294
313
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
node = premiseNode, ///
|
|
299
|
-
statement = statementFromPremiseNode(premiseNode, context),
|
|
300
|
-
procedureCall = procedureCallFromPremiseNode(premiseNode, context),
|
|
301
|
-
premise = new Premise(context, string, node, statement, procedureCall);
|
|
314
|
+
premise = new Premise(context, string, node, statement, procedureCall);
|
|
315
|
+
}, context);
|
|
316
|
+
}, json, context);
|
|
302
317
|
|
|
303
|
-
|
|
304
|
-
}, context);
|
|
318
|
+
return premise;
|
|
305
319
|
}
|
|
306
320
|
});
|
|
307
321
|
|
|
@@ -6,8 +6,8 @@ import ProofAssertion from "../proofAssertion";
|
|
|
6
6
|
|
|
7
7
|
import { define } from "../../elements";
|
|
8
8
|
import { unifyStatements } from "../../utilities/unification";
|
|
9
|
-
import { attempt, asyncReconcile } from "../../utilities/context";
|
|
10
9
|
import { propertyAssertionFromStatement } from "../../utilities/statement";
|
|
10
|
+
import { derive, attempt, descend, asyncReconcile } from "../../utilities/context";
|
|
11
11
|
|
|
12
12
|
const { asyncSome } = asynchronousUtilities;
|
|
13
13
|
|
|
@@ -46,13 +46,6 @@ export default define(class Step extends ProofAssertion {
|
|
|
46
46
|
return qualified;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
isStated() {
|
|
50
|
-
const qualified = this.isQualified(),
|
|
51
|
-
stated = qualified; ///
|
|
52
|
-
|
|
53
|
-
return stated;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
49
|
compareTermAndPropertyRelation(term, propertyRelation, context) {
|
|
57
50
|
let comparesToTermAndPropertyRelation = false;
|
|
58
51
|
|
|
@@ -107,22 +100,24 @@ export default define(class Step extends ProofAssertion {
|
|
|
107
100
|
|
|
108
101
|
context.trace(`Validating the '${stepString}' step...`);
|
|
109
102
|
|
|
110
|
-
|
|
111
|
-
|
|
103
|
+
derive((context) => {
|
|
104
|
+
attempt((context) => {
|
|
105
|
+
const statementValidates = this.validateStatement(context);
|
|
112
106
|
|
|
113
|
-
|
|
114
|
-
|
|
107
|
+
if (statementValidates) {
|
|
108
|
+
const referenceValidates = this.validateReference(context);
|
|
115
109
|
|
|
116
|
-
|
|
117
|
-
|
|
110
|
+
if (referenceValidates) {
|
|
111
|
+
const satisfiesAssertioValidates = this.validateSatisfiesAssertion(context);
|
|
118
112
|
|
|
119
|
-
|
|
120
|
-
|
|
113
|
+
if (satisfiesAssertioValidates) {
|
|
114
|
+
context.commit(this);
|
|
121
115
|
|
|
122
|
-
|
|
116
|
+
validates = true;
|
|
117
|
+
}
|
|
123
118
|
}
|
|
124
119
|
}
|
|
125
|
-
}
|
|
120
|
+
}, context);
|
|
126
121
|
}, context);
|
|
127
122
|
|
|
128
123
|
if (validates) {
|
|
@@ -155,6 +150,30 @@ export default define(class Step extends ProofAssertion {
|
|
|
155
150
|
return referenceValidates;
|
|
156
151
|
}
|
|
157
152
|
|
|
153
|
+
validateStatement(context) {
|
|
154
|
+
let statementValidates = false;
|
|
155
|
+
|
|
156
|
+
const stepString = this.getString();
|
|
157
|
+
|
|
158
|
+
context.trace(`Validating the '${stepString}' step's statement... `);
|
|
159
|
+
|
|
160
|
+
let statement;
|
|
161
|
+
|
|
162
|
+
statement = this.getStatement();
|
|
163
|
+
|
|
164
|
+
statement = statement.validate(context); ///
|
|
165
|
+
|
|
166
|
+
if (statement !== null) {
|
|
167
|
+
statementValidates = true;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (statementValidates) {
|
|
171
|
+
context.debug(`...validated the '${stepString}' step statement. `);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return statementValidates;
|
|
175
|
+
}
|
|
176
|
+
|
|
158
177
|
validateSatisfiesAssertion(context) {
|
|
159
178
|
let satisfiesAssertionValidates = true; ///
|
|
160
179
|
|
|
@@ -164,12 +183,13 @@ export default define(class Step extends ProofAssertion {
|
|
|
164
183
|
|
|
165
184
|
context.trace(`Validating the '${stepString}' step's '${satisfiesAssertionString}' satisfies assertion... `);
|
|
166
185
|
|
|
167
|
-
|
|
168
|
-
|
|
186
|
+
descend((context) => {
|
|
187
|
+
const satisfiesAssertion = this.satisfiesAssertion.validate(context);
|
|
169
188
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
189
|
+
if (satisfiesAssertion === null) {
|
|
190
|
+
satisfiesAssertionValidates = false;
|
|
191
|
+
}
|
|
192
|
+
}, context);
|
|
173
193
|
|
|
174
194
|
if (satisfiesAssertionValidates) {
|
|
175
195
|
context.debug(`...validating the '${stepString}' step's '${satisfiesAssertionString}' satisfies assertion. `);
|
|
@@ -5,8 +5,7 @@ import ProofAssertion from "../proofAssertion";
|
|
|
5
5
|
import { define } from "../../elements";
|
|
6
6
|
import { instantiateSupposition} from "../../process/instantiate";
|
|
7
7
|
import { procedureCallFromSuppositionNode } from "../../utilities/element";
|
|
8
|
-
import { join, attempt, reconcile, instantiate } from "../../utilities/context";
|
|
9
|
-
import { ephemeralContextFromJSON, ephemeralContextToEphemeralContextJSON } from "../../utilities/json";
|
|
8
|
+
import { join, declare, attempt, reconcile, serialise, unserialise, instantiate } from "../../utilities/context";
|
|
10
9
|
|
|
11
10
|
export default define(class Supposition extends ProofAssertion {
|
|
12
11
|
constructor(context, string, node, statement, procedureCall) {
|
|
@@ -26,12 +25,6 @@ export default define(class Supposition extends ProofAssertion {
|
|
|
26
25
|
return suppositionNode;
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
isStated() {
|
|
30
|
-
const stated = true; ///
|
|
31
|
-
|
|
32
|
-
return stated;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
28
|
async verify(context) {
|
|
36
29
|
let verifies = false;
|
|
37
30
|
|
|
@@ -64,29 +57,31 @@ export default define(class Supposition extends ProofAssertion {
|
|
|
64
57
|
|
|
65
58
|
context.trace(`Validatting the '${suppositionString}' supposition...`);
|
|
66
59
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (statement !== null) {
|
|
72
|
-
const statementValidates = this.validateStatement(context);
|
|
60
|
+
declare((context) => {
|
|
61
|
+
attempt((context) => {
|
|
62
|
+
const statement = this.getStatement(),
|
|
63
|
+
procedureCall = this.getProcedureCall();
|
|
73
64
|
|
|
74
|
-
if (
|
|
75
|
-
|
|
65
|
+
if (statement !== null) {
|
|
66
|
+
const statementValidates = this.validateStatement(context);
|
|
76
67
|
|
|
77
|
-
|
|
68
|
+
if (statementValidates) {
|
|
69
|
+
validates = true;
|
|
70
|
+
}
|
|
78
71
|
}
|
|
79
|
-
}
|
|
80
72
|
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
if (procedureCall !== null) {
|
|
74
|
+
const procedureCallValidates = this.validateProcedureCall(context);
|
|
83
75
|
|
|
84
|
-
|
|
85
|
-
|
|
76
|
+
if (procedureCallValidates) {
|
|
77
|
+
validates = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
86
80
|
|
|
87
|
-
|
|
81
|
+
if (validates) {
|
|
82
|
+
context.commit(this);
|
|
88
83
|
}
|
|
89
|
-
}
|
|
84
|
+
}, context);
|
|
90
85
|
}, context);
|
|
91
86
|
|
|
92
87
|
if (validates) {
|
|
@@ -96,6 +91,30 @@ export default define(class Supposition extends ProofAssertion {
|
|
|
96
91
|
return validates;
|
|
97
92
|
}
|
|
98
93
|
|
|
94
|
+
validateStatement(context) {
|
|
95
|
+
let statementValidates = false;
|
|
96
|
+
|
|
97
|
+
const suppositionString = this.getString();
|
|
98
|
+
|
|
99
|
+
context.trace(`Validating the '${suppositionString}' supposition's statement... `);
|
|
100
|
+
|
|
101
|
+
let statement;
|
|
102
|
+
|
|
103
|
+
statement = this.getStatement();
|
|
104
|
+
|
|
105
|
+
statement = statement.validate(context); ///
|
|
106
|
+
|
|
107
|
+
if (statement !== null) {
|
|
108
|
+
statementValidates = true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (statementValidates) {
|
|
112
|
+
context.debug(`...validated the '${suppositionString}' supposition statement. `);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return statementValidates;
|
|
116
|
+
}
|
|
117
|
+
|
|
99
118
|
validateProcedureCall(context) {
|
|
100
119
|
let procedureCallValidates = false;
|
|
101
120
|
|
|
@@ -288,42 +307,37 @@ export default define(class Supposition extends ProofAssertion {
|
|
|
288
307
|
}
|
|
289
308
|
|
|
290
309
|
toJSON() {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
context = this.getContext();
|
|
294
|
-
|
|
295
|
-
const ephemeralContext = context, ///
|
|
296
|
-
ephemeralContextJSON = ephemeralContextToEphemeralContextJSON(ephemeralContext),
|
|
297
|
-
contextJSON = ephemeralContextJSON; ///
|
|
310
|
+
const context = this.getContext();
|
|
298
311
|
|
|
299
|
-
context
|
|
312
|
+
return serialise((context) => {
|
|
313
|
+
const string = this.getString(),
|
|
314
|
+
json = {
|
|
315
|
+
context,
|
|
316
|
+
string
|
|
317
|
+
};
|
|
300
318
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
context,
|
|
304
|
-
string
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
return json;
|
|
319
|
+
return json;
|
|
320
|
+
}, context);
|
|
308
321
|
}
|
|
309
322
|
|
|
310
323
|
static name = "Supposition";
|
|
311
324
|
|
|
312
325
|
static fromJSON(json, context) {
|
|
313
|
-
|
|
326
|
+
let supposition;
|
|
314
327
|
|
|
315
|
-
context
|
|
328
|
+
unserialise((json, context) => {
|
|
329
|
+
instantiate((context) => {
|
|
330
|
+
const { string } = json,
|
|
331
|
+
suppositionNode = instantiateSupposition(string, context),
|
|
332
|
+
node = suppositionNode, ///
|
|
333
|
+
statement = statementFromSuppositionNode(suppositionNode, context),
|
|
334
|
+
procedureCall = procedureCallFromSuppositionNode(suppositionNode, context);
|
|
316
335
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
node = suppositionNode, ///
|
|
321
|
-
statement = statementFromSuppositionNode(suppositionNode, context),
|
|
322
|
-
procedureCall = procedureCallFromSuppositionNode(suppositionNode, context),
|
|
323
|
-
supposition = new Supposition(context, string, node, statement, procedureCall);
|
|
336
|
+
supposition = new Supposition(context, string, node, statement, procedureCall);
|
|
337
|
+
}, context);
|
|
338
|
+
}, json, context);
|
|
324
339
|
|
|
325
|
-
|
|
326
|
-
}, context);
|
|
340
|
+
return supposition;
|
|
327
341
|
}
|
|
328
342
|
});
|
|
329
343
|
|
|
@@ -51,28 +51,6 @@ export default class ProofAssertion extends Element {
|
|
|
51
51
|
return comparesToStatement;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
validateStatement(context) {
|
|
55
|
-
let statementValidates = false;
|
|
56
|
-
|
|
57
|
-
const statementString = this.statement.getString(),
|
|
58
|
-
proofAssertionString = this.getString(); ///
|
|
59
|
-
|
|
60
|
-
context.trace(`Validating the '${proofAssertionString}' proof assertion's '${statementString}' statement... `);
|
|
61
|
-
|
|
62
|
-
const stated = this.isStated(),
|
|
63
|
-
statement = this.statement.validate(stated, context);
|
|
64
|
-
|
|
65
|
-
if (statement !== null) {
|
|
66
|
-
statementValidates = true;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (statementValidates) {
|
|
70
|
-
context.debug(`...validated the '${proofAssertionString}' proof assertion's '${statementString}' statement. `);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return statementValidates;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
54
|
unifyStatement(statement, generalContext, specificContext) {
|
|
77
55
|
let statementUnifies = false;
|
|
78
56
|
|