occam-verify-cli 1.0.617 → 1.0.632
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/ephemeral.js +152 -47
- package/lib/context/file/nominal.js +136 -140
- package/lib/context/liminal.js +16 -26
- package/lib/context/scoped.js +26 -55
- package/lib/context.js +103 -53
- package/lib/element/assertion/contained.js +3 -1
- package/lib/element/assertion/defined.js +5 -3
- package/lib/element/assertion/property.js +10 -58
- package/lib/element/assertion/satisfies.js +3 -1
- package/lib/element/assertion/subproof.js +3 -1
- package/lib/element/assertion/type.js +65 -109
- package/lib/element/assumption.js +40 -16
- package/lib/element/constructor/bracketed.js +13 -53
- package/lib/element/constructor.js +5 -5
- package/lib/element/declaration/constructor.js +5 -2
- package/lib/element/derivation.js +8 -10
- package/lib/element/equality.js +102 -62
- package/lib/element/equivalence.js +6 -6
- package/lib/element/equivalences.js +4 -4
- package/lib/element/frame.js +21 -21
- package/lib/element/hypothesis.js +5 -7
- package/lib/element/judgement.js +47 -25
- package/lib/element/metaType.js +2 -2
- package/lib/element/metavariable.js +12 -3
- package/lib/element/propertyRelation.js +3 -3
- package/lib/element/reference.js +9 -21
- package/lib/element/rule.js +13 -15
- package/lib/element/signature.js +5 -5
- package/lib/element/statement.js +23 -25
- package/lib/element/subDerivation.js +4 -6
- package/lib/element/substitution/frame.js +4 -4
- package/lib/element/substitution/reference.js +4 -4
- package/lib/element/substitution/statement.js +4 -4
- package/lib/element/substitution/term.js +9 -3
- package/lib/element/substitution.js +71 -43
- package/lib/element/term.js +20 -6
- package/lib/element/topLevelAssertion.js +9 -11
- package/lib/element/topLevelMetaAssertion.js +9 -11
- package/lib/element/variable.js +44 -3
- package/lib/process/assign.js +96 -26
- package/lib/process/unify.js +3 -4
- package/lib/process/validate.js +7 -7
- package/lib/process/verify.js +2 -2
- package/lib/ruleNames.js +5 -1
- package/lib/utilities/element.js +74 -12
- package/lib/utilities/json.js +2 -2
- package/lib/utilities/string.js +9 -24
- package/lib/utilities/substitutions.js +14 -22
- package/lib/utilities/validation.js +3 -3
- package/package.json +4 -4
- package/src/context/ephemeral.js +170 -50
- package/src/context/file/nominal.js +136 -141
- package/src/context/liminal.js +22 -34
- package/src/context/scoped.js +33 -74
- package/src/context.js +97 -46
- package/src/element/assertion/contained.js +4 -0
- package/src/element/assertion/defined.js +6 -2
- package/src/element/assertion/property.js +15 -26
- package/src/element/assertion/satisfies.js +4 -0
- package/src/element/assertion/subproof.js +4 -0
- package/src/element/assertion/type.js +69 -77
- package/src/element/assumption.js +48 -16
- package/src/element/constructor/bracketed.js +11 -12
- package/src/element/constructor.js +4 -4
- package/src/element/declaration/constructor.js +5 -1
- package/src/element/derivation.js +3 -5
- package/src/element/equality.js +109 -74
- package/src/element/equivalence.js +7 -7
- package/src/element/equivalences.js +7 -5
- package/src/element/frame.js +25 -25
- package/src/element/hypothesis.js +4 -6
- package/src/element/judgement.js +54 -24
- package/src/element/metaType.js +1 -1
- package/src/element/metavariable.js +16 -3
- package/src/element/propertyRelation.js +2 -2
- package/src/element/reference.js +12 -26
- package/src/element/rule.js +8 -10
- package/src/element/signature.js +4 -4
- package/src/element/statement.js +27 -30
- package/src/element/subDerivation.js +3 -5
- package/src/element/substitution/frame.js +1 -1
- package/src/element/substitution/reference.js +1 -1
- package/src/element/substitution/statement.js +1 -1
- package/src/element/substitution/term.js +4 -2
- package/src/element/substitution.js +60 -36
- package/src/element/term.js +24 -5
- package/src/element/topLevelAssertion.js +4 -6
- package/src/element/topLevelMetaAssertion.js +4 -6
- package/src/element/variable.js +2 -0
- package/src/process/assign.js +114 -37
- package/src/process/unify.js +2 -3
- package/src/process/validate.js +5 -5
- package/src/process/verify.js +1 -1
- package/src/ruleNames.js +1 -0
- package/src/utilities/element.js +83 -26
- package/src/utilities/json.js +1 -1
- package/src/utilities/string.js +7 -29
- package/src/utilities/substitutions.js +18 -29
- package/src/utilities/validation.js +2 -2
package/src/element/reference.js
CHANGED
|
@@ -54,32 +54,18 @@ export default define(class Reference extends Element {
|
|
|
54
54
|
return equalTo;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
matchMetavariableName(metavariableName) {
|
|
58
|
-
let metavariableNameMatches = false;
|
|
59
|
-
|
|
60
|
-
const metavariableNameA = metavariableName ///
|
|
61
|
-
|
|
62
|
-
metavariableName = this.getMetavariableName();
|
|
63
|
-
|
|
64
|
-
const metavariableNameB = metavariableName; ///
|
|
65
|
-
|
|
66
|
-
metavariableNameMatches = (metavariableNameA === metavariableNameB);
|
|
67
|
-
|
|
68
|
-
return metavariableNameMatches;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
57
|
isValid(context) {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
valid =
|
|
58
|
+
const metavariableNode = this.getMetavariableNode(),
|
|
59
|
+
referencePresent = context.isReferencePresentByMetavariableNode(metavariableNode),
|
|
60
|
+
valid = referencePresent; ///
|
|
75
61
|
|
|
76
62
|
return valid;
|
|
77
63
|
}
|
|
78
64
|
|
|
79
|
-
isEqualTo(
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
equalTo =
|
|
65
|
+
isEqualTo(reference) {
|
|
66
|
+
const referenceNode = reference.getNode(),
|
|
67
|
+
referenceNodeMatches = this.matchReferenceNode(referenceNode),
|
|
68
|
+
equalTo = referenceNodeMatches; ///
|
|
83
69
|
|
|
84
70
|
return equalTo;
|
|
85
71
|
}
|
|
@@ -101,7 +87,7 @@ export default define(class Reference extends Element {
|
|
|
101
87
|
}
|
|
102
88
|
|
|
103
89
|
compareMetavariable(metavariable) {
|
|
104
|
-
let
|
|
90
|
+
let comparesToMetavariable = false;
|
|
105
91
|
|
|
106
92
|
let metavariableName;
|
|
107
93
|
|
|
@@ -114,15 +100,15 @@ export default define(class Reference extends Element {
|
|
|
114
100
|
const metavariableNameB = metavariableName; ///
|
|
115
101
|
|
|
116
102
|
if (metavariableNameA === metavariableNameB) {
|
|
117
|
-
|
|
103
|
+
comparesToMetavariable = true;
|
|
118
104
|
}
|
|
119
105
|
|
|
120
|
-
return
|
|
106
|
+
return comparesToMetavariable;
|
|
121
107
|
}
|
|
122
108
|
|
|
123
109
|
compareMetavariableName(metavariableName) { return this.metavariable.compareMetavariableName(metavariableName); }
|
|
124
110
|
|
|
125
|
-
matchMetavariableNode(metavariableNode) { return this.metavariable.
|
|
111
|
+
matchMetavariableNode(metavariableNode) { return this.metavariable.matchMetavariableNode(metavariableNode); }
|
|
126
112
|
|
|
127
113
|
validate(context) {
|
|
128
114
|
let validates = false;
|
|
@@ -168,7 +154,7 @@ export default define(class Reference extends Element {
|
|
|
168
154
|
context.trace(`Validating the '${referenceString}' reference's '${metavariableString}' metavariable....'`);
|
|
169
155
|
|
|
170
156
|
const metaTypeName = REFERENCE_META_TYPE_NAME,
|
|
171
|
-
referenceMetaType = findMetaTypeByMetaTypeName(metaTypeName),
|
|
157
|
+
referenceMetaType = context.findMetaTypeByMetaTypeName(metaTypeName),
|
|
172
158
|
metaType = referenceMetaType, ///
|
|
173
159
|
metavariable = context.findMetavariable(this.metavariable);
|
|
174
160
|
|
package/src/element/rule.js
CHANGED
|
@@ -132,10 +132,6 @@ export default define(class Rule extends Element {
|
|
|
132
132
|
const proofVerifies = await this.verifyProof(context);
|
|
133
133
|
|
|
134
134
|
if (proofVerifies) {
|
|
135
|
-
const rule = this; ///
|
|
136
|
-
|
|
137
|
-
context.addRule(rule);
|
|
138
|
-
|
|
139
135
|
verifies = true;
|
|
140
136
|
}
|
|
141
137
|
}
|
|
@@ -144,6 +140,10 @@ export default define(class Rule extends Element {
|
|
|
144
140
|
}, context);
|
|
145
141
|
|
|
146
142
|
if (verifies) {
|
|
143
|
+
const rule = this;
|
|
144
|
+
|
|
145
|
+
context.addRule(rule);
|
|
146
|
+
|
|
147
147
|
context.debug(`...verified the '${ruleString}' rule.`);
|
|
148
148
|
}
|
|
149
149
|
|
|
@@ -184,15 +184,13 @@ export default define(class Rule extends Element {
|
|
|
184
184
|
premiseVerifies = await premise.verify(assignments, context)
|
|
185
185
|
|
|
186
186
|
if (premiseVerifies) {
|
|
187
|
-
|
|
187
|
+
assignAssignments(assignments, context);
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
const subproofOrProofAssertion = premise; ////
|
|
189
|
+
const subproofOrProofAssertion = premise; ////
|
|
191
190
|
|
|
192
|
-
|
|
191
|
+
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
193
192
|
|
|
194
|
-
|
|
195
|
-
}
|
|
193
|
+
return true;
|
|
196
194
|
}
|
|
197
195
|
});
|
|
198
196
|
|
package/src/element/signature.js
CHANGED
|
@@ -35,13 +35,13 @@ export default define(class Signature extends Element {
|
|
|
35
35
|
context.trace(`Verifying the '${signatureString}' signature...`);
|
|
36
36
|
|
|
37
37
|
verifies = this.terms.every((term) => {
|
|
38
|
-
const
|
|
39
|
-
const
|
|
38
|
+
const termValidates = term.validate(context, () => {
|
|
39
|
+
const validatesForwards = true;
|
|
40
40
|
|
|
41
|
-
return
|
|
41
|
+
return validatesForwards;
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
-
if (
|
|
44
|
+
if (termValidates) {
|
|
45
45
|
return true;
|
|
46
46
|
}
|
|
47
47
|
});
|
package/src/element/statement.js
CHANGED
|
@@ -44,8 +44,8 @@ export default define(class Statement extends Element {
|
|
|
44
44
|
return equalTo;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
let
|
|
47
|
+
compareMetavariableName(metavariableName) {
|
|
48
|
+
let comparesToMetavariableName = false;
|
|
49
49
|
|
|
50
50
|
const singular = this.isSingular();
|
|
51
51
|
|
|
@@ -56,10 +56,10 @@ export default define(class Statement extends Element {
|
|
|
56
56
|
|
|
57
57
|
const metavariableNameB = metavariableName; ///
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
comparesToMetavariableName = (metavariableNameA === metavariableNameB);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
return
|
|
62
|
+
return comparesToMetavariableName;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
isValid(context) {
|
|
@@ -90,7 +90,7 @@ export default define(class Statement extends Element {
|
|
|
90
90
|
statementNodeTermNodes = statementNode.getTermNodes();
|
|
91
91
|
|
|
92
92
|
termContained = statementNodeTermNodes.some((statementNodeTermNode) => { ///
|
|
93
|
-
const statementNodeTermNodeMatches = term.
|
|
93
|
+
const statementNodeTermNodeMatches = term.matchTermNode(statementNodeTermNode);
|
|
94
94
|
|
|
95
95
|
if (statementNodeTermNodeMatches) {
|
|
96
96
|
return true;
|
|
@@ -130,31 +130,6 @@ export default define(class Statement extends Element {
|
|
|
130
130
|
return frameContained;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
compareMetavariable(metavariable) {
|
|
134
|
-
let metavaraibleComparseTo;
|
|
135
|
-
|
|
136
|
-
const singular = this.isSingular();
|
|
137
|
-
|
|
138
|
-
if (singular) {
|
|
139
|
-
let metavariableName;
|
|
140
|
-
|
|
141
|
-
const statementNode = this.getStatementNode(),
|
|
142
|
-
singularMetavariableNode = statementNode.getSingularMetavariableNode();
|
|
143
|
-
|
|
144
|
-
metavariableName = singularMetavariableNode.getMetavariableName();
|
|
145
|
-
|
|
146
|
-
const metavariableNameA = metavariableName ///
|
|
147
|
-
|
|
148
|
-
metavariableName = metavariable.getName();
|
|
149
|
-
|
|
150
|
-
const metavariableNameB = metavariableName; ///
|
|
151
|
-
|
|
152
|
-
metavaraibleComparseTo = (metavariableNameA === metavariableNameB);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
return metavaraibleComparseTo;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
133
|
compareParameter(parameter) {
|
|
159
134
|
let comparesToParamter = false;
|
|
160
135
|
|
|
@@ -175,6 +150,28 @@ export default define(class Statement extends Element {
|
|
|
175
150
|
return comparesToParamter;
|
|
176
151
|
}
|
|
177
152
|
|
|
153
|
+
compareMetavariable(metavariable) {
|
|
154
|
+
let comparesToMetavariableName;
|
|
155
|
+
|
|
156
|
+
const singular = this.isSingular();
|
|
157
|
+
|
|
158
|
+
if (singular) {
|
|
159
|
+
let metavariableName;
|
|
160
|
+
|
|
161
|
+
metavariableName = metavariable.getName();
|
|
162
|
+
|
|
163
|
+
const metavariableNameA = metavariableName; ///
|
|
164
|
+
|
|
165
|
+
metavariableName = this.getMetavariableName();
|
|
166
|
+
|
|
167
|
+
const metavariableNameB = metavariableName; ///
|
|
168
|
+
|
|
169
|
+
comparesToMetavariableName = (metavariableNameA === metavariableNameB);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return comparesToMetavariableName;
|
|
173
|
+
}
|
|
174
|
+
|
|
178
175
|
validate(assignments, stated, context) {
|
|
179
176
|
let validates;
|
|
180
177
|
|
|
@@ -42,13 +42,11 @@ export default define(class SubDerivation extends Element {
|
|
|
42
42
|
subproofOrProofAssertionVarifies = subproofOrProofAssertion.verify(substitutions, assignments, context);
|
|
43
43
|
|
|
44
44
|
if (subproofOrProofAssertionVarifies) {
|
|
45
|
-
|
|
45
|
+
assignAssignments(assignments, context);
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
47
|
+
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
}
|
|
49
|
+
return true;
|
|
52
50
|
}
|
|
53
51
|
});
|
|
54
52
|
|
|
@@ -45,7 +45,7 @@ export default define(class FrameSubstitution extends Substitution {
|
|
|
45
45
|
return replacementNode;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
compareMetavariableName(metavariableName) { return this.targetFrame.compareMetavariableName(metavariableName); }
|
|
49
49
|
|
|
50
50
|
getMetavariableName() { return this.targetFrame.getMetavariableName(); }
|
|
51
51
|
|
|
@@ -47,7 +47,7 @@ export default define(class ReferenceSubstitution extends Substitution {
|
|
|
47
47
|
|
|
48
48
|
getMetavariableName() { return this.targetReference.getMetavariableName(); }
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
compareMetavariableName(metavariableName) { return this.targetReference.compareMetavariableName(metavariableName); }
|
|
51
51
|
|
|
52
52
|
isTrivial() {
|
|
53
53
|
const targetReferenceEqualToReplacementReference = this.targetReference.isEqualTo(this.replacementReference),
|
|
@@ -68,7 +68,7 @@ export default define(class StatementSubstitution extends Substitution {
|
|
|
68
68
|
|
|
69
69
|
getMetavariableName() { return this.targetStatement.getMetavariableName(); }
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
compareMetavariableName(metavariableName) { return this.targetStatement.compareMetavariableName(metavariableName); }
|
|
72
72
|
|
|
73
73
|
compareStatement(statement, context) {
|
|
74
74
|
statement = stripBracketsFromStatement(statement, context); ///
|
|
@@ -48,6 +48,8 @@ export default define(class TermSubstitution extends Substitution {
|
|
|
48
48
|
|
|
49
49
|
getVariableIdentifier() { return this.targetTerm.getVariableIdentifier(); }
|
|
50
50
|
|
|
51
|
+
compareVariableIdentifier(variableIdentifier) { return this.targetTerm.compareVariableIdentifier(variableIdentifier); }
|
|
52
|
+
|
|
51
53
|
isTrivial() {
|
|
52
54
|
const targetTermEqualToReplacementTerm = this.targetTerm.isEqualTo(this.replacementTerm),
|
|
53
55
|
trivial = targetTermEqualToReplacementTerm; ///
|
|
@@ -124,9 +126,9 @@ export default define(class TermSubstitution extends Substitution {
|
|
|
124
126
|
|
|
125
127
|
if (targetTermSingular) {
|
|
126
128
|
targetTermValidates = this.targetTerm.validate(context, () => {
|
|
127
|
-
const
|
|
129
|
+
const validatesForwards = true;
|
|
128
130
|
|
|
129
|
-
return
|
|
131
|
+
return validatesForwards;
|
|
130
132
|
});
|
|
131
133
|
} else {
|
|
132
134
|
context.debug(`The '${termSubstitutionString}' term subtitution's '${targetTermString}' target term is not singular.`);
|
|
@@ -6,12 +6,6 @@ import { primitiveUtilities } from "occam-furtle";
|
|
|
6
6
|
const { primitiveFromNode } =primitiveUtilities;
|
|
7
7
|
|
|
8
8
|
export default class Substitution extends Element {
|
|
9
|
-
getSubstitution() {
|
|
10
|
-
const substitution = null;
|
|
11
|
-
|
|
12
|
-
return substitution;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
9
|
getPrimitive() {
|
|
16
10
|
const context = this.getContext(),
|
|
17
11
|
replacementNode = this.getReplacementNode(),
|
|
@@ -28,18 +22,6 @@ export default class Substitution extends Element {
|
|
|
28
22
|
return substitutionNode;
|
|
29
23
|
}
|
|
30
24
|
|
|
31
|
-
getNetavariableName() {
|
|
32
|
-
const metavariableName = null;
|
|
33
|
-
|
|
34
|
-
return metavariableName;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
getVariableIdentifier() {
|
|
38
|
-
const variableIdentifier = null;
|
|
39
|
-
|
|
40
|
-
return variableIdentifier;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
25
|
matchSubstitutionNode(substitutionNode) {
|
|
44
26
|
const substitutionNodeA = substitutionNode; ///
|
|
45
27
|
|
|
@@ -68,12 +50,6 @@ export default class Substitution extends Element {
|
|
|
68
50
|
return equalTo;
|
|
69
51
|
}
|
|
70
52
|
|
|
71
|
-
isSimple() {
|
|
72
|
-
const simple = true;
|
|
73
|
-
|
|
74
|
-
return simple;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
53
|
isComplex() {
|
|
78
54
|
const simple = this.isSimple(),
|
|
79
55
|
complex = !simple;
|
|
@@ -81,12 +57,6 @@ export default class Substitution extends Element {
|
|
|
81
57
|
return complex;
|
|
82
58
|
}
|
|
83
59
|
|
|
84
|
-
isTrivial() {
|
|
85
|
-
const trivial = false;
|
|
86
|
-
|
|
87
|
-
return trivial;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
60
|
isNonTrivial() {
|
|
91
61
|
const trivial = this.isTrivial(),
|
|
92
62
|
nonTrivlal = !trivial;
|
|
@@ -94,22 +64,64 @@ export default class Substitution extends Element {
|
|
|
94
64
|
return nonTrivlal;
|
|
95
65
|
}
|
|
96
66
|
|
|
67
|
+
getVariable() {
|
|
68
|
+
const variable = null;
|
|
69
|
+
|
|
70
|
+
return variable;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
getSubstitution() {
|
|
74
|
+
const substitution = null;
|
|
75
|
+
|
|
76
|
+
return substitution;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
getMetavariable() {
|
|
80
|
+
const metavariable = null;
|
|
81
|
+
|
|
82
|
+
return metavariable;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
getMetavariableName() {
|
|
86
|
+
const metavariableName = null;
|
|
87
|
+
|
|
88
|
+
return metavariableName;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
getVariableIdentifier() {
|
|
92
|
+
const variableIdentifier = null;
|
|
93
|
+
|
|
94
|
+
return variableIdentifier;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
isSimple() {
|
|
98
|
+
const simple = true;
|
|
99
|
+
|
|
100
|
+
return simple;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
isTermEqualToTerm(term) {
|
|
104
|
+
const termEqualToTerm = false;
|
|
105
|
+
|
|
106
|
+
return termEqualToTerm;
|
|
107
|
+
}
|
|
108
|
+
|
|
97
109
|
isFrameEqualToFrame(frame) {
|
|
98
110
|
const frameEqualToFrame = false;
|
|
99
111
|
|
|
100
112
|
return frameEqualToFrame;
|
|
101
113
|
}
|
|
102
114
|
|
|
103
|
-
|
|
104
|
-
const
|
|
115
|
+
isStatementEqualToStatement(statement) {
|
|
116
|
+
const statementEqualToStatement = false;
|
|
105
117
|
|
|
106
|
-
return
|
|
118
|
+
return statementEqualToStatement;
|
|
107
119
|
}
|
|
108
120
|
|
|
109
|
-
|
|
110
|
-
const
|
|
121
|
+
isReferenceEqualToReference(reference) {
|
|
122
|
+
const referenceEqualToReference = false;
|
|
111
123
|
|
|
112
|
-
return
|
|
124
|
+
return referenceEqualToReference;
|
|
113
125
|
}
|
|
114
126
|
|
|
115
127
|
compareTerm(term, context) {
|
|
@@ -136,6 +148,18 @@ export default class Substitution extends Element {
|
|
|
136
148
|
return compaaresToMetavariable;
|
|
137
149
|
}
|
|
138
150
|
|
|
151
|
+
compareMetavariableName(metavariableName) {
|
|
152
|
+
const comparesToMetavariableName = false;
|
|
153
|
+
|
|
154
|
+
return comparesToMetavariableName;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
compareVariableIdentifier(variableIdentifier) {
|
|
158
|
+
const comparesToVariableIdentifier = false;
|
|
159
|
+
|
|
160
|
+
return comparesToVariableIdentifier;
|
|
161
|
+
}
|
|
162
|
+
|
|
139
163
|
resolve(substitutions, generalContext, specificContext) {
|
|
140
164
|
const resolved = true;
|
|
141
165
|
|
package/src/element/term.js
CHANGED
|
@@ -44,12 +44,30 @@ export default define(class Term extends Element {
|
|
|
44
44
|
termNode = this.getTermNode();
|
|
45
45
|
|
|
46
46
|
const termNodeB = termNode, ///
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
termNodeAAMatchesTermBNodeB = termNodeA.match(termNodeB),
|
|
48
|
+
equalTo = termNodeAAMatchesTermBNodeB; ///
|
|
49
49
|
|
|
50
50
|
return equalTo;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
compareVariableIdentifier(variableIdentifier) {
|
|
54
|
+
let comparesToVariableIdentifier = false;
|
|
55
|
+
|
|
56
|
+
const singular = this.isSingular();
|
|
57
|
+
|
|
58
|
+
if (singular) {
|
|
59
|
+
const variableIdentifierA = variableIdentifier; ///
|
|
60
|
+
|
|
61
|
+
variableIdentifier = this.getVariableIdentifier();
|
|
62
|
+
|
|
63
|
+
const variableIdentifierB = variableIdentifier;
|
|
64
|
+
|
|
65
|
+
comparesToVariableIdentifier = (variableIdentifierA === variableIdentifierB);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return comparesToVariableIdentifier;
|
|
69
|
+
}
|
|
70
|
+
|
|
53
71
|
isValid(context) {
|
|
54
72
|
const termNode = this.getTermNode(),
|
|
55
73
|
termPresent = context.isTermPresentByTermNode(termNode),
|
|
@@ -130,7 +148,7 @@ export default define(class Term extends Element {
|
|
|
130
148
|
return comparesToParamter;
|
|
131
149
|
}
|
|
132
150
|
|
|
133
|
-
validate(context,
|
|
151
|
+
validate(context, validateForwards) {
|
|
134
152
|
let validates;
|
|
135
153
|
|
|
136
154
|
const termString = this.getString(); ///
|
|
@@ -144,9 +162,10 @@ export default define(class Term extends Element {
|
|
|
144
162
|
|
|
145
163
|
context.debug(`...the '${termString}' term is already valid.`);
|
|
146
164
|
} else {
|
|
165
|
+
const term = this; ///
|
|
166
|
+
|
|
147
167
|
validates = validateTerms.some((validateTerm) => { ///
|
|
148
|
-
const
|
|
149
|
-
termValidates = validateTerm(term, context, verifyForwards);
|
|
168
|
+
const termValidates = validateTerm(term, context, validateForwards);
|
|
150
169
|
|
|
151
170
|
if (termValidates) {
|
|
152
171
|
return true;
|
|
@@ -255,15 +255,13 @@ export default class TopLevelAssertion extends Element {
|
|
|
255
255
|
suppositionVerifies = await supposition.verify(assignments, context)
|
|
256
256
|
|
|
257
257
|
if (suppositionVerifies) {
|
|
258
|
-
|
|
258
|
+
assignAssignments(assignments, context);
|
|
259
259
|
|
|
260
|
-
|
|
261
|
-
const subproofOrProofAssertion = supposition; ////
|
|
260
|
+
const subproofOrProofAssertion = supposition; ////
|
|
262
261
|
|
|
263
|
-
|
|
262
|
+
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
264
263
|
|
|
265
|
-
|
|
266
|
-
}
|
|
264
|
+
return true;
|
|
267
265
|
}
|
|
268
266
|
});
|
|
269
267
|
|
|
@@ -159,15 +159,13 @@ export default class TopLevelMetaAssertion extends Element {
|
|
|
159
159
|
suppositionVerifies = await supposition.verify(assignments, context)
|
|
160
160
|
|
|
161
161
|
if (suppositionVerifies) {
|
|
162
|
-
|
|
162
|
+
assignAssignments(assignments, context);
|
|
163
163
|
|
|
164
|
-
|
|
165
|
-
const subproofOrProofAssertion = supposition; ////
|
|
164
|
+
const subproofOrProofAssertion = supposition; ////
|
|
166
165
|
|
|
167
|
-
|
|
166
|
+
context.addSubproofOrProofAssertion(subproofOrProofAssertion);
|
|
168
167
|
|
|
169
|
-
|
|
170
|
-
}
|
|
168
|
+
return true;
|
|
171
169
|
}
|
|
172
170
|
});
|
|
173
171
|
|