occam-verify-cli 0.0.1016 → 0.0.1020
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/argument.js +12 -11
- package/lib/assignment/equality.js +3 -3
- package/lib/axiom.js +102 -6
- package/lib/combinator.js +12 -12
- package/lib/conclusion.js +3 -4
- package/lib/consequent.js +75 -14
- package/lib/constructor/bracketed.js +3 -3
- package/lib/constructor.js +68 -18
- package/lib/context/file.js +49 -89
- package/lib/context/local.js +34 -58
- package/lib/declaration/combinator.js +3 -3
- package/lib/declaration/metavariable.js +15 -4
- package/lib/declaration/type.js +3 -3
- package/lib/declaration/variable.js +146 -0
- package/lib/equality.js +95 -19
- package/lib/index.js +6 -1
- package/lib/label.js +9 -9
- package/lib/lemma.js +107 -6
- package/lib/metavariable.js +14 -21
- package/lib/mixins/statement/qualified/unify.js +3 -3
- package/lib/mixins/statement/verify.js +4 -5
- package/lib/mixins/term/unify.js +82 -0
- package/lib/mixins/term/verify.js +44 -0
- package/lib/node/term/constructor/bracketed.js +15 -11
- package/lib/premise.js +3 -5
- package/lib/proofStep.js +2 -2
- package/lib/reference.js +9 -9
- package/lib/rule.js +5 -5
- package/lib/ruleNames.js +5 -5
- package/lib/statement/qualified.js +6 -3
- package/lib/statement.js +22 -39
- package/lib/supposition.js +75 -50
- package/lib/term.js +62 -16
- package/lib/topLevelAssertion.js +98 -33
- package/lib/type.js +22 -31
- package/lib/unifier/equality.js +12 -4
- package/lib/unifier/intrinsicLevel.js +1 -4
- package/lib/unifier/metaLevel.js +1 -4
- package/lib/unifier/metavariable.js +10 -7
- package/lib/unifier/statementWithCombinator.js +18 -9
- package/lib/unifier/termWithConstructor.js +11 -4
- package/lib/unify/frameWithMetaType.js +2 -2
- package/lib/utilities/name.js +9 -2
- package/lib/utilities/node.js +14 -14
- package/lib/utilities/tokens.js +7 -7
- package/lib/utilities/unify.js +3 -3
- package/lib/variable.js +155 -20
- package/lib/verifier/statementAsCombinator.js +2 -2
- package/lib/verifier/termAsConstructor.js +2 -2
- package/lib/verifier/topLevel.js +7 -7
- package/lib/verify/assertion/type.js +3 -4
- package/lib/verify/conjecture.js +2 -3
- package/lib/verify/frame.js +2 -6
- package/lib/verify/lemma.js +2 -3
- package/lib/verify/metaLemma.js +2 -3
- package/lib/verify/metatheorem.js +2 -3
- package/lib/verify/metavariableGivenMetaType.js +3 -3
- package/lib/verify/theorem.js +2 -3
- package/package.json +1 -1
- package/src/argument.js +11 -9
- package/src/assignment/equality.js +3 -4
- package/src/axiom.js +78 -1
- package/src/combinator.js +10 -9
- package/src/conclusion.js +2 -4
- package/src/consequent.js +88 -13
- package/src/constructor/bracketed.js +4 -1
- package/src/constructor.js +18 -14
- package/src/context/file.js +50 -93
- package/src/context/local.js +13 -31
- package/src/declaration/combinator.js +2 -2
- package/src/declaration/metavariable.js +20 -6
- package/src/declaration/type.js +2 -2
- package/src/declaration/variable.js +78 -0
- package/src/equality.js +123 -22
- package/src/index.js +6 -0
- package/src/label.js +7 -7
- package/src/lemma.js +91 -1
- package/src/metavariable.js +13 -22
- package/src/mixins/statement/qualified/unify.js +2 -2
- package/src/mixins/statement/verify.js +5 -5
- package/src/mixins/term/unify.js +110 -0
- package/src/mixins/term/verify.js +47 -0
- package/src/node/term/constructor/bracketed.js +4 -3
- package/src/premise.js +2 -5
- package/src/proofStep.js +1 -1
- package/src/reference.js +7 -7
- package/src/rule.js +4 -4
- package/src/ruleNames.js +1 -1
- package/src/statement/qualified.js +7 -3
- package/src/statement.js +28 -60
- package/src/supposition.js +106 -53
- package/src/term.js +70 -14
- package/src/topLevelAssertion.js +120 -33
- package/src/type.js +39 -41
- package/src/unifier/equality.js +15 -3
- package/src/unifier/intrinsicLevel.js +0 -4
- package/src/unifier/metaLevel.js +0 -4
- package/src/unifier/metavariable.js +16 -8
- package/src/unifier/statementWithCombinator.js +33 -11
- package/src/unifier/termWithConstructor.js +17 -4
- package/src/unify/frameWithMetaType.js +1 -1
- package/src/utilities/name.js +9 -1
- package/src/utilities/node.js +14 -14
- package/src/utilities/tokens.js +4 -4
- package/src/utilities/unify.js +2 -2
- package/src/variable.js +158 -22
- package/src/verifier/statementAsCombinator.js +1 -1
- package/src/verifier/termAsConstructor.js +1 -1
- package/src/verifier/topLevel.js +9 -6
- package/src/verify/assertion/type.js +1 -1
- package/src/verify/conjecture.js +1 -1
- package/src/verify/frame.js +1 -7
- package/src/verify/lemma.js +1 -1
- package/src/verify/metaLemma.js +1 -1
- package/src/verify/metatheorem.js +1 -1
- package/src/verify/metavariableGivenMetaType.js +2 -2
- package/src/verify/theorem.js +1 -1
- package/lib/tokens/constructorTerm/bracketed.js +0 -17
- package/lib/unify/termWithBracketedConstructor.js +0 -39
- package/lib/unify/termWithConstructor.js +0 -37
- package/lib/unify/termWithConstructors.js +0 -34
- package/lib/unify/termWithTerm.js +0 -27
- package/lib/unify/termWithType.js +0 -24
- package/lib/verify/axiom.js +0 -45
- package/lib/verify/consequent.js +0 -38
- package/lib/verify/declaration/variable.js +0 -67
- package/lib/verify/equality.js +0 -92
- package/lib/verify/proofStep.js +0 -28
- package/lib/verify/term.js +0 -97
- package/lib/verify/termAsConstructor.js +0 -58
- package/lib/verify/termGivenType.js +0 -34
- package/lib/verify/terms.js +0 -38
- package/lib/verify/type.js +0 -23
- package/lib/verify/variable.js +0 -25
- package/src/tokens/constructorTerm/bracketed.js +0 -10
- package/src/unify/termWithBracketedConstructor.js +0 -39
- package/src/unify/termWithConstructor.js +0 -39
- package/src/unify/termWithConstructors.js +0 -27
- package/src/unify/termWithTerm.js +0 -24
- package/src/unify/termWithType.js +0 -14
- package/src/verify/axiom.js +0 -56
- package/src/verify/consequent.js +0 -40
- package/src/verify/declaration/variable.js +0 -85
- package/src/verify/equality.js +0 -118
- package/src/verify/proofStep.js +0 -21
- package/src/verify/term.js +0 -123
- package/src/verify/termAsConstructor.js +0 -66
- package/src/verify/termGivenType.js +0 -32
- package/src/verify/terms.js +0 -38
- package/src/verify/type.js +0 -19
- package/src/verify/variable.js +0 -21
package/src/utilities/unify.js
CHANGED
|
@@ -28,7 +28,7 @@ export function metavariableFromFrameNode(frameNode, localContext) {
|
|
|
28
28
|
if (frameMetavariableNode !== null) {
|
|
29
29
|
const metavariableNode = frameMetavariableNode; ///
|
|
30
30
|
|
|
31
|
-
metavariable = localContext.
|
|
31
|
+
metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
return metavariable;
|
|
@@ -42,7 +42,7 @@ export function metavariableFromStatementNode(statementNode, localContext) {
|
|
|
42
42
|
if (statementMetavariableNode !== null) {
|
|
43
43
|
const metavariableNode = statementMetavariableNode; ///
|
|
44
44
|
|
|
45
|
-
metavariable = localContext.
|
|
45
|
+
metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
return metavariable;
|
package/src/variable.js
CHANGED
|
@@ -1,29 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import Type from "./type";
|
|
4
|
+
import LocalContext from "./context/local";
|
|
5
|
+
|
|
6
|
+
import { nodeQuery } from "./utilities/query";
|
|
7
|
+
import { objectType } from "./type";
|
|
8
|
+
import { variableNameFromVariableNode} from "./utilities/name";
|
|
9
|
+
import { variableNodeFromVariableString } from "./utilities/node";
|
|
10
|
+
|
|
11
|
+
const typeNodeQuery = nodeQuery("/variableDeclaration/type"),
|
|
12
|
+
variableNodeQuery = nodeQuery("/variableDeclaration/variable");
|
|
4
13
|
|
|
5
14
|
export default class Variable {
|
|
6
|
-
constructor(node, type) {
|
|
15
|
+
constructor(string, node, name, type) {
|
|
16
|
+
this.string = string;
|
|
7
17
|
this.node = node;
|
|
18
|
+
this.name = name;
|
|
8
19
|
this.type = type;
|
|
9
20
|
}
|
|
10
21
|
|
|
22
|
+
getString() {
|
|
23
|
+
return this.string;
|
|
24
|
+
}
|
|
25
|
+
|
|
11
26
|
getNode() {
|
|
12
27
|
return this.node;
|
|
13
28
|
}
|
|
14
29
|
|
|
15
|
-
|
|
16
|
-
return this.
|
|
30
|
+
getName() {
|
|
31
|
+
return this.name;
|
|
17
32
|
}
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
node = variable.getNode(),
|
|
22
|
-
typeMatches = this.matchType(type),
|
|
23
|
-
nodeMatches = this.matchNode(node),
|
|
24
|
-
matches = nodeMatches && typeMatches;
|
|
25
|
-
|
|
26
|
-
return matches;
|
|
34
|
+
getType() {
|
|
35
|
+
return this.type;
|
|
27
36
|
}
|
|
28
37
|
|
|
29
38
|
matchNode(node) {
|
|
@@ -32,23 +41,150 @@ export default class Variable {
|
|
|
32
41
|
return nodeMatches;
|
|
33
42
|
}
|
|
34
43
|
|
|
35
|
-
|
|
36
|
-
const
|
|
44
|
+
matchName(name) {
|
|
45
|
+
const nameMatches = (this.name === name);
|
|
37
46
|
|
|
38
|
-
return
|
|
47
|
+
return nameMatches;
|
|
39
48
|
}
|
|
40
49
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
verify(localContext) {
|
|
51
|
+
let verified;
|
|
52
|
+
|
|
53
|
+
const variableString = this.string; ///
|
|
54
|
+
|
|
55
|
+
localContext.trace(`Verifying the '${variableString}' variable...`);
|
|
56
|
+
|
|
57
|
+
const variableNode = this.node, ///
|
|
58
|
+
variableName = variableNameFromVariableNode(variableNode),
|
|
59
|
+
variable = localContext.findVariableByVariableName(variableName);
|
|
60
|
+
|
|
61
|
+
if (variable === null) {
|
|
62
|
+
localContext.debug(`The '${variableString}' variable is not present.`);
|
|
63
|
+
} else {
|
|
64
|
+
const type = variable.getType();
|
|
45
65
|
|
|
46
|
-
|
|
66
|
+
this.type = type;
|
|
67
|
+
|
|
68
|
+
verified = true;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (verified) {
|
|
72
|
+
localContext.debug(`...verified the '${variableString}' variable.`);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return verified;
|
|
47
76
|
}
|
|
48
77
|
|
|
49
|
-
|
|
78
|
+
verifyAtTopLevel(localContext) {
|
|
79
|
+
let verifiedAtTopLevel;
|
|
80
|
+
|
|
81
|
+
const variableString = this.string; ///
|
|
82
|
+
|
|
83
|
+
localContext.trace(`Verifying the '${variableString}' variable at top level...`);
|
|
84
|
+
|
|
85
|
+
const variableNode = this.node, ///
|
|
86
|
+
variableName = variableNameFromVariableNode(variableNode),
|
|
87
|
+
variablePresent = localContext.isVariablePresentByVariableName(variableName);
|
|
88
|
+
|
|
89
|
+
if (variablePresent) {
|
|
90
|
+
localContext.debug(`The '${variableString}' variable is already present.`);
|
|
91
|
+
} else {
|
|
92
|
+
const typeName = this.type.getName(),
|
|
93
|
+
type = localContext.findTypeByTypeName(typeName);
|
|
94
|
+
|
|
95
|
+
if (type === null) {
|
|
96
|
+
const typeString = this.type.getString();
|
|
97
|
+
|
|
98
|
+
localContext.debug(`The '${typeString}' type is not present.`);
|
|
99
|
+
} else {
|
|
100
|
+
this.type = type;
|
|
101
|
+
|
|
102
|
+
const variable = this; ///
|
|
103
|
+
|
|
104
|
+
localContext.addVariable(variable);
|
|
105
|
+
|
|
106
|
+
verifiedAtTopLevel = true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (verifiedAtTopLevel) {
|
|
111
|
+
localContext.debug(`...verified the '${variableString}' variable at top level.`);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return verifiedAtTopLevel;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
toJSON() {
|
|
118
|
+
const typeJSON = (this.type !== null) ?
|
|
119
|
+
this.type.toJSON() :
|
|
120
|
+
null,
|
|
121
|
+
string = this.string,
|
|
122
|
+
type = typeJSON, ///
|
|
123
|
+
json = {
|
|
124
|
+
string,
|
|
125
|
+
type
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
return json;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
static fromJSON(json, fileContext) {
|
|
132
|
+
const { string } = json,
|
|
133
|
+
lexer = fileContext.getLexer(),
|
|
134
|
+
parser = fileContext.getParser(),
|
|
135
|
+
variableString = string, ///
|
|
136
|
+
variableNode = variableNodeFromVariableString(variableString, lexer, parser),
|
|
137
|
+
node = variableNode; ///
|
|
138
|
+
|
|
139
|
+
let { type } = json;
|
|
140
|
+
|
|
141
|
+
if (type !== null) {
|
|
142
|
+
json = type; ///
|
|
143
|
+
|
|
144
|
+
type = Type.fromJSON(json, fileContext);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const variableName = variableNameFromVariableNode(variableNode),
|
|
148
|
+
name = variableName, ///
|
|
149
|
+
variable = new Variable(string, node, name, type);
|
|
150
|
+
|
|
151
|
+
return variable;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
static fromVariableNode(variableNode, localContext) {
|
|
155
|
+
const node = variableNode, ///
|
|
156
|
+
variableName = variableNameFromVariableNode(variableNode),
|
|
157
|
+
string = localContext.nodeAsString(node),
|
|
158
|
+
name = variableName, ///
|
|
159
|
+
type = null,
|
|
160
|
+
variable = new Variable(string, node, name, type);
|
|
161
|
+
|
|
162
|
+
return variable;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static fromVariableNodeAndType(variableNode, type, localContext) {
|
|
50
166
|
const node = variableNode, ///
|
|
51
|
-
|
|
167
|
+
variableName = variableNameFromVariableNode(variableNode),
|
|
168
|
+
string = localContext.nodeAsString(node),
|
|
169
|
+
name = variableName, ///
|
|
170
|
+
variable = new Variable(string, node, name, type);
|
|
171
|
+
|
|
172
|
+
return variable;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
static fromVariableDeclarationNode(variableDeclarationNode, fileContext) {
|
|
176
|
+
const typeNode = typeNodeQuery(variableDeclarationNode),
|
|
177
|
+
variableNode = variableNodeQuery(variableDeclarationNode),
|
|
178
|
+
variableName = variableNameFromVariableNode(variableNode),
|
|
179
|
+
localContext = LocalContext.fromFileContext(fileContext),
|
|
180
|
+
variableString = fileContext.nodeAsString(variableNode),
|
|
181
|
+
string = variableString, ///
|
|
182
|
+
node = variableNode, ///
|
|
183
|
+
name = variableName, ///
|
|
184
|
+
type = (typeNode === null) ?
|
|
185
|
+
objectType :
|
|
186
|
+
Type.fromTypeNode(typeNode, localContext),
|
|
187
|
+
variable = new Variable(string, node, name, type);
|
|
52
188
|
|
|
53
189
|
return variable;
|
|
54
190
|
}
|
|
@@ -41,8 +41,8 @@ class StatementAsCombinatorVerifier extends Verifier {
|
|
|
41
41
|
nodeQuery: termNodeQuery,
|
|
42
42
|
verify: (termNode, fileContext) => {
|
|
43
43
|
const { Term } = shim,
|
|
44
|
-
term = Term.fromTermNode(termNode, fileContext),
|
|
45
44
|
localContext = LocalContext.fromFileContext(fileContext),
|
|
45
|
+
term = Term.fromTermNode(termNode, localContext),
|
|
46
46
|
termVerified = term.verify(localContext, () => {
|
|
47
47
|
const verifiedAhead = true;
|
|
48
48
|
|
|
@@ -31,8 +31,8 @@ class TermAsConstructorVerifier extends Verifier {
|
|
|
31
31
|
nodeQuery: termNodeQuery,
|
|
32
32
|
verify: (termNode, fileContext, verifyAhead) => {
|
|
33
33
|
const { Term } = shim,
|
|
34
|
-
term = Term.fromTermNode(termNode, fileContext),
|
|
35
34
|
localContext = LocalContext.fromFileContext(fileContext),
|
|
35
|
+
term = Term.fromTermNode(termNode, localContext),
|
|
36
36
|
termVerified = term.verify(localContext, verifyAhead);
|
|
37
37
|
|
|
38
38
|
return termVerified;
|
package/src/verifier/topLevel.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
import Rule from "../rule";
|
|
4
4
|
import Error from "../error";
|
|
5
|
+
import Axiom from "../axiom";
|
|
6
|
+
import Lemma from "../lemma";
|
|
5
7
|
import TypeDeclaration from "../declaration/type";
|
|
8
|
+
import VariableDeclaration from "../declaration/variable";
|
|
6
9
|
import CombinatorDeclaration from "../declaration/combinator";
|
|
7
10
|
import ConstructorDeclaration from "../declaration/constructor";
|
|
8
11
|
import MetavariableDeclaration from "../declaration/metavariable";
|
|
9
12
|
|
|
10
13
|
import Verifier from "../verifier";
|
|
11
|
-
import verifyAxiom from "../verify/axiom";
|
|
12
|
-
import verifyLemma from "../verify/lemma";
|
|
13
14
|
import verifyTheorem from "../verify/theorem";
|
|
14
15
|
import verifyMetaLemma from "../verify/metaLemma";
|
|
15
16
|
import verifyConjecture from "../verify/conjecture";
|
|
16
17
|
import verifyMetatheorem from "../verify/metatheorem";
|
|
17
|
-
import verifyVariableDeclaration from "../verify/declaration/variable";
|
|
18
18
|
|
|
19
19
|
import { nodeQuery } from "../utilities/query";
|
|
20
20
|
|
|
@@ -66,7 +66,8 @@ class TopLevelVerifier extends Verifier {
|
|
|
66
66
|
{
|
|
67
67
|
nodeQuery: axiomNodeQuery,
|
|
68
68
|
verify: (axiomNode, fileContext) => {
|
|
69
|
-
const
|
|
69
|
+
const axiom = Axiom.fromAxiomNode(axiomNode, fileContext),
|
|
70
|
+
axiomVerified = axiom.verify();
|
|
70
71
|
|
|
71
72
|
return axiomVerified;
|
|
72
73
|
}
|
|
@@ -74,7 +75,8 @@ class TopLevelVerifier extends Verifier {
|
|
|
74
75
|
{
|
|
75
76
|
nodeQuery: lemmaNodeQuery,
|
|
76
77
|
verify: (lemmaNode, fileContext) => {
|
|
77
|
-
const
|
|
78
|
+
const lemma = Lemma.fromLemmaNode(lemmaNode, fileContext),
|
|
79
|
+
lemmaVerified = lemma.verify();
|
|
78
80
|
|
|
79
81
|
return lemmaVerified;
|
|
80
82
|
}
|
|
@@ -123,7 +125,8 @@ class TopLevelVerifier extends Verifier {
|
|
|
123
125
|
{
|
|
124
126
|
nodeQuery: variableDeclarationNodeQuery,
|
|
125
127
|
verify: (variableDeclarationNode, fileContext) => {
|
|
126
|
-
const
|
|
128
|
+
const variableDeclaration = VariableDeclaration.fromVariableDeclarationNode(variableDeclarationNode, fileContext),
|
|
129
|
+
variableDeclarationVerified = variableDeclaration.verify();
|
|
127
130
|
|
|
128
131
|
return variableDeclarationVerified;
|
|
129
132
|
}
|
package/src/verify/conjecture.js
CHANGED
|
@@ -4,7 +4,7 @@ import Conjecture from "../conjecture";
|
|
|
4
4
|
// import verifyProof from "../verify/proof";
|
|
5
5
|
import LocalContext from "../context/local";
|
|
6
6
|
import Substitutions from "../substitutions";
|
|
7
|
-
import verifyConsequent from "../verify/consequent";
|
|
7
|
+
// import verifyConsequent from "../verify/consequent";
|
|
8
8
|
// import verifySuppositions from "../verify/suppositions";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
package/src/verify/frame.js
CHANGED
|
@@ -18,7 +18,7 @@ const verifyFrameFunctions = [
|
|
|
18
18
|
verifyStatedFrame
|
|
19
19
|
];
|
|
20
20
|
|
|
21
|
-
function verifyFrame(frameNode, frames, stated, localContext) {
|
|
21
|
+
export default function verifyFrame(frameNode, frames, stated, localContext) {
|
|
22
22
|
let frameVerified;
|
|
23
23
|
|
|
24
24
|
const frameString = localContext.nodeAsString(frameNode);
|
|
@@ -40,12 +40,6 @@ function verifyFrame(frameNode, frames, stated, localContext) {
|
|
|
40
40
|
return frameVerified;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
Object.assign(shim, {
|
|
44
|
-
verifyFrame
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
export default verifyFrame;
|
|
48
|
-
|
|
49
43
|
function verifyDerivedFrame(frameNode, frames, stated, localContext) {
|
|
50
44
|
let derivedFrameVerified;
|
|
51
45
|
|
package/src/verify/lemma.js
CHANGED
|
@@ -4,7 +4,7 @@ import Lemma from "../lemma";
|
|
|
4
4
|
// import verifyProof from "../verify/proof";
|
|
5
5
|
import LocalContext from "../context/local";
|
|
6
6
|
import Substitutions from "../substitutions";
|
|
7
|
-
import verifyConsequent from "../verify/consequent";
|
|
7
|
+
// import verifyConsequent from "../verify/consequent";
|
|
8
8
|
// import verifySuppositions from "../verify/suppositions";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
package/src/verify/metaLemma.js
CHANGED
|
@@ -4,7 +4,7 @@ import MetaLemma from "../metaLemma";
|
|
|
4
4
|
// import verifyProof from "../verify/proof";
|
|
5
5
|
import LocalContext from "../context/local";
|
|
6
6
|
import Substitutions from "../substitutions";
|
|
7
|
-
import verifyConsequent from "../verify/consequent";
|
|
7
|
+
// import verifyConsequent from "../verify/consequent";
|
|
8
8
|
// import verifySuppositions from "../verify/suppositions";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import Metatheorem from "../metatheorem";
|
|
5
5
|
import LocalContext from "../context/local";
|
|
6
6
|
import Substitutions from "../substitutions";
|
|
7
|
-
import verifyConsequent from "../verify/consequent";
|
|
7
|
+
// import verifyConsequent from "../verify/consequent";
|
|
8
8
|
// import verifySuppositions from "../verify/suppositions";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
@@ -25,9 +25,9 @@ export default function verifyMetavariableGivenMetaType(metavariableNode, metaTy
|
|
|
25
25
|
|
|
26
26
|
const metavariableNodeB = metavariableNode; ///
|
|
27
27
|
|
|
28
|
-
const
|
|
28
|
+
const metavariableUnified = metavariableUnifier.unify(metavariableNodeA, metavariableNodeB, localContext);
|
|
29
29
|
|
|
30
|
-
metavariableVerifiedGivenMetaType =
|
|
30
|
+
metavariableVerifiedGivenMetaType = metavariableUnified; ///
|
|
31
31
|
} else {
|
|
32
32
|
const metavariableMetaTypeName = metavariableMetaType.getName();
|
|
33
33
|
|
package/src/verify/theorem.js
CHANGED
|
@@ -4,7 +4,7 @@ import Theorem from "../theorem";
|
|
|
4
4
|
// import verifyProof from "../verify/proof";
|
|
5
5
|
import LocalContext from "../context/local";
|
|
6
6
|
import Substitutions from "../substitutions";
|
|
7
|
-
import verifyConsequent from "../verify/consequent";
|
|
7
|
+
// import verifyConsequent from "../verify/consequent";
|
|
8
8
|
// import verifySuppositions from "../verify/suppositions";
|
|
9
9
|
|
|
10
10
|
import { first } from "../utilities/array";
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _typeNames = require("../../typeNames");
|
|
12
|
-
var _tokens = require("../../utilities/tokens");
|
|
13
|
-
var bracketedConstructorTermString = "(".concat(_typeNames.OBJECT_TYPE_NAME, ")");
|
|
14
|
-
var bracketedConstructorDeclarationTokens = (0, _tokens.termTokensFromTermString)(bracketedConstructorTermString);
|
|
15
|
-
var _default = bracketedConstructorDeclarationTokens;
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbnMvY29uc3RydWN0b3JUZXJtL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IHRlcm1Ub2tlbnNGcm9tVGVybVN0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdG9rZW5zXCI7XG5cbmNvbnN0IGJyYWNrZXRlZENvbnN0cnVjdG9yVGVybVN0cmluZyA9IGAoJHtPQkpFQ1RfVFlQRV9OQU1FfSlgO1xuXG5jb25zdCBicmFja2V0ZWRDb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zID0gdGVybVRva2Vuc0Zyb21UZXJtU3RyaW5nKGJyYWNrZXRlZENvbnN0cnVjdG9yVGVybVN0cmluZylcblxuZXhwb3J0IGRlZmF1bHQgYnJhY2tldGVkQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucztcbiJdLCJuYW1lcyI6WyJicmFja2V0ZWRDb25zdHJ1Y3RvclRlcm1TdHJpbmciLCJPQkpFQ1RfVFlQRV9OQU1FIiwiYnJhY2tldGVkQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyIsInRlcm1Ub2tlbnNGcm9tVGVybVN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7eUJBUGlDO3NCQUNRO0FBRXpDLElBQU1BLGlDQUFpQyxBQUFDLElBQW9CLE9BQWpCQywyQkFBZ0IsRUFBQztBQUU1RCxJQUFNQyx3Q0FBd0NDLElBQUFBLGdDQUF3QixFQUFDSDtJQUV2RSxXQUFlRSJ9
|
|
@@ -1,39 +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 unifyTermWithBracketedConstructor;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
-
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../constructor/bracketed"));
|
|
13
|
-
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
|
|
14
|
-
var _query = require("../utilities/query");
|
|
15
|
-
function _interop_require_default(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
var termNodeQuery = (0, _query.nodeQuery)("/term/argument/term");
|
|
21
|
-
function unifyTermWithBracketedConstructor(termNode, terms, localContext, verifyAhead) {
|
|
22
|
-
var termUnifiedWithBracketedConstructor;
|
|
23
|
-
var termString = localContext.nodeAsString(termNode), bracketedTerms = [];
|
|
24
|
-
localContext.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), termNode);
|
|
25
|
-
termUnifiedWithBracketedConstructor = (0, _termWithConstructor.default)(termNode, bracketedTerms, _bracketed.default, localContext, function() {
|
|
26
|
-
var verifiedAhead;
|
|
27
|
-
var bracketedTermNode = termNode; ///
|
|
28
|
-
termNode = termNodeQuery(bracketedTermNode); ///
|
|
29
|
-
var verifyTerm = _shim.default.verifyTerm, termVVerified = verifyTerm(termNode, terms, localContext, verifyAhead);
|
|
30
|
-
verifiedAhead = termVVerified; ///
|
|
31
|
-
return verifiedAhead;
|
|
32
|
-
});
|
|
33
|
-
if (termUnifiedWithBracketedConstructor) {
|
|
34
|
-
localContext.debug("...unified the '".concat(termString, "' term with the bracketed constructor."), termNode);
|
|
35
|
-
}
|
|
36
|
-
return termUnifiedWithBracketedConstructor;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcbmltcG9ydCB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IgZnJvbSBcIi4uL3VuaWZ5L3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vYXJndW1lbnQvdGVybVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBicmFja2V0ZWRUZXJtcyA9IFtdO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm1Ob2RlKTtcblxuICB0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciA9IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgYnJhY2tldGVkVGVybXMsIGJyYWNrZXRlZENvbnN0cnVjdG9yLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgIGNvbnN0IGJyYWNrZXRlZFRlcm1Ob2RlID0gdGVybU5vZGU7IC8vL1xuXG4gICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGJyYWNrZXRlZFRlcm1Ob2RlKTsgLy8vXG5cbiAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHNoaW0sXG4gICAgICAgICAgdGVybVZWZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIHZlcmlmaWVkQWhlYWQgPSB0ZXJtVlZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgfSk7XG5cbiAgaWYgKHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSBicmFja2V0ZWQgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInRlcm1zIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJicmFja2V0ZWRUZXJtcyIsInRyYWNlIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJ2ZXJpZmllZEFoZWFkIiwiYnJhY2tldGVkVGVybU5vZGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1WVmVyaWZpZWQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsyREFSUDtnRUFDZ0I7MEVBQ0k7cUJBRVg7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysa0NBQWtDRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsWUFBWSxFQUFFQyxXQUFXO0lBQ2xHLElBQUlDO0lBRUosSUFBTUMsYUFBYUgsYUFBYUksWUFBWSxDQUFDTixXQUN2Q08saUJBQWlCLEVBQUU7SUFFekJMLGFBQWFNLEtBQUssQ0FBQyxBQUFDLGlCQUEyQixPQUFYSCxZQUFXLDZDQUEyQ0w7SUFFMUZJLHNDQUFzQ0ssSUFBQUEsNEJBQXdCLEVBQUNULFVBQVVPLGdCQUFnQkcsa0JBQW9CLEVBQUVSLGNBQWM7UUFDM0gsSUFBSVM7UUFFSixJQUFNQyxvQkFBb0JaLFVBQVUsR0FBRztRQUV2Q0EsV0FBV0YsY0FBY2Msb0JBQW9CLEdBQUc7UUFFaEQsSUFBTSxBQUFFQyxhQUFlQyxhQUFJLENBQW5CRCxZQUNGRSxnQkFBZ0JGLFdBQVdiLFVBQVVDLE9BQU9DLGNBQWNDO1FBRWhFUSxnQkFBZ0JJLGVBQWdCLEdBQUc7UUFFbkMsT0FBT0o7SUFDVDtJQUVBLElBQUlQLHFDQUFxQztRQUN2Q0YsYUFBYWMsS0FBSyxDQUFDLEFBQUMsbUJBQTZCLE9BQVhYLFlBQVcsMkNBQXlDTDtJQUM1RjtJQUVBLE9BQU9JO0FBQ1QifQ==
|
|
@@ -1,37 +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 unifyTermWithConstructor;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _term = /*#__PURE__*/ _interop_require_default(require("../term"));
|
|
12
|
-
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unifier/termWithConstructor"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead) {
|
|
19
|
-
var termUnifiedWithConstructor = false;
|
|
20
|
-
var termString = localContext.nodeAsString(termNode), constructorString = constructor.getString(), constructorTermNode = constructor.getTermNode();
|
|
21
|
-
localContext.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), termNode);
|
|
22
|
-
var termNodeA = termNode, constructorTermNodeB = constructorTermNode, unified = _termWithConstructor.default.unify(termNodeA, constructorTermNodeB, localContext);
|
|
23
|
-
if (unified) {
|
|
24
|
-
var verifiedAhead;
|
|
25
|
-
var type = constructor.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
|
|
26
|
-
terms.push(term);
|
|
27
|
-
verifiedAhead = verifyAhead();
|
|
28
|
-
terms.pop();
|
|
29
|
-
termUnifiedWithConstructor = verifiedAhead; ///
|
|
30
|
-
}
|
|
31
|
-
if (termUnifiedWithConstructor) {
|
|
32
|
-
localContext.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), termNode);
|
|
33
|
-
}
|
|
34
|
-
return termUnifiedWithConstructor;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybSBmcm9tIFwiLi4vdGVybVwiO1xuaW1wb3J0IHRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gZmFsc2U7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBjb25zdHJ1Y3RvclN0cmluZyA9IGNvbnN0cnVjdG9yLmdldFN0cmluZygpLFxuICAgICAgICBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3IuZ2V0VGVybU5vZGUoKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1Ob2RlQSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yVGVybU5vZGVCID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICB1bmlmaWVkID0gdGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIudW5pZnkodGVybU5vZGVBLCBjb25zdHJ1Y3RvclRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAodW5pZmllZCkge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKSxcbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIHRlcm1zLnB1c2godGVybSk7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHRlcm1zLnBvcCgpO1xuXG4gICAgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwidGVybXMiLCJjb25zdHJ1Y3RvciIsImxvY2FsQ29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ0ZXJtU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiY29uc3RydWN0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiZ2V0VGVybU5vZGUiLCJ0cmFjZSIsInRlcm1Ob2RlQSIsImNvbnN0cnVjdG9yVGVybU5vZGVCIiwidW5pZmllZCIsInRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIiwidW5pZnkiLCJ2ZXJpZmllZEFoZWFkIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7MkRBSFA7MEVBQ3NCOzs7Ozs7QUFFeEIsU0FBU0EseUJBQXlCQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUVDLFdBQVc7SUFDdEcsSUFBSUMsNkJBQTZCO0lBRWpDLElBQU1DLGFBQWFILGFBQWFJLFlBQVksQ0FBQ1AsV0FDdkNRLG9CQUFvQk4sWUFBWU8sU0FBUyxJQUN6Q0Msc0JBQXNCUixZQUFZUyxXQUFXO0lBRW5EUixhQUFhUyxLQUFLLENBQUMsQUFBQyxpQkFBOENKLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLHFCQUFtQlI7SUFFdkcsSUFBTWEsWUFBWWIsVUFDWmMsdUJBQXVCSixxQkFDdkJLLFVBQVVDLDRCQUEwQixDQUFDQyxLQUFLLENBQUNKLFdBQVdDLHNCQUFzQlg7SUFFbEYsSUFBSVksU0FBUztRQUNYLElBQUlHO1FBRUosSUFBTUMsT0FBT2pCLFlBQVlrQixPQUFPLElBQzFCQyxPQUFPQyxhQUFJLENBQUNDLG1CQUFtQixDQUFDdkIsVUFBVW1CO1FBRWhEbEIsTUFBTXVCLElBQUksQ0FBQ0g7UUFFWEgsZ0JBQWdCZDtRQUVoQkgsTUFBTXdCLEdBQUc7UUFFVHBCLDZCQUE2QmEsZUFBZ0IsR0FBRztJQUNsRDtJQUVBLElBQUliLDRCQUE0QjtRQUM5QkYsYUFBYXVCLEtBQUssQ0FBQyxBQUFDLG1CQUFnRGxCLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLG1CQUFpQlI7SUFDekc7SUFFQSxPQUFPSztBQUNUIn0=
|
|
@@ -1,34 +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 unifyTermWithConstructors;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
19
|
-
function unifyTermWithConstructors(termNode, terms, localContext, verifyAhead) {
|
|
20
|
-
var termUnifiedWithConstructors = false;
|
|
21
|
-
var variableNode = variableNodeQuery(termNode);
|
|
22
|
-
if (variableNode === null) {
|
|
23
|
-
var constructors = localContext.getConstructors();
|
|
24
|
-
termUnifiedWithConstructors = constructors.some(function(constructor) {
|
|
25
|
-
var termUnifiedWithConstructor = (0, _termWithConstructor.default)(termNode, terms, constructor, localContext, verifyAhead);
|
|
26
|
-
if (termUnifiedWithConstructor) {
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
return termUnifiedWithConstructors;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciBmcm9tIFwiLi4vdW5pZnkvdGVybVdpdGhDb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzID0gZmFsc2U7XG5cbiAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZU5vZGUgPT09IG51bGwpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgICB0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvcnMiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1Ob2RlIiwidGVybXMiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9ycyIsInZhcmlhYmxlTm9kZSIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInNvbWUiLCJjb25zdHJ1Y3RvciIsInRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7OzBFQU5hO3FCQUVYOzs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLDBCQUEwQkcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFlBQVksRUFBRUMsV0FBVztJQUMxRixJQUFJQyw4QkFBOEI7SUFFbEMsSUFBTUMsZUFBZVAsa0JBQWtCRTtJQUV2QyxJQUFJSyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxlQUFlSixhQUFhSyxlQUFlO1FBRWpESCw4QkFBOEJFLGFBQWFFLElBQUksQ0FBQyxTQUFDQztZQUMvQyxJQUFNQyw2QkFBNkJDLElBQUFBLDRCQUF3QixFQUFDWCxVQUFVQyxPQUFPUSxhQUFhUCxjQUFjQztZQUV4RyxJQUFJTyw0QkFBNEI7Z0JBQzlCLE9BQU87WUFDVDtRQUNGO0lBQ0Y7SUFFQSxPQUFPTjtBQUNUIn0=
|
|
@@ -1,27 +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 unifyTermWithTerm;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _equivalences = require("../utilities/equivalences");
|
|
12
|
-
function unifyTermWithTerm(leftTermNode, rightTermNode, localContext) {
|
|
13
|
-
var termUnifiedWithTerm;
|
|
14
|
-
var leftTermNodeMatchesRightTermNode = leftTermNode.match(rightTermNode);
|
|
15
|
-
if (leftTermNodeMatchesRightTermNode) {
|
|
16
|
-
termUnifiedWithTerm = true;
|
|
17
|
-
} else {
|
|
18
|
-
var equivalences = localContext.getEquivalences(), termNodes = [
|
|
19
|
-
leftTermNode,
|
|
20
|
-
rightTermNode
|
|
21
|
-
], equivalence = (0, _equivalences.findEquivalenceByTermNodes)(equivalences, termNodes);
|
|
22
|
-
termUnifiedWithTerm = equivalence !== null;
|
|
23
|
-
}
|
|
24
|
-
return termUnifiedWithTerm;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aFRlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZpbmRFcXVpdmFsZW5jZUJ5VGVybU5vZGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lcXVpdmFsZW5jZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aFRlcm0obGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkV2l0aFRlcm07XG5cbiAgY29uc3QgbGVmdFRlcm1Ob2RlTWF0Y2hlc1JpZ2h0VGVybU5vZGUgPSBsZWZ0VGVybU5vZGUubWF0Y2gocmlnaHRUZXJtTm9kZSk7XG5cbiAgaWYgKGxlZnRUZXJtTm9kZU1hdGNoZXNSaWdodFRlcm1Ob2RlKSB7XG4gICAgdGVybVVuaWZpZWRXaXRoVGVybSA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZXF1aXZhbGVuY2VzID0gbG9jYWxDb250ZXh0LmdldEVxdWl2YWxlbmNlcygpLFxuICAgICAgICAgIHRlcm1Ob2RlcyA9IFtcbiAgICAgICAgICAgIGxlZnRUZXJtTm9kZSxcbiAgICAgICAgICAgIHJpZ2h0VGVybU5vZGVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVxdWl2YWxlbmNlID0gZmluZEVxdWl2YWxlbmNlQnlUZXJtTm9kZXMoZXF1aXZhbGVuY2VzLCB0ZXJtTm9kZXMpO1xuXG4gICAgdGVybVVuaWZpZWRXaXRoVGVybSA9IChlcXVpdmFsZW5jZSAhPT0gbnVsbCk7XG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRXaXRoVGVybTtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeVRlcm1XaXRoVGVybSIsImxlZnRUZXJtTm9kZSIsInJpZ2h0VGVybU5vZGUiLCJsb2NhbENvbnRleHQiLCJ0ZXJtVW5pZmllZFdpdGhUZXJtIiwibGVmdFRlcm1Ob2RlTWF0Y2hlc1JpZ2h0VGVybU5vZGUiLCJtYXRjaCIsImVxdWl2YWxlbmNlcyIsImdldEVxdWl2YWxlbmNlcyIsInRlcm1Ob2RlcyIsImVxdWl2YWxlbmNlIiwiZmluZEVxdWl2YWxlbmNlQnlUZXJtTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7NEJBRm1CO0FBRTVCLFNBQVNBLGtCQUFrQkMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDakYsSUFBSUM7SUFFSixJQUFNQyxtQ0FBbUNKLGFBQWFLLEtBQUssQ0FBQ0o7SUFFNUQsSUFBSUcsa0NBQWtDO1FBQ3BDRCxzQkFBc0I7SUFDeEIsT0FBTztRQUNMLElBQU1HLGVBQWVKLGFBQWFLLGVBQWUsSUFDM0NDLFlBQVk7WUFDVlI7WUFDQUM7U0FDRCxFQUNEUSxjQUFjQyxJQUFBQSx3Q0FBMEIsRUFBQ0osY0FBY0U7UUFFN0RMLHNCQUF1Qk0sZ0JBQWdCO0lBQ3pDO0lBRUEsT0FBT047QUFDVCJ9
|
|
@@ -1,24 +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 unifyTermWithType;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _termGivenType = /*#__PURE__*/ _interop_require_default(require("../verify/termGivenType"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function unifyTermWithType(termNode, typeNode, localContext) {
|
|
18
|
-
var termUnifiedWithType;
|
|
19
|
-
var type = localContext.findTypeByTypeNode(typeNode), termVerifiedGivenType = (0, _termGivenType.default)(termNode, type, localContext);
|
|
20
|
-
termUnifiedWithType = termVerifiedGivenType; ///
|
|
21
|
-
return termUnifiedWithType;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtR2l2ZW5UeXBlIGZyb20gXCIuLi92ZXJpZnkvdGVybUdpdmVuVHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoVHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoVHlwZTtcblxuICBjb25zdCB0eXBlID0gbG9jYWxDb250ZXh0LmZpbmRUeXBlQnlUeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgIHRlcm1WZXJpZmllZEdpdmVuVHlwZSA9IHZlcmlmeVRlcm1HaXZlblR5cGUodGVybU5vZGUsIHR5cGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgdGVybVVuaWZpZWRXaXRoVHlwZSA9IHRlcm1WZXJpZmllZEdpdmVuVHlwZTsgIC8vL1xuXG4gIHJldHVybiB0ZXJtVW5pZmllZFdpdGhUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhUeXBlIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsImxvY2FsQ29udGV4dCIsInRlcm1VbmlmaWVkV2l0aFR5cGUiLCJ0eXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwidGVybVZlcmlmaWVkR2l2ZW5UeXBlIiwidmVyaWZ5VGVybUdpdmVuVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztvRUFGUTs7Ozs7O0FBRWpCLFNBQVNBLGtCQUFrQkMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLFlBQVk7SUFDeEUsSUFBSUM7SUFFSixJQUFNQyxPQUFPRixhQUFhRyxrQkFBa0IsQ0FBQ0osV0FDdkNLLHdCQUF3QkMsSUFBQUEsc0JBQW1CLEVBQUNQLFVBQVVJLE1BQU1GO0lBRWxFQyxzQkFBc0JHLHVCQUF3QixHQUFHO0lBRWpELE9BQU9IO0FBQ1QifQ==
|