occam-verify-cli 0.0.908 → 0.0.910
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.js +1 -29
- package/lib/context/local.js +9 -14
- package/lib/context/localMeta.js +9 -14
- package/lib/declaration.js +3 -3
- package/lib/metaSupposition.js +4 -4
- package/lib/premise.js +4 -4
- package/lib/step/metaproof.js +12 -51
- package/lib/step/proof.js +8 -20
- package/lib/substitution/metastatementForMetavariable.js +4 -4
- package/lib/substitution/statementForMetavariable.js +5 -5
- package/lib/utilities/match.js +96 -0
- package/lib/verify/metaDerivation.js +7 -7
- package/lib/verify/metaSubDerivation.js +6 -6
- package/lib/verify/{metaProofStep.js → metaproofStep.js} +11 -11
- package/lib/verify/metastatement/unqualified.js +2 -5
- package/package.json +4 -4
- package/src/context/file.js +0 -24
- package/src/context/local.js +9 -15
- package/src/context/localMeta.js +9 -15
- package/src/declaration.js +2 -2
- package/src/metaSupposition.js +3 -3
- package/src/premise.js +3 -3
- package/src/step/metaproof.js +11 -72
- package/src/step/proof.js +7 -25
- package/src/substitution/metastatementForMetavariable.js +3 -3
- package/src/substitution/statementForMetavariable.js +1 -1
- package/src/utilities/match.js +100 -0
- package/src/verify/metaDerivation.js +6 -6
- package/src/verify/metaSubDerivation.js +6 -6
- package/src/verify/{metaProofStep.js → metaproofStep.js} +17 -17
- package/src/verify/metastatement/unqualified.js +1 -5
- package/lib/utilities/metaproof.js +0 -59
- package/lib/utilities/proof.js +0 -59
- package/src/utilities/metaproof.js +0 -53
- package/src/utilities/proof.js +0 -53
package/src/step/metaproof.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { first, second } from "../utilities/array";
|
|
4
|
-
import { matchMetastatement } from "../utilities/metaproof";
|
|
5
|
-
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
6
|
-
|
|
7
|
-
const metastatementNodesQuery = nodesQuery("/subproofAssertion/metastatement"),
|
|
8
|
-
ruleSubproofAssertionNodeQuery = nodeQuery("/metastatement/subproofAssertion"),
|
|
9
|
-
qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery = nodesQuery("/ruleSubproof/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
|
|
10
|
-
|
|
11
3
|
export default class MetaproofStep {
|
|
12
4
|
constructor(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode) {
|
|
13
5
|
this.statementNode = statementNode;
|
|
@@ -32,94 +24,41 @@ export default class MetaproofStep {
|
|
|
32
24
|
return this.metastatementNode;
|
|
33
25
|
}
|
|
34
26
|
|
|
35
|
-
match(metastatementNode) {
|
|
36
|
-
let matches = false;
|
|
37
|
-
|
|
38
|
-
if (!matches) {
|
|
39
|
-
const ruleSubproofAssertionNode = ruleSubproofAssertionNodeQuery(metastatementNode);
|
|
40
|
-
|
|
41
|
-
if (ruleSubproofAssertionNode !== null) {
|
|
42
|
-
const ruleSubproofAssertionMatches = this.matchRuleSubproofAssertion(ruleSubproofAssertionNode);
|
|
43
|
-
|
|
44
|
-
matches = ruleSubproofAssertionMatches; ///
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (!matches) {
|
|
49
|
-
const metastatementMatches = this.matchMetastatement(metastatementNode);
|
|
50
|
-
|
|
51
|
-
matches = metastatementMatches; ///
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return matches;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
27
|
matchMetastatement(metastatementNode) {
|
|
58
|
-
let
|
|
28
|
+
let matches = false;
|
|
59
29
|
|
|
60
30
|
if (this.metastatementNode !== null) {
|
|
61
|
-
|
|
62
|
-
metastatementNodeB = this.metastatementNode; ///
|
|
63
|
-
|
|
64
|
-
metastatementMatches = matchMetastatement(metastatementNodeA, metastatementNodeB);
|
|
31
|
+
matches = this.metastatementNode.match(metastatementNode);
|
|
65
32
|
}
|
|
66
33
|
|
|
67
|
-
return
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
matchRuleSubproofAssertion(ruleSubproofAssertionNode) {
|
|
71
|
-
let ruleSubproofAssertionMatches = false;
|
|
72
|
-
|
|
73
|
-
if (this.ruleSubproofNode !== null) {
|
|
74
|
-
const ruleSubproofAssertionMetastatementNodes = metastatementNodesQuery(ruleSubproofAssertionNode),
|
|
75
|
-
firstRuleSubproofAssertionMetastatementNode = first(ruleSubproofAssertionMetastatementNodes),
|
|
76
|
-
qualifiedOrUnqualifiedMetastatementMetastatementNodes = qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery(this.ruleSubproofNode),
|
|
77
|
-
firstQualifiedOrUnqualifiedMetastatementMetastatementNode = first(qualifiedOrUnqualifiedMetastatementMetastatementNodes);
|
|
78
|
-
|
|
79
|
-
const metastatementNodeA = firstRuleSubproofAssertionMetastatementNode, ///
|
|
80
|
-
metastatementNodeB = firstQualifiedOrUnqualifiedMetastatementMetastatementNode, ///
|
|
81
|
-
metastatementMatches = matchMetastatement(metastatementNodeA, metastatementNodeB);
|
|
82
|
-
|
|
83
|
-
if (metastatementMatches) {
|
|
84
|
-
const secondRuleSubproofAssertionMetastatementNode = second(ruleSubproofAssertionMetastatementNodes),
|
|
85
|
-
secondQualifiedOrUnqualifiedMetastatementMetastatementNode = second(qualifiedOrUnqualifiedMetastatementMetastatementNodes);
|
|
86
|
-
|
|
87
|
-
const metastatementNodeA = secondRuleSubproofAssertionMetastatementNode, ///
|
|
88
|
-
metastatementNodeB = secondQualifiedOrUnqualifiedMetastatementMetastatementNode, ///
|
|
89
|
-
metastatementMatches = matchMetastatement(metastatementNodeA, metastatementNodeB);
|
|
90
|
-
|
|
91
|
-
ruleSubproofAssertionMatches = metastatementMatches; ///
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return ruleSubproofAssertionMatches;
|
|
34
|
+
return matches;
|
|
96
35
|
}
|
|
97
36
|
|
|
98
37
|
static fromStatementNode(statementNode) {
|
|
99
38
|
const ruleSubproofNode = null,
|
|
100
39
|
metaSubproofNode = null,
|
|
101
40
|
metastatementNode = null,
|
|
102
|
-
|
|
41
|
+
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
103
42
|
|
|
104
|
-
return
|
|
43
|
+
return metaproofStep;
|
|
105
44
|
}
|
|
106
45
|
|
|
107
46
|
static fromRuleSubproofNode(ruleSubproofNode) {
|
|
108
47
|
const statementNode = null,
|
|
109
48
|
metaSubproofNode = null,
|
|
110
49
|
metastatementNode = null,
|
|
111
|
-
|
|
50
|
+
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
112
51
|
|
|
113
|
-
return
|
|
52
|
+
return metaproofStep;
|
|
114
53
|
}
|
|
115
54
|
|
|
116
55
|
static fromMetaSubproofNode(metaSubproofNode) {
|
|
117
56
|
const statementNode = null,
|
|
118
57
|
ruleSubproofNode = null,
|
|
119
58
|
metastatementNode = null,
|
|
120
|
-
|
|
59
|
+
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
121
60
|
|
|
122
|
-
return
|
|
61
|
+
return metaproofStep;
|
|
123
62
|
|
|
124
63
|
}
|
|
125
64
|
|
|
@@ -127,8 +66,8 @@ export default class MetaproofStep {
|
|
|
127
66
|
const statementNode = null,
|
|
128
67
|
ruleSubproofNode = null,
|
|
129
68
|
metaSubproofNode = null,
|
|
130
|
-
|
|
69
|
+
metaproofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
131
70
|
|
|
132
|
-
return
|
|
71
|
+
return metaproofStep;
|
|
133
72
|
}
|
|
134
73
|
}
|
package/src/step/proof.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { META_ARGUMENT_RULE_NAME } from "../ruleNames";
|
|
4
|
-
import { matchStatementModuloBrackets } from "../utilities/proof";
|
|
5
|
-
|
|
6
3
|
export default class ProofStep {
|
|
7
4
|
constructor(subproofNode, statementNode) {
|
|
8
5
|
this.subproofNode = subproofNode;
|
|
@@ -17,42 +14,27 @@ export default class ProofStep {
|
|
|
17
14
|
return this.statementNode;
|
|
18
15
|
}
|
|
19
16
|
|
|
20
|
-
match(statementNode) {
|
|
21
|
-
let matches;
|
|
22
|
-
|
|
23
|
-
const statementMatches = this.matchStatement(statementNode);
|
|
24
|
-
|
|
25
|
-
matches = statementMatches; //
|
|
26
|
-
|
|
27
|
-
return matches;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
17
|
matchStatement(statementNode) {
|
|
31
|
-
let
|
|
18
|
+
let matches = false;
|
|
32
19
|
|
|
33
20
|
if (this.statementNode !== null) {
|
|
34
|
-
|
|
35
|
-
statementNodeA = statementNode, ///
|
|
36
|
-
statementNodeB = this.statementNode, ///
|
|
37
|
-
statementMatchesModuloBrackets = matchStatementModuloBrackets(statementNodeA, statementNodeB, ruleName);
|
|
38
|
-
|
|
39
|
-
statementMatches = statementMatchesModuloBrackets; ///
|
|
21
|
+
matches = this.statementNode.match(statementNode);
|
|
40
22
|
}
|
|
41
23
|
|
|
42
|
-
return
|
|
24
|
+
return matches;
|
|
43
25
|
}
|
|
44
26
|
|
|
45
27
|
static fromSubproofNode(subproofNode) {
|
|
46
28
|
const statementNode = null,
|
|
47
|
-
|
|
29
|
+
proofStep = new ProofStep(subproofNode, statementNode);
|
|
48
30
|
|
|
49
|
-
return
|
|
31
|
+
return proofStep;
|
|
50
32
|
}
|
|
51
33
|
|
|
52
34
|
static fromStatementNode(statementNode) {
|
|
53
35
|
const subproofNode = null,
|
|
54
|
-
|
|
36
|
+
proofStep = new ProofStep(subproofNode, statementNode);
|
|
55
37
|
|
|
56
|
-
return
|
|
38
|
+
return proofStep;
|
|
57
39
|
}
|
|
58
40
|
}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import Substitution from "../substitution";
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { nodeAsString } from "../utilities/string";
|
|
6
|
+
import { bracketedMetastatementChildNodeFromMetastatementNode } from "../utilities/match";
|
|
7
|
+
import { metavariableNodeFromMetavariableString, metastatementNodeFromMetastatementString } from "../utilities/node";
|
|
8
8
|
|
|
9
9
|
export default class MetastatementForMetavariableSubstitution extends Substitution {
|
|
10
10
|
constructor(metavariableNode, metastatementNode) {
|
|
@@ -4,7 +4,7 @@ import Substitution from "../substitution";
|
|
|
4
4
|
import TermForVariableSubstitution from "./termForVariable";
|
|
5
5
|
import verifyStatementAgainstStatement from "../verify/statementAtainstStatement";
|
|
6
6
|
|
|
7
|
-
import { bracketedStatementChildNodeFromStatementNode } from "../utilities/
|
|
7
|
+
import { bracketedStatementChildNodeFromStatementNode } from "../utilities/match";
|
|
8
8
|
|
|
9
9
|
export default class StatementForMetavariableSubstitution extends Substitution {
|
|
10
10
|
constructor(metavariableNode, statementNode, substitution) {
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import bracketedStatementNode from "../node/statement/bracketed";
|
|
4
|
+
import bracketedMetastatementNode from "../node/metastatement/bracketed";
|
|
5
|
+
|
|
6
|
+
import { nodeQuery } from "../utilities/query";
|
|
7
|
+
import { BRACKETED_STATEMENT_DEPTH, BRACKETED_METASTATEMENT_DEPTH } from "../constants";
|
|
8
|
+
|
|
9
|
+
const bracketedStatementChildNodeQuery = nodeQuery("/statement/metaArgument!/statement!"),
|
|
10
|
+
bracketedMetastatementChildNodeQuery = nodeQuery("/metastatement/metastatement!");
|
|
11
|
+
|
|
12
|
+
export function matchStatementModuloBrackets(statementNodeA, statementNodeB) {
|
|
13
|
+
let statementMatchesModuloBrackets = false;
|
|
14
|
+
|
|
15
|
+
if (!statementMatchesModuloBrackets) {
|
|
16
|
+
const statementNodeMatches = statementNodeA.match(statementNodeB);
|
|
17
|
+
|
|
18
|
+
statementMatchesModuloBrackets = statementNodeMatches; ///
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (!statementMatchesModuloBrackets) {
|
|
22
|
+
const bracketedStatementChildNodeA = bracketedStatementChildNodeFromStatementNode(statementNodeA);
|
|
23
|
+
|
|
24
|
+
if (bracketedStatementChildNodeA !== null) {
|
|
25
|
+
const bracketedStatementChildNodeAMatchStatementNodeB = bracketedStatementChildNodeA.match(statementNodeB);
|
|
26
|
+
|
|
27
|
+
statementMatchesModuloBrackets = bracketedStatementChildNodeAMatchStatementNodeB; ///
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (!statementMatchesModuloBrackets) {
|
|
32
|
+
const bracketedStatementChildNodeB = bracketedStatementChildNodeFromStatementNode(statementNodeB);
|
|
33
|
+
|
|
34
|
+
if (bracketedStatementChildNodeB !== null) {
|
|
35
|
+
const statementNodeAMatchBracketedStatementChildNodeB = statementNodeA.match(bracketedStatementChildNodeB);
|
|
36
|
+
|
|
37
|
+
statementMatchesModuloBrackets = statementNodeAMatchBracketedStatementChildNodeB; ///
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return statementMatchesModuloBrackets;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function matchMetastatementModuloBrackets(metastatementNodeA, metastatementNodeB) {
|
|
45
|
+
let metastatementMatches = false;
|
|
46
|
+
|
|
47
|
+
if (!metastatementMatches) {
|
|
48
|
+
const metastatementNodeMatches = metastatementNodeA.match(metastatementNodeB);
|
|
49
|
+
|
|
50
|
+
metastatementMatches = metastatementNodeMatches; ///
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (!metastatementMatches) {
|
|
54
|
+
const bracketedMetastatementChildNodeA = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeA);
|
|
55
|
+
|
|
56
|
+
if (bracketedMetastatementChildNodeA !== null) {
|
|
57
|
+
const bracketedMetastatementChildNodeAMatchesMetastatementNodeB = bracketedMetastatementChildNodeA.match(metastatementNodeB);
|
|
58
|
+
|
|
59
|
+
metastatementMatches = bracketedMetastatementChildNodeAMatchesMetastatementNodeB; ///
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (!metastatementMatches) {
|
|
64
|
+
const bracketedMetastatementChildNodeB = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeB);
|
|
65
|
+
|
|
66
|
+
if (bracketedMetastatementChildNodeB !== null) {
|
|
67
|
+
const metastatementNodeAMatchesBracketedMetastatementChildNodeB = metastatementNodeA.match(bracketedMetastatementChildNodeB);
|
|
68
|
+
|
|
69
|
+
metastatementMatches = metastatementNodeAMatchesBracketedMetastatementChildNodeB; ///
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return metastatementMatches;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function bracketedStatementChildNodeFromStatementNode(statementNode) {
|
|
77
|
+
let bracketedStatementChildNode = null;
|
|
78
|
+
|
|
79
|
+
const depth = BRACKETED_STATEMENT_DEPTH,
|
|
80
|
+
statementNodeMatchBracketedStatementNode = statementNode.match(bracketedStatementNode, depth);
|
|
81
|
+
|
|
82
|
+
if (statementNodeMatchBracketedStatementNode) {
|
|
83
|
+
bracketedStatementChildNode = bracketedStatementChildNodeQuery(statementNode);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return bracketedStatementChildNode;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode) {
|
|
90
|
+
let bracketedMetastatementChildNode = null;
|
|
91
|
+
|
|
92
|
+
const depth = BRACKETED_METASTATEMENT_DEPTH,
|
|
93
|
+
metastatementNodeMatchesBracketedMetastatementNode = metastatementNode.match(bracketedMetastatementNode, depth);
|
|
94
|
+
|
|
95
|
+
if (metastatementNodeMatchesBracketedMetastatementNode) {
|
|
96
|
+
bracketedMetastatementChildNode = bracketedMetastatementChildNodeQuery(metastatementNode);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return bracketedMetastatementChildNode;
|
|
100
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import verifyMetaproofStep from "../verify/metaproofStep";
|
|
4
4
|
|
|
5
5
|
import { nodesQuery } from "../utilities/query";
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const metaproofStepNodesQuery = nodesQuery("/metaDerivation/metaproofStep|lastMetaproofStep");
|
|
8
8
|
|
|
9
9
|
export default function verifyMetaDerivation(metaDerivationNode, substitutions, localMetaContext) {
|
|
10
10
|
let metaDerivationVerified;
|
|
11
11
|
|
|
12
|
-
const
|
|
12
|
+
const metaproofStepNodes = metaproofStepNodesQuery(metaDerivationNode);
|
|
13
13
|
|
|
14
|
-
metaDerivationVerified =
|
|
15
|
-
const
|
|
14
|
+
metaDerivationVerified = metaproofStepNodes.every((metaproofStepNode) => {
|
|
15
|
+
const metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext);
|
|
16
16
|
|
|
17
|
-
if (
|
|
17
|
+
if (metaproofStepVerified) {
|
|
18
18
|
return true;
|
|
19
19
|
}
|
|
20
20
|
});
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { nodesQuery } from "../utilities/query";
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const metaproofStepNodesQuery = nodesQuery("/metaSubDerivation/metaproofStep|lastMetaproofStep");
|
|
6
6
|
|
|
7
7
|
export default function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext) {
|
|
8
8
|
let metaSubDerivationVerified;
|
|
9
9
|
|
|
10
|
-
const
|
|
10
|
+
const metaproofStepNodes = metaproofStepNodesQuery(metaSubDerivationNode);
|
|
11
11
|
|
|
12
|
-
metaSubDerivationVerified =
|
|
13
|
-
const {
|
|
14
|
-
|
|
12
|
+
metaSubDerivationVerified = metaproofStepNodes.every((metaproofStepNode) => {
|
|
13
|
+
const { verifyMetaproofStep } = verifyMetaSubDerivation,
|
|
14
|
+
metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext);
|
|
15
15
|
|
|
16
|
-
if (
|
|
16
|
+
if (metaproofStepVerified) {
|
|
17
17
|
return true;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
@@ -11,21 +11,21 @@ import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified"
|
|
|
11
11
|
import { nodeQuery } from "../utilities/query";
|
|
12
12
|
import { assignAssignment } from "../utilities/assignments";
|
|
13
13
|
|
|
14
|
-
const metaSubproofNodeQuery = nodeQuery("/
|
|
14
|
+
const metaSubproofNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/metaSubproof!"),
|
|
15
15
|
metastatementNodeQuery = nodeQuery("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!"),
|
|
16
|
-
qualifiedStatementNodeQuery = nodeQuery("/
|
|
17
|
-
unqualifiedStatementNodeQuery = nodeQuery("/
|
|
18
|
-
qualifiedMetastatementNodeQuery = nodeQuery("/
|
|
19
|
-
unqualifiedMetastatementNodeQuery = nodeQuery("/
|
|
16
|
+
qualifiedStatementNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/qualifiedStatement!"),
|
|
17
|
+
unqualifiedStatementNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/unqualifiedStatement!"),
|
|
18
|
+
qualifiedMetastatementNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/qualifiedMetastatement!"),
|
|
19
|
+
unqualifiedMetastatementNodeQuery = nodeQuery("/metaproofStep|lastMetaproofStep/unqualifiedMetastatement!");
|
|
20
20
|
|
|
21
|
-
export default function
|
|
22
|
-
let
|
|
21
|
+
export default function verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext) {
|
|
22
|
+
let metaproofStepVerified = false;
|
|
23
23
|
|
|
24
|
-
const metaSubproofNode = metaSubproofNodeQuery(
|
|
25
|
-
qualifiedStatementNode = qualifiedStatementNodeQuery(
|
|
26
|
-
unqualifiedStatementNode = unqualifiedStatementNodeQuery(
|
|
27
|
-
qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(
|
|
28
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(
|
|
24
|
+
const metaSubproofNode = metaSubproofNodeQuery(metaproofStepNode),
|
|
25
|
+
qualifiedStatementNode = qualifiedStatementNodeQuery(metaproofStepNode),
|
|
26
|
+
unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaproofStepNode),
|
|
27
|
+
qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofStepNode),
|
|
28
|
+
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaproofStepNode);
|
|
29
29
|
|
|
30
30
|
if (false) {
|
|
31
31
|
///
|
|
@@ -39,7 +39,7 @@ export default function verifyMetaProofStep(metaProofStepNode, substitutions, lo
|
|
|
39
39
|
|
|
40
40
|
localMetaContext.addMetaproofStep(metaproofStep);
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
metaproofStepVerified = true;
|
|
43
43
|
}
|
|
44
44
|
} else if (qualifiedStatementNode !== null) {
|
|
45
45
|
debugger
|
|
@@ -65,7 +65,7 @@ export default function verifyMetaProofStep(metaProofStepNode, substitutions, lo
|
|
|
65
65
|
|
|
66
66
|
localMetaContext.addMetaproofStep(metaproofStep);
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
metaproofStepVerified = qualifiedMetastatementVerified; ///
|
|
69
69
|
}
|
|
70
70
|
} else if (unqualifiedMetastatementNode !== null) {
|
|
71
71
|
let unqualifiedMetastatementVerified;
|
|
@@ -88,13 +88,13 @@ export default function verifyMetaProofStep(metaProofStepNode, substitutions, lo
|
|
|
88
88
|
|
|
89
89
|
localMetaContext.addMetaproofStep(metaproofStep);
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
metaproofStepVerified = true;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
return
|
|
95
|
+
return metaproofStepVerified;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
Object.assign(verifyMetaSubDerivation, {
|
|
99
|
-
|
|
99
|
+
verifyMetaproofStep
|
|
100
100
|
});
|
|
@@ -21,11 +21,7 @@ export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementN
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
if (!unqualifiedMetastatementVerified) {
|
|
24
|
-
const metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext
|
|
25
|
-
const verifiedAhead = true;
|
|
26
|
-
|
|
27
|
-
return verifiedAhead;
|
|
28
|
-
});
|
|
24
|
+
const metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext);
|
|
29
25
|
|
|
30
26
|
unqualifiedMetastatementVerified = metastatementVerified; ///
|
|
31
27
|
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
bracketedMetastatementChildNodeFromMetastatementNode: function() {
|
|
13
|
-
return bracketedMetastatementChildNodeFromMetastatementNode;
|
|
14
|
-
},
|
|
15
|
-
matchMetastatement: function() {
|
|
16
|
-
return matchMetastatement;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../node/metastatement/bracketed"));
|
|
20
|
-
var _query = require("../utilities/query");
|
|
21
|
-
var _constants = require("../constants");
|
|
22
|
-
function _interop_require_default(obj) {
|
|
23
|
-
return obj && obj.__esModule ? obj : {
|
|
24
|
-
default: obj
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
var bracketedMetastatementChildNodeQuery = (0, _query.nodeQuery)("/metastatement/metastatement!");
|
|
28
|
-
function matchMetastatement(metastatementNodeA, metastatementNodeB) {
|
|
29
|
-
var metastatementMatches = false;
|
|
30
|
-
if (!metastatementMatches) {
|
|
31
|
-
var metastatementNodeMatches = metastatementNodeA.match(metastatementNodeB);
|
|
32
|
-
metastatementMatches = metastatementNodeMatches; ///
|
|
33
|
-
}
|
|
34
|
-
if (!metastatementMatches) {
|
|
35
|
-
var bracketedMetastatementChildNodeA = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeA);
|
|
36
|
-
if (bracketedMetastatementChildNodeA !== null) {
|
|
37
|
-
var bracketedMetastatementChildNodeAMatchesMetastatementNodeB = bracketedMetastatementChildNodeA.match(metastatementNodeB);
|
|
38
|
-
metastatementMatches = bracketedMetastatementChildNodeAMatchesMetastatementNodeB; ///
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (!metastatementMatches) {
|
|
42
|
-
var bracketedMetastatementChildNodeB = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeB);
|
|
43
|
-
if (bracketedMetastatementChildNodeB !== null) {
|
|
44
|
-
var metastatementNodeAMatchesBracketedMetastatementChildNodeB = metastatementNodeA.match(bracketedMetastatementChildNodeB);
|
|
45
|
-
metastatementMatches = metastatementNodeAMatchesBracketedMetastatementChildNodeB; ///
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return metastatementMatches;
|
|
49
|
-
}
|
|
50
|
-
function bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode) {
|
|
51
|
-
var bracketedMetastatementChildNode = null;
|
|
52
|
-
var depth = _constants.BRACKETED_METASTATEMENT_DEPTH, metastatementNodeMatchesBracketedMetastatementNode = metastatementNode.match(_bracketed.default, depth);
|
|
53
|
-
if (metastatementNodeMatchesBracketedMetastatementNode) {
|
|
54
|
-
bracketedMetastatementChildNode = bracketedMetastatementChildNodeQuery(metastatementNode);
|
|
55
|
-
}
|
|
56
|
-
return bracketedMetastatementChildNode;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYnJhY2tldGVkTWV0YXN0YXRlbWVudE5vZGUgZnJvbSBcIi4uL25vZGUvbWV0YXN0YXRlbWVudC9icmFja2V0ZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgQlJBQ0tFVEVEX01FVEFTVEFURU1FTlRfREVQVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlQSwgbWV0YXN0YXRlbWVudE5vZGVCKSB7XG4gIGxldCBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGlmICghbWV0YXN0YXRlbWVudE1hdGNoZXMpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhc3RhdGVtZW50Tm9kZUEubWF0Y2gobWV0YXN0YXRlbWVudE5vZGVCKTtcblxuICAgIG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBpZiAoIW1ldGFzdGF0ZW1lbnRNYXRjaGVzKSB7XG4gICAgY29uc3QgYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUEgPSBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSk7XG5cbiAgICBpZiAoYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBTWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlQiA9IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBLm1hdGNoKG1ldGFzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUFNYXRjaGVzTWV0YXN0YXRlbWVudE5vZGVCOyAvLy9cbiAgICB9XG4gIH1cblxuICBpZiAoIW1ldGFzdGF0ZW1lbnRNYXRjaGVzKSB7XG4gICAgY29uc3QgYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIgPSBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQik7XG5cbiAgICBpZiAoYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQU1hdGNoZXNCcmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlQiA9IG1ldGFzdGF0ZW1lbnROb2RlQS5tYXRjaChicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlQik7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gbWV0YXN0YXRlbWVudE5vZGVBTWF0Y2hlc0JyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVCOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudE1hdGNoZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGxldCBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlID0gbnVsbDtcblxuICBjb25zdCBkZXB0aCA9IEJSQUNLRVRFRF9NRVRBU1RBVEVNRU5UX0RFUFRILFxuICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXNCcmFja2V0ZWRNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLm1hdGNoKGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnROb2RlLCBkZXB0aCk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlc0JyYWNrZXRlZE1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hNZXRhc3RhdGVtZW50IiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YXN0YXRlbWVudE5vZGVCIiwibWV0YXN0YXRlbWVudE1hdGNoZXMiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaCIsImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBIiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUFNYXRjaGVzTWV0YXN0YXRlbWVudE5vZGVCIiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIiLCJtZXRhc3RhdGVtZW50Tm9kZUFNYXRjaGVzQnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUiLCJkZXB0aCIsIkJSQUNLRVRFRF9NRVRBU1RBVEVNRU5UX0RFUFRIIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzQnJhY2tldGVkTWV0YXN0YXRlbWVudE5vZGUiLCJicmFja2V0ZWRNZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBeUNnQkEsb0RBQW9EO2VBQXBEQTs7SUFoQ0FDLGtCQUFrQjtlQUFsQkE7OztnRUFQdUI7cUJBRWI7eUJBQ29COzs7Ozs7QUFFOUMsSUFBTUMsdUNBQXVDQyxJQUFBQSxnQkFBUyxFQUFDO0FBRWhELFNBQVNGLG1CQUFtQkcsa0JBQWtCLEVBQUVDLGtCQUFrQjtJQUN2RSxJQUFJQyx1QkFBdUI7SUFFM0IsSUFBSSxDQUFDQSxzQkFBc0I7UUFDekIsSUFBTUMsMkJBQTJCSCxtQkFBbUJJLEtBQUssQ0FBQ0g7UUFFMURDLHVCQUF1QkMsMEJBQTJCLEdBQUc7SUFDdkQ7SUFFQSxJQUFJLENBQUNELHNCQUFzQjtRQUN6QixJQUFNRyxtQ0FBbUNULHFEQUFxREk7UUFFOUYsSUFBSUsscUNBQXFDLE1BQU07WUFDN0MsSUFBTUMsNERBQTRERCxpQ0FBaUNELEtBQUssQ0FBQ0g7WUFFekdDLHVCQUF1QkksMkRBQTJELEdBQUc7UUFDdkY7SUFDRjtJQUVBLElBQUksQ0FBQ0osc0JBQXNCO1FBQ3pCLElBQU1LLG1DQUFtQ1gscURBQXFESztRQUU5RixJQUFJTSxxQ0FBcUMsTUFBTTtZQUM3QyxJQUFNQyw0REFBNERSLG1CQUFtQkksS0FBSyxDQUFDRztZQUUzRkwsdUJBQXVCTSwyREFBMkQsR0FBRztRQUN2RjtJQUNGO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVNOLHFEQUFxRGEsaUJBQWlCO0lBQ3BGLElBQUlDLGtDQUFrQztJQUV0QyxJQUFNQyxRQUFRQyx3Q0FBNkIsRUFDckNDLHFEQUFxREosa0JBQWtCTCxLQUFLLENBQUNVLGtCQUEwQixFQUFFSDtJQUUvRyxJQUFJRSxvREFBb0Q7UUFDdERILGtDQUFrQ1oscUNBQXFDVztJQUN6RTtJQUVBLE9BQU9DO0FBQ1QifQ==
|
package/lib/utilities/proof.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
bracketedStatementChildNodeFromStatementNode: function() {
|
|
13
|
-
return bracketedStatementChildNodeFromStatementNode;
|
|
14
|
-
},
|
|
15
|
-
matchStatementModuloBrackets: function() {
|
|
16
|
-
return matchStatementModuloBrackets;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../node/statement/bracketed"));
|
|
20
|
-
var _query = require("../utilities/query");
|
|
21
|
-
var _constants = require("../constants");
|
|
22
|
-
function _interop_require_default(obj) {
|
|
23
|
-
return obj && obj.__esModule ? obj : {
|
|
24
|
-
default: obj
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
var bracketedStatementChildNodeQuery = (0, _query.nodeQuery)("/statement/metaArgument!/statement!");
|
|
28
|
-
function matchStatementModuloBrackets(statementNodeA, statementNodeB) {
|
|
29
|
-
var statementMatchesModuloBrackets = false;
|
|
30
|
-
if (!statementMatchesModuloBrackets) {
|
|
31
|
-
var statementNodeMatches = statementNodeA.match(statementNodeB);
|
|
32
|
-
statementMatchesModuloBrackets = statementNodeMatches; ///
|
|
33
|
-
}
|
|
34
|
-
if (!statementMatchesModuloBrackets) {
|
|
35
|
-
var bracketedStatementChildNodeA = bracketedStatementChildNodeFromStatementNode(statementNodeA);
|
|
36
|
-
if (bracketedStatementChildNodeA !== null) {
|
|
37
|
-
var bracketedStatementChildNodeAMatchStatementNodeB = bracketedStatementChildNodeA.match(statementNodeB);
|
|
38
|
-
statementMatchesModuloBrackets = bracketedStatementChildNodeAMatchStatementNodeB; ///
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (!statementMatchesModuloBrackets) {
|
|
42
|
-
var bracketedStatementChildNodeB = bracketedStatementChildNodeFromStatementNode(statementNodeB);
|
|
43
|
-
if (bracketedStatementChildNodeB !== null) {
|
|
44
|
-
var statementNodeAMatchBracketedStatementChildNodeB = statementNodeA.match(bracketedStatementChildNodeB);
|
|
45
|
-
statementMatchesModuloBrackets = statementNodeAMatchBracketedStatementChildNodeB; ///
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return statementMatchesModuloBrackets;
|
|
49
|
-
}
|
|
50
|
-
function bracketedStatementChildNodeFromStatementNode(statementNode) {
|
|
51
|
-
var bracketedStatementChildNode = null;
|
|
52
|
-
var depth = _constants.BRACKETED_STATEMENT_DEPTH, statementNodeMatchBracketedStatementNode = statementNode.match(_bracketed.default, depth);
|
|
53
|
-
if (statementNodeMatchBracketedStatementNode) {
|
|
54
|
-
bracketedStatementChildNode = bracketedStatementChildNodeQuery(statementNode);
|
|
55
|
-
}
|
|
56
|
-
return bracketedStatementChildNode;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBicmFja2V0ZWRTdGF0ZW1lbnROb2RlIGZyb20gXCIuLi9ub2RlL3N0YXRlbWVudC9icmFja2V0ZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgQlJBQ0tFVEVEX1NUQVRFTUVOVF9ERVBUSCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGFBcmd1bWVudCEvc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoU3RhdGVtZW50TW9kdWxvQnJhY2tldHMoc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCKSB7XG4gIGxldCBzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMgPSBmYWxzZTtcblxuICBpZiAoIXN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cykge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVNYXRjaGVzID0gc3RhdGVtZW50Tm9kZUEubWF0Y2goc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzID0gc3RhdGVtZW50Tm9kZU1hdGNoZXM7ICAvLy9cbiAgfVxuXG4gIGlmICghc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzKSB7XG4gICAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBKTtcblxuICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBTWF0Y2hTdGF0ZW1lbnROb2RlQiA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUEubWF0Y2goc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBTWF0Y2hTdGF0ZW1lbnROb2RlQjsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKCFzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMpIHtcbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgaWYgKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGVBTWF0Y2hCcmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCID0gc3RhdGVtZW50Tm9kZUEubWF0Y2goYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQik7XG5cbiAgICAgIHN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cyA9IHN0YXRlbWVudE5vZGVBTWF0Y2hCcmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICBsZXQgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gbnVsbDtcblxuICBjb25zdCBkZXB0aCA9IEJSQUNLRVRFRF9TVEFURU1FTlRfREVQVEgsXG4gICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaEJyYWNrZXRlZFN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlLm1hdGNoKGJyYWNrZXRlZFN0YXRlbWVudE5vZGUsIGRlcHRoKTtcblxuICBpZiAoc3RhdGVtZW50Tm9kZU1hdGNoQnJhY2tldGVkU3RhdGVtZW50Tm9kZSkge1xuICAgIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZSIsIm1hdGNoU3RhdGVtZW50TW9kdWxvQnJhY2tldHMiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQSIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUFNYXRjaFN0YXRlbWVudE5vZGVCIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQiIsInN0YXRlbWVudE5vZGVBTWF0Y2hCcmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCIiwic3RhdGVtZW50Tm9kZSIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSIsImRlcHRoIiwiQlJBQ0tFVEVEX1NUQVRFTUVOVF9ERVBUSCIsInN0YXRlbWVudE5vZGVNYXRjaEJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJicmFja2V0ZWRTdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUF5Q2dCQSw0Q0FBNEM7ZUFBNUNBOztJQWhDQUMsNEJBQTRCO2VBQTVCQTs7O2dFQVBtQjtxQkFFVDt5QkFDZ0I7Ozs7OztBQUUxQyxJQUFNQyxtQ0FBbUNDLElBQUFBLGdCQUFTLEVBQUM7QUFFNUMsU0FBU0YsNkJBQTZCRyxjQUFjLEVBQUVDLGNBQWM7SUFDekUsSUFBSUMsaUNBQWlDO0lBRXJDLElBQUksQ0FBQ0EsZ0NBQWdDO1FBQ25DLElBQU1DLHVCQUF1QkgsZUFBZUksS0FBSyxDQUFDSDtRQUVsREMsaUNBQWlDQyxzQkFBdUIsR0FBRztJQUM3RDtJQUVBLElBQUksQ0FBQ0QsZ0NBQWdDO1FBQ25DLElBQU1HLCtCQUErQlQsNkNBQTZDSTtRQUVsRixJQUFJSyxpQ0FBaUMsTUFBTTtZQUN6QyxJQUFNQyxrREFBa0RELDZCQUE2QkQsS0FBSyxDQUFDSDtZQUUzRkMsaUNBQWlDSSxpREFBaUQsR0FBRztRQUN2RjtJQUNGO0lBRUEsSUFBSSxDQUFDSixnQ0FBZ0M7UUFDbkMsSUFBTUssK0JBQStCWCw2Q0FBNkNLO1FBRWxGLElBQUlNLGlDQUFpQyxNQUFNO1lBQ3pDLElBQU1DLGtEQUFrRFIsZUFBZUksS0FBSyxDQUFDRztZQUU3RUwsaUNBQWlDTSxpREFBaUQsR0FBRztRQUN2RjtJQUNGO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVNOLDZDQUE2Q2EsYUFBYTtJQUN4RSxJQUFJQyw4QkFBOEI7SUFFbEMsSUFBTUMsUUFBUUMsb0NBQXlCLEVBQ2pDQywyQ0FBMkNKLGNBQWNMLEtBQUssQ0FBQ1Usa0JBQXNCLEVBQUVIO0lBRTdGLElBQUlFLDBDQUEwQztRQUM1Q0gsOEJBQThCWixpQ0FBaUNXO0lBQ2pFO0lBRUEsT0FBT0M7QUFDVCJ9
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import bracketedMetastatementNode from "../node/metastatement/bracketed";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../utilities/query";
|
|
6
|
-
import { BRACKETED_METASTATEMENT_DEPTH } from "../constants";
|
|
7
|
-
|
|
8
|
-
const bracketedMetastatementChildNodeQuery = nodeQuery("/metastatement/metastatement!");
|
|
9
|
-
|
|
10
|
-
export function matchMetastatement(metastatementNodeA, metastatementNodeB) {
|
|
11
|
-
let metastatementMatches = false;
|
|
12
|
-
|
|
13
|
-
if (!metastatementMatches) {
|
|
14
|
-
const metastatementNodeMatches = metastatementNodeA.match(metastatementNodeB);
|
|
15
|
-
|
|
16
|
-
metastatementMatches = metastatementNodeMatches; ///
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (!metastatementMatches) {
|
|
20
|
-
const bracketedMetastatementChildNodeA = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeA);
|
|
21
|
-
|
|
22
|
-
if (bracketedMetastatementChildNodeA !== null) {
|
|
23
|
-
const bracketedMetastatementChildNodeAMatchesMetastatementNodeB = bracketedMetastatementChildNodeA.match(metastatementNodeB);
|
|
24
|
-
|
|
25
|
-
metastatementMatches = bracketedMetastatementChildNodeAMatchesMetastatementNodeB; ///
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (!metastatementMatches) {
|
|
30
|
-
const bracketedMetastatementChildNodeB = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeB);
|
|
31
|
-
|
|
32
|
-
if (bracketedMetastatementChildNodeB !== null) {
|
|
33
|
-
const metastatementNodeAMatchesBracketedMetastatementChildNodeB = metastatementNodeA.match(bracketedMetastatementChildNodeB);
|
|
34
|
-
|
|
35
|
-
metastatementMatches = metastatementNodeAMatchesBracketedMetastatementChildNodeB; ///
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return metastatementMatches;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export function bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode) {
|
|
43
|
-
let bracketedMetastatementChildNode = null;
|
|
44
|
-
|
|
45
|
-
const depth = BRACKETED_METASTATEMENT_DEPTH,
|
|
46
|
-
metastatementNodeMatchesBracketedMetastatementNode = metastatementNode.match(bracketedMetastatementNode, depth);
|
|
47
|
-
|
|
48
|
-
if (metastatementNodeMatchesBracketedMetastatementNode) {
|
|
49
|
-
bracketedMetastatementChildNode = bracketedMetastatementChildNodeQuery(metastatementNode);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return bracketedMetastatementChildNode;
|
|
53
|
-
}
|