occam-verify-cli 1.0.582 → 1.0.584
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/element/derivation.js +169 -14
- package/lib/element/procedureCall.js +176 -16
- package/lib/element/proof.js +161 -17
- package/lib/element/proofAssertion/premise.js +210 -54
- package/lib/element/proofAssertion/step.js +237 -38
- package/lib/element/proofAssertion/supposition.js +43 -35
- package/lib/element/rule.js +142 -69
- package/lib/element/topLevelMetaAssertion/metaLemma.js +22 -14
- package/lib/element/topLevelMetaAssertion/metatheorem.js +22 -14
- package/lib/utilities/context.js +53 -5
- package/lib/utilities/unification.js +397 -182
- package/package.json +4 -4
- package/src/element/derivation.js +6 -5
- package/src/element/procedureCall.js +11 -3
- package/src/element/proof.js +4 -4
- package/src/element/proofAssertion/premise.js +4 -4
- package/src/element/proofAssertion/step.js +11 -8
- package/src/element/proofAssertion/supposition.js +1 -1
- package/src/element/rule.js +11 -11
- package/src/element/topLevelMetaAssertion/metaLemma.js +1 -1
- package/src/element/topLevelMetaAssertion/metatheorem.js +1 -1
- package/src/utilities/context.js +19 -3
- package/src/utilities/unification.js +11 -11
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.584",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
"argumentative": "^2.0.36",
|
|
14
14
|
"necessary": "^17.0.9",
|
|
15
15
|
"occam-file-system": "^6.0.505",
|
|
16
|
-
"occam-furtle": "^3.0.
|
|
16
|
+
"occam-furtle": "^3.0.96",
|
|
17
17
|
"occam-grammars": "^1.3.510",
|
|
18
|
-
"occam-languages": "^0.0.
|
|
18
|
+
"occam-languages": "^0.0.71",
|
|
19
19
|
"occam-lexers": "^23.1.34",
|
|
20
20
|
"occam-model": "^1.0.494",
|
|
21
|
-
"occam-nominal": "^1.0.
|
|
21
|
+
"occam-nominal": "^1.0.34",
|
|
22
22
|
"occam-parsers": "^23.1.37"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element } from "occam-languages";
|
|
4
3
|
import { arrayUtilities } from "necessary";
|
|
4
|
+
import { Element, asynchronousUtilities } from "occam-languages";
|
|
5
5
|
|
|
6
6
|
import assignAssignments from "../process/assign";
|
|
7
7
|
|
|
8
8
|
import { define } from "../elements";
|
|
9
9
|
|
|
10
|
-
const { last } = arrayUtilities
|
|
10
|
+
const { last } = arrayUtilities,
|
|
11
|
+
{ asyncEvery } = asynchronousUtilities;
|
|
11
12
|
|
|
12
13
|
export default define(class Derivation extends Element {
|
|
13
14
|
constructor(context, string, node, subproofOrProofAssertions) {
|
|
@@ -27,12 +28,12 @@ export default define(class Derivation extends Element {
|
|
|
27
28
|
return lastProofAssertion;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
verify(context) {
|
|
31
|
+
async verify(context) {
|
|
31
32
|
let verifies;
|
|
32
33
|
|
|
33
|
-
verifies = this.subproofOrProofAssertions
|
|
34
|
+
verifies = await asyncEvery(this.subproofOrProofAssertions, async (subproofOrProofAssertion) => { ///
|
|
34
35
|
const assignments = [],
|
|
35
|
-
subproofOrProofAssertionVerifies = subproofOrProofAssertion.verify(assignments, context);
|
|
36
|
+
subproofOrProofAssertionVerifies = await subproofOrProofAssertion.verify(assignments, context);
|
|
36
37
|
|
|
37
38
|
if (subproofOrProofAssertionVerifies) {
|
|
38
39
|
const assignmentsAssigned = assignAssignments(assignments, context);
|
|
@@ -66,7 +66,7 @@ export default define(class ProcedureCall extends Element {
|
|
|
66
66
|
return validates;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
unifyIndependently(context) {
|
|
69
|
+
async unifyIndependently(context) {
|
|
70
70
|
let unifiesIndependently = false;
|
|
71
71
|
|
|
72
72
|
const procedureCallString = this.getString(); ///
|
|
@@ -80,9 +80,17 @@ export default define(class ProcedureCall extends Element {
|
|
|
80
80
|
|
|
81
81
|
try {
|
|
82
82
|
const term = procedure.call(terms, context),
|
|
83
|
-
boolean = term.isBoolean();
|
|
83
|
+
boolean = await term.isBoolean();
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
if (!boolean) {
|
|
86
|
+
context.info(`The '${procedureCallString}' procedure call did not return a boolean.`);
|
|
87
|
+
} else {
|
|
88
|
+
const primitiveValue = term.getPrimitiveValue();
|
|
89
|
+
|
|
90
|
+
if (primitiveValue) {
|
|
91
|
+
unifiesIndependently = true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
86
94
|
} catch (exception) {
|
|
87
95
|
const message = exception.getMessage();
|
|
88
96
|
|
package/src/element/proof.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { Element } from "occam-languages";
|
|
4
4
|
|
|
5
|
-
import { scope } from "../utilities/context";
|
|
6
5
|
import { define } from "../elements";
|
|
6
|
+
import { asyncScope } from "../utilities/context";
|
|
7
7
|
|
|
8
8
|
export default define(class Proof extends Element {
|
|
9
9
|
constructor(context, string, node, derivation) {
|
|
@@ -26,11 +26,11 @@ export default define(class Proof extends Element {
|
|
|
26
26
|
return statement;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
verify(conclusion, context) {
|
|
29
|
+
async verify(conclusion, context) {
|
|
30
30
|
let verifies = false;
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
const derivationVerifies = this.derivation.verify(context);
|
|
32
|
+
asyncScope(async (context) => {
|
|
33
|
+
const derivationVerifies = await this.derivation.verify(context);
|
|
34
34
|
|
|
35
35
|
if (derivationVerifies) {
|
|
36
36
|
const lastProofAssertion = context.getLastProofAssertion();
|
|
@@ -24,10 +24,10 @@ export default define(class Premise extends ProofAssertion {
|
|
|
24
24
|
return stated;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
verify(context) {
|
|
27
|
+
async verify(context) {
|
|
28
28
|
let verifies = false;
|
|
29
29
|
|
|
30
|
-
this.break(context);
|
|
30
|
+
await this.break(context);
|
|
31
31
|
|
|
32
32
|
const premiseString = this.getString(); ///
|
|
33
33
|
|
|
@@ -78,7 +78,7 @@ export default define(class Premise extends ProofAssertion {
|
|
|
78
78
|
return verifies;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
unifyIndependently(context) {
|
|
81
|
+
async unifyIndependently(context) {
|
|
82
82
|
let unifiesIndependently = false;
|
|
83
83
|
|
|
84
84
|
const premiseString = this.getString(); ///
|
|
@@ -96,7 +96,7 @@ export default define(class Premise extends ProofAssertion {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
if (this.procedureCall !== null) {
|
|
99
|
-
const procedureCallResolvedIndependently = this.procedureCall.unifyIndependently(context);
|
|
99
|
+
const procedureCallResolvedIndependently = await this.procedureCall.unifyIndependently(context);
|
|
100
100
|
|
|
101
101
|
if (procedureCallResolvedIndependently) {
|
|
102
102
|
unifiesIndependently = true;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { asynchronousUtilities } from "occam-languages";
|
|
4
|
+
|
|
3
5
|
import ProofAssertion from "../proofAssertion";
|
|
4
6
|
|
|
5
7
|
import { define } from "../../elements";
|
|
6
|
-
import {
|
|
7
|
-
import { attempt, liminally } from "../../utilities/context";
|
|
8
|
+
import { asyncAttempt, asyncLiminally } from "../../utilities/context";
|
|
8
9
|
import { propertyAssertionFromStatement } from "../../utilities/statement";
|
|
9
10
|
|
|
11
|
+
const { asyncSome } = asynchronousUtilities;
|
|
12
|
+
|
|
10
13
|
export default define(class Step extends ProofAssertion {
|
|
11
14
|
constructor(context, string, node, statement, reference, satisfiesAssertion) {
|
|
12
15
|
super(context, string, node, statement);
|
|
@@ -55,10 +58,10 @@ export default define(class Step extends ProofAssertion {
|
|
|
55
58
|
return comparesToTermAndPropertyRelation;
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
verify(assignments, context) {
|
|
61
|
+
async verify(assignments, context) {
|
|
59
62
|
let verifies = false;
|
|
60
63
|
|
|
61
|
-
this.break(context);
|
|
64
|
+
await this.break(context);
|
|
62
65
|
|
|
63
66
|
const stepString = this.getString(); ///
|
|
64
67
|
|
|
@@ -67,7 +70,7 @@ export default define(class Step extends ProofAssertion {
|
|
|
67
70
|
const statement = this.getStatement();
|
|
68
71
|
|
|
69
72
|
if (statement !== null) {
|
|
70
|
-
|
|
73
|
+
asyncAttempt(async (context) => {
|
|
71
74
|
const referenceValidates = this.validateReference(context);
|
|
72
75
|
|
|
73
76
|
if (referenceValidates) {
|
|
@@ -79,9 +82,9 @@ export default define(class Step extends ProofAssertion {
|
|
|
79
82
|
if (statementValidates) {
|
|
80
83
|
const reference = this.getReference(),
|
|
81
84
|
satisfiesAssertion = this.getSatisfiesAssertion(),
|
|
82
|
-
statementUnifies =
|
|
83
|
-
const statementUnifies =
|
|
84
|
-
const statementUnifies = unifyStatement(statement, reference, satisfiesAssertion, context);
|
|
85
|
+
statementUnifies = await asyncLiminally(async (context) => {
|
|
86
|
+
const statementUnifies = await asyncSome(async (unifyStatement) => {
|
|
87
|
+
const statementUnifies = await unifyStatement(statement, reference, satisfiesAssertion, context);
|
|
85
88
|
|
|
86
89
|
if (statementUnifies) {
|
|
87
90
|
this.setContext(context);
|
package/src/element/rule.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element } from "occam-languages";
|
|
4
3
|
import { arrayUtilities } from "necessary";
|
|
4
|
+
import { Element, asynchronousUtilities } from "occam-languages";
|
|
5
5
|
|
|
6
6
|
import { scope } from "../utilities/context";
|
|
7
7
|
import { define } from "../elements";
|
|
@@ -11,9 +11,9 @@ import { labelsFromJSON,
|
|
|
11
11
|
labelsToLabelsJSON,
|
|
12
12
|
premisesToPremisesJSON,
|
|
13
13
|
conclusionToConclusionJSON } from "../utilities/json";
|
|
14
|
-
import { subproofOrProofAssertionsStringFromSubproofOrProofAssertions } from "../utilities/string";
|
|
15
14
|
|
|
16
|
-
const { reverse, extract
|
|
15
|
+
const { reverse, extract } = arrayUtilities,
|
|
16
|
+
{ asyncBackwardsEvery } = asynchronousUtilities;
|
|
17
17
|
|
|
18
18
|
export default define(class Rule extends Element {
|
|
19
19
|
constructor(context, string, node, proof, labels, premises, conclusion) {
|
|
@@ -126,13 +126,13 @@ export default define(class Rule extends Element {
|
|
|
126
126
|
return statementUnifiesWithConclusion;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
unifyStatementAndSubproofOrProofAssertions(statement, subproofOrProofAssertions, context) {
|
|
129
|
+
async unifyStatementAndSubproofOrProofAssertions(statement, subproofOrProofAssertions, context) {
|
|
130
130
|
let statementAndSubproofOrProofAssertionsUnify = false;
|
|
131
131
|
|
|
132
132
|
const statementUnifiesWithConclusion = this.unifyStatementWithConclusion(statement, context);
|
|
133
133
|
|
|
134
134
|
if (statementUnifiesWithConclusion) {
|
|
135
|
-
const subproofOrProofAssertionsUnifiesWithPremises = this.unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context);
|
|
135
|
+
const subproofOrProofAssertionsUnifiesWithPremises = await this.unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context);
|
|
136
136
|
|
|
137
137
|
if (subproofOrProofAssertionsUnifiesWithPremises) {
|
|
138
138
|
const substitutionsResolved = context.areSubstitutionsResolved();
|
|
@@ -146,13 +146,13 @@ export default define(class Rule extends Element {
|
|
|
146
146
|
return statementAndSubproofOrProofAssertionsUnify;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context) {
|
|
149
|
+
async unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context) {
|
|
150
150
|
let subproofOrProofAssertionsUnifiesWithPremises;
|
|
151
151
|
|
|
152
152
|
subproofOrProofAssertions = reverse(subproofOrProofAssertions); ///
|
|
153
153
|
|
|
154
|
-
subproofOrProofAssertionsUnifiesWithPremises =
|
|
155
|
-
const stepUnifiesWithPremise = this.unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context);
|
|
154
|
+
subproofOrProofAssertionsUnifiesWithPremises = asyncBackwardsEvery(this.premises, async (premise) => {
|
|
155
|
+
const stepUnifiesWithPremise = await this.unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context);
|
|
156
156
|
|
|
157
157
|
if (stepUnifiesWithPremise) {
|
|
158
158
|
return true;
|
|
@@ -162,7 +162,7 @@ export default define(class Rule extends Element {
|
|
|
162
162
|
return subproofOrProofAssertionsUnifiesWithPremises;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context) {
|
|
165
|
+
async unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context) {
|
|
166
166
|
let subproofOrProofAssertionsUnifiesWithPremise = false;
|
|
167
167
|
|
|
168
168
|
if (!subproofOrProofAssertionsUnifiesWithPremise) {
|
|
@@ -180,7 +180,7 @@ export default define(class Rule extends Element {
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
if (!subproofOrProofAssertionsUnifiesWithPremise) {
|
|
183
|
-
const premiseUnifiesIndependently = premise.unifyIndependently(context);
|
|
183
|
+
const premiseUnifiesIndependently = await premise.unifyIndependently(context);
|
|
184
184
|
|
|
185
185
|
if (premiseUnifiesIndependently) {
|
|
186
186
|
subproofOrProofAssertionsUnifiesWithPremise = true;
|
|
@@ -195,7 +195,7 @@ export default define(class Rule extends Element {
|
|
|
195
195
|
|
|
196
196
|
const context = this.getContext();
|
|
197
197
|
|
|
198
|
-
this.break(context);
|
|
198
|
+
await this.break(context);
|
|
199
199
|
|
|
200
200
|
const ruleString = this.getString(); ///
|
|
201
201
|
|
package/src/utilities/context.js
CHANGED
|
@@ -37,6 +37,14 @@ export function literally(innerFunction, context) {
|
|
|
37
37
|
return innerFunction(context);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
export async function asyncScope(innerFunction, context) {
|
|
41
|
+
const scopedContext = ScopedContext.fromNothing(context);
|
|
42
|
+
|
|
43
|
+
context = scopedContext; ///
|
|
44
|
+
|
|
45
|
+
return await innerFunction(context);
|
|
46
|
+
}
|
|
47
|
+
|
|
40
48
|
export async function asyncAttempt(innerFunction, context) {
|
|
41
49
|
const ephemeralContext = EphemeralContext.fromNothing(context);
|
|
42
50
|
|
|
@@ -45,10 +53,18 @@ export async function asyncAttempt(innerFunction, context) {
|
|
|
45
53
|
return await innerFunction(context);
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
export async function
|
|
49
|
-
const
|
|
56
|
+
export async function asyncLiminally(innerFunction, context) {
|
|
57
|
+
const liminalContext = LiminalContext.fromNothing(context);
|
|
50
58
|
|
|
51
|
-
context =
|
|
59
|
+
context = liminalContext; ///
|
|
60
|
+
|
|
61
|
+
return await innerFunction(context);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export async function asyncLiterally(innerFunction, context) {
|
|
65
|
+
const literalContext = LiteralContext.fromNothing(context);
|
|
66
|
+
|
|
67
|
+
context = literalContext; ///
|
|
52
68
|
|
|
53
69
|
return await innerFunction(context);
|
|
54
70
|
}
|
|
@@ -12,7 +12,7 @@ import { equalityFromStatement,
|
|
|
12
12
|
|
|
13
13
|
const { backwardsSome } = arrayUtilities;
|
|
14
14
|
|
|
15
|
-
function unifyStatementWithRule(statement, reference, satisfiesAssertion, context) {
|
|
15
|
+
async function unifyStatementWithRule(statement, reference, satisfiesAssertion, context) {
|
|
16
16
|
let statementUnifiesWithRule = false;
|
|
17
17
|
|
|
18
18
|
if (reference !== null) {
|
|
@@ -25,7 +25,7 @@ function unifyStatementWithRule(statement, reference, satisfiesAssertion, contex
|
|
|
25
25
|
context.trace(`Unifying the '${statementString}' statement with the '${ruleString}' rule...`);
|
|
26
26
|
|
|
27
27
|
const subproofOrProofAssertions = context.getSubproofOrProofAssertions(),
|
|
28
|
-
statementAndSubproofOrProofAssertionsUnify = rule.unifyStatementAndSubproofOrProofAssertions(statement, subproofOrProofAssertions, context);
|
|
28
|
+
statementAndSubproofOrProofAssertionsUnify = await rule.unifyStatementAndSubproofOrProofAssertions(statement, subproofOrProofAssertions, context);
|
|
29
29
|
|
|
30
30
|
if (statementAndSubproofOrProofAssertionsUnify) {
|
|
31
31
|
statementUnifiesWithRule = true;
|
|
@@ -40,7 +40,7 @@ function unifyStatementWithRule(statement, reference, satisfiesAssertion, contex
|
|
|
40
40
|
return statementUnifiesWithRule;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function unifyStatementWithReference(statement, reference, satisfiesAssertion, context) {
|
|
43
|
+
async function unifyStatementWithReference(statement, reference, satisfiesAssertion, context) {
|
|
44
44
|
let statementUnifiesWithReference = false;
|
|
45
45
|
|
|
46
46
|
if (reference !== null) {
|
|
@@ -74,7 +74,7 @@ function unifyStatementWithReference(statement, reference, satisfiesAssertion, c
|
|
|
74
74
|
return statementUnifiesWithReference;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
function unifyStatementAsSatisfiesAssertion(statement, reference, satisfiesAssertion, context) {
|
|
77
|
+
async function unifyStatementAsSatisfiesAssertion(statement, reference, satisfiesAssertion, context) {
|
|
78
78
|
let statementUnifiesAsSatisfiesAssertion = false;
|
|
79
79
|
|
|
80
80
|
satisfiesAssertion = satisfiesAssertionFromStatement(statement, context);
|
|
@@ -138,7 +138,7 @@ function unifyStatementAsSatisfiesAssertion(statement, reference, satisfiesAsser
|
|
|
138
138
|
return statementUnifiesAsSatisfiesAssertion;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
function unifyStatementWithTopLevelAssertion(statement, reference, satisfiesAssertion, context) {
|
|
141
|
+
async function unifyStatementWithTopLevelAssertion(statement, reference, satisfiesAssertion, context) {
|
|
142
142
|
let statementUnifiesWithTopLevelAssertion = false;
|
|
143
143
|
|
|
144
144
|
if (reference !== null) {
|
|
@@ -179,7 +179,7 @@ function unifyStatementWithTopLevelAssertion(statement, reference, satisfiesAsse
|
|
|
179
179
|
return statementUnifiesWithTopLevelAssertion;
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
function unifyStatementAEquality(statement, reference, satisfiesAssertion, context) {
|
|
182
|
+
async function unifyStatementAEquality(statement, reference, satisfiesAssertion, context) {
|
|
183
183
|
let statementUnifiesAEquality = false;
|
|
184
184
|
|
|
185
185
|
if (reference === null) {
|
|
@@ -205,7 +205,7 @@ function unifyStatementAEquality(statement, reference, satisfiesAssertion, conte
|
|
|
205
205
|
return statementUnifiesAEquality;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
function unifyStatementAsJudgement(statement, reference, satisfiesAssertion, context) {
|
|
208
|
+
async function unifyStatementAsJudgement(statement, reference, satisfiesAssertion, context) {
|
|
209
209
|
let statementUnifiesAsJudgement = false;
|
|
210
210
|
|
|
211
211
|
if (reference === null) {
|
|
@@ -227,7 +227,7 @@ function unifyStatementAsJudgement(statement, reference, satisfiesAssertion, con
|
|
|
227
227
|
return statementUnifiesAsJudgement;
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
-
function unifyStatementAsTypeAssertion(statement, reference, satisfiesAssertion, context) {
|
|
230
|
+
async function unifyStatementAsTypeAssertion(statement, reference, satisfiesAssertion, context) {
|
|
231
231
|
let statementUnifiesAsTypeAssertion = false;
|
|
232
232
|
|
|
233
233
|
if (reference === null) {
|
|
@@ -247,7 +247,7 @@ function unifyStatementAsTypeAssertion(statement, reference, satisfiesAssertion,
|
|
|
247
247
|
return statementUnifiesAsTypeAssertion;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
function unifyStatementAsPropertyAssertion(statement, reference, satisfiesAssertion, context) {
|
|
250
|
+
async function unifyStatementAsPropertyAssertion(statement, reference, satisfiesAssertion, context) {
|
|
251
251
|
let statementUnifiesAsPropertyAssertion = false;
|
|
252
252
|
|
|
253
253
|
if (reference === null) {
|
|
@@ -285,7 +285,7 @@ function unifyStatementAsPropertyAssertion(statement, reference, satisfiesAssert
|
|
|
285
285
|
return statementUnifiesAsPropertyAssertion;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
function unifyStatementWithSatisfiesAssertion(statement, reference, satisfiesAssertion, context) {
|
|
288
|
+
async function unifyStatementWithSatisfiesAssertion(statement, reference, satisfiesAssertion, context) {
|
|
289
289
|
let statementUnifiesWithSatisfiesAssertion = false;
|
|
290
290
|
|
|
291
291
|
if (satisfiesAssertion !== null) {
|
|
@@ -309,7 +309,7 @@ function unifyStatementWithSatisfiesAssertion(statement, reference, satisfiesAss
|
|
|
309
309
|
return statementUnifiesWithSatisfiesAssertion;
|
|
310
310
|
}
|
|
311
311
|
|
|
312
|
-
function compareStatementWithSubproofOrProofAssertions(statement, reference, satisfiesAssertion, context) {
|
|
312
|
+
async function compareStatementWithSubproofOrProofAssertions(statement, reference, satisfiesAssertion, context) {
|
|
313
313
|
let statementEquatesWithStepOrSubproofs = false;
|
|
314
314
|
|
|
315
315
|
if (reference === null) {
|