occam-verify-cli 1.0.421 → 1.0.428
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/action/verify.js +7 -3
- package/lib/context/file.js +8 -44
- package/lib/context/local.js +8 -26
- package/lib/context/nominal.js +64 -0
- package/lib/context/release.js +2 -2
- package/lib/context/temporary.js +6 -58
- package/lib/element/assertion/contained.js +303 -0
- package/lib/element/assertion/defined.js +318 -0
- package/lib/element/assertion/property.js +299 -0
- package/lib/element/assertion/satisfies.js +264 -0
- package/lib/element/assertion/subproof.js +178 -0
- package/lib/element/assertion/type.js +294 -0
- package/lib/{ontology → element}/assertion.js +9 -9
- package/lib/element/assumption.js +365 -0
- package/lib/element/axiom.js +332 -0
- package/lib/element/axiomLemmaTheoremConjecture.js +346 -0
- package/lib/element/conclusion.js +151 -0
- package/lib/{ontology → element}/conjecture.js +7 -14
- package/lib/element/declaration/combinator.js +161 -0
- package/lib/element/declaration/complexType.js +343 -0
- package/lib/element/declaration/constructor.js +193 -0
- package/lib/element/declaration/metavariable.js +193 -0
- package/lib/element/declaration/simpleType.js +240 -0
- package/lib/element/declaration/typePrefix.js +179 -0
- package/lib/element/declaration/variable.js +196 -0
- package/lib/{ontology → element}/declaration.js +9 -9
- package/lib/element/deduction.js +207 -0
- package/lib/element/derivation.js +96 -0
- package/lib/element/equality.js +275 -0
- package/lib/element/equivalence.js +312 -0
- package/lib/element/equivalences.js +264 -0
- package/lib/{ontology → element}/error.js +12 -12
- package/lib/element/frame.js +387 -0
- package/lib/element/hypothesis.js +195 -0
- package/lib/element/judgement.js +243 -0
- package/lib/element/label.js +198 -0
- package/lib/{ontology → element}/lemma.js +7 -7
- package/lib/{ontology → element}/metaLemma.js +8 -8
- package/lib/element/metaLemmaMetatheorem.js +234 -0
- package/lib/{ontology → element}/metaType.js +18 -11
- package/lib/{ontology → element}/metatheorem.js +8 -8
- package/lib/element/metavariable.js +459 -0
- package/lib/element/parameter.js +108 -0
- package/lib/element/premise.js +310 -0
- package/lib/element/procedureCall.js +243 -0
- package/lib/{ontology → element}/procedureReference.js +3 -3
- package/lib/{ontology → element}/proof.js +4 -4
- package/lib/element/property.js +128 -0
- package/lib/element/propertyRelation.js +195 -0
- package/lib/element/reference.js +304 -0
- package/lib/element/rule.js +373 -0
- package/lib/element/section.js +255 -0
- package/lib/element/signature.js +217 -0
- package/lib/element/statement/combinator/bracketed.js +166 -0
- package/lib/element/statement/combinator.js +105 -0
- package/lib/element/statement.js +386 -0
- package/lib/element/step.js +274 -0
- package/lib/element/subDerivation.js +137 -0
- package/lib/element/subproof.js +240 -0
- package/lib/element/substitution/frame.js +216 -0
- package/lib/{ontology → element}/substitution/reference.js +5 -4
- package/lib/{ontology → element}/substitution/statement.js +7 -6
- package/lib/element/substitution/term.js +265 -0
- package/lib/element/substitution.js +206 -0
- package/lib/element/substitutions.js +425 -0
- package/lib/element/supposition.js +323 -0
- package/lib/{ontology → element/term}/constructor/bracketed.js +11 -7
- package/lib/element/term/constructor.js +172 -0
- package/lib/element/term.js +322 -0
- package/lib/{ontology → element}/theorem.js +8 -8
- package/lib/element/type.js +490 -0
- package/lib/element/typePrefix.js +99 -0
- package/lib/element/variable.js +345 -0
- package/lib/elements.js +27 -0
- package/lib/mixins/statement/verify.js +14 -14
- package/lib/mixins/step/unify.js +12 -12
- package/lib/mixins/term/verify.js +4 -4
- package/lib/node/equivalence.js +116 -0
- package/lib/node/substitution/frame.js +15 -1
- package/lib/node/substitution/statement.js +37 -1
- package/lib/node/substitution/term.js +15 -1
- package/lib/nonTerminalNodeMap.js +4 -3
- package/lib/preamble.js +63 -63
- package/lib/process/assign.js +58 -0
- package/lib/process/instantiate.js +74 -7
- package/lib/process/unify.js +26 -26
- package/lib/process/verify.js +21 -21
- package/lib/ruleNames.js +5 -1
- package/lib/utilities/brackets.js +9 -18
- package/lib/utilities/customGrammar.js +1 -1
- package/lib/utilities/element.js +1141 -0
- package/lib/utilities/json.js +32 -32
- package/lib/utilities/node.js +49 -61
- package/lib/utilities/statement.js +83 -0
- package/lib/utilities/string.js +80 -57
- package/package.json +6 -6
- package/src/action/verify.js +8 -1
- package/src/context/file.js +9 -39
- package/src/context/local.js +5 -11
- package/src/context/nominal.js +30 -0
- package/src/context/release.js +1 -1
- package/src/context/temporary.js +6 -63
- package/src/{ontology → element}/assertion/contained.js +4 -25
- package/src/{ontology → element}/assertion/defined.js +7 -26
- package/src/{ontology → element}/assertion/property.js +7 -26
- package/src/{ontology → element}/assertion/satisfies.js +5 -53
- package/src/{ontology → element}/assertion/subproof.js +3 -32
- package/src/{ontology → element}/assertion/type.js +7 -26
- package/src/{ontology → element}/assertion.js +6 -6
- package/src/{ontology → element}/assumption.js +3 -27
- package/src/{ontology → element}/axiom.js +4 -11
- package/src/{ontology/topLevelAssertion.js → element/axiomLemmaTheoremConjecture.js} +9 -105
- package/src/{ontology → element}/conclusion.js +4 -19
- package/src/{ontology → element}/conjecture.js +4 -11
- package/src/{ontology → element}/declaration/combinator.js +3 -14
- package/src/{ontology → element}/declaration/complexType.js +3 -19
- package/src/{ontology → element}/declaration/constructor.js +3 -14
- package/src/{ontology → element}/declaration/metavariable.js +3 -39
- package/src/{ontology → element}/declaration/simpleType.js +3 -19
- package/src/{ontology → element}/declaration/typePrefix.js +3 -15
- package/src/{ontology → element}/declaration/variable.js +3 -14
- package/src/{ontology → element}/declaration.js +6 -6
- package/src/{ontology → element}/deduction.js +9 -22
- package/src/{ontology → element}/derivation.js +2 -32
- package/src/{ontology → element}/equality.js +18 -42
- package/src/{ontology → element}/equivalence.js +37 -22
- package/src/{ontology → element}/equivalences.js +1 -2
- package/src/{ontology → element}/error.js +8 -8
- package/src/{ontology → element}/frame.js +8 -56
- package/src/{ontology → element}/hypothesis.js +5 -5
- package/src/{ontology → element}/judgement.js +7 -7
- package/src/{ontology → element}/label.js +3 -3
- package/src/{ontology → element}/lemma.js +4 -4
- package/src/{ontology → element}/metaLemma.js +5 -5
- package/src/{ontology/topLevelMetaAssertion.js → element/metaLemmaMetatheorem.js} +11 -11
- package/src/{ontology → element}/metaType.js +11 -7
- package/src/{ontology → element}/metatheorem.js +5 -5
- package/src/{ontology → element}/metavariable.js +10 -60
- package/src/{ontology → element}/parameter.js +1 -1
- package/src/{ontology → element}/premise.js +14 -14
- package/src/{ontology → element}/procedureCall.js +4 -4
- package/src/{ontology → element}/procedureReference.js +1 -1
- package/src/{ontology → element}/proof.js +3 -3
- package/src/{ontology → element}/property.js +7 -15
- package/src/{ontology → element}/propertyRelation.js +5 -11
- package/src/{ontology → element}/reference.js +5 -19
- package/src/{ontology → element}/rule.js +13 -13
- package/src/{ontology → element}/section.js +10 -10
- package/src/{ontology → element}/signature.js +12 -15
- package/src/element/statement/combinator/bracketed.js +38 -0
- package/src/element/statement/combinator.js +59 -0
- package/src/{ontology → element}/statement.js +11 -27
- package/src/{ontology → element}/step.js +10 -44
- package/src/{ontology → element}/subDerivation.js +3 -24
- package/src/{ontology → element}/subproof.js +3 -43
- package/src/{ontology → element}/substitution/frame.js +4 -21
- package/src/{ontology → element}/substitution/reference.js +3 -3
- package/src/{ontology → element}/substitution/statement.js +6 -10
- package/src/{ontology → element}/substitution/term.js +7 -23
- package/src/{ontology → element}/substitutions.js +1 -1
- package/src/{ontology → element}/supposition.js +10 -10
- package/src/{ontology → element/term}/constructor/bracketed.js +12 -13
- package/src/element/term/constructor.js +82 -0
- package/src/{ontology → element}/term.js +6 -38
- package/src/{ontology → element}/theorem.js +5 -5
- package/src/{ontology → element}/type.js +17 -64
- package/src/{ontology → element}/typePrefix.js +8 -12
- package/src/{ontology → element}/variable.js +9 -20
- package/src/elements.js +13 -0
- package/src/mixins/statement/verify.js +4 -4
- package/src/mixins/step/unify.js +6 -6
- package/src/mixins/term/verify.js +3 -3
- package/src/node/equivalence.js +16 -0
- package/src/node/substitution/frame.js +14 -0
- package/src/node/substitution/statement.js +40 -0
- package/src/node/substitution/term.js +15 -0
- package/src/nonTerminalNodeMap.js +4 -1
- package/src/preamble.js +62 -62
- package/src/process/assign.js +59 -0
- package/src/process/instantiate.js +71 -15
- package/src/process/unify.js +37 -39
- package/src/process/verify.js +20 -20
- package/src/ruleNames.js +1 -0
- package/src/utilities/brackets.js +12 -17
- package/src/utilities/customGrammar.js +3 -3
- package/src/utilities/element.js +1399 -0
- package/src/utilities/json.js +31 -31
- package/src/utilities/node.js +56 -64
- package/src/utilities/{context.js → statement.js} +10 -39
- package/src/utilities/string.js +83 -53
- package/lib/assignment/equality.js +0 -62
- package/lib/assignment/judgement.js +0 -62
- package/lib/assignment/variable.js +0 -64
- package/lib/context/bracketed/combinator.js +0 -121
- package/lib/context/bracketed/constructor.js +0 -121
- package/lib/context/bracketted.js +0 -86
- package/lib/context/partial/metavariable.js +0 -180
- package/lib/context/partial/statement.js +0 -180
- package/lib/context/partial/term.js +0 -192
- package/lib/context/partial/variable.js +0 -192
- package/lib/context/partial.js +0 -93
- package/lib/ontology/assertion/contained.js +0 -357
- package/lib/ontology/assertion/defined.js +0 -331
- package/lib/ontology/assertion/property.js +0 -313
- package/lib/ontology/assertion/satisfies.js +0 -302
- package/lib/ontology/assertion/subproof.js +0 -240
- package/lib/ontology/assertion/type.js +0 -308
- package/lib/ontology/assumption.js +0 -383
- package/lib/ontology/axiom.js +0 -339
- package/lib/ontology/combinator/bracketed.js +0 -202
- package/lib/ontology/combinator.js +0 -155
- package/lib/ontology/conclusion.js +0 -201
- package/lib/ontology/constructor.js +0 -185
- package/lib/ontology/declaration/combinator.js +0 -210
- package/lib/ontology/declaration/complexType.js +0 -393
- package/lib/ontology/declaration/constructor.js +0 -242
- package/lib/ontology/declaration/metavariable.js +0 -257
- package/lib/ontology/declaration/simpleType.js +0 -290
- package/lib/ontology/declaration/typePrefix.js +0 -228
- package/lib/ontology/declaration/variable.js +0 -245
- package/lib/ontology/deduction.js +0 -215
- package/lib/ontology/derivation.js +0 -155
- package/lib/ontology/equality.js +0 -288
- package/lib/ontology/equivalence.js +0 -295
- package/lib/ontology/equivalences.js +0 -264
- package/lib/ontology/frame.js +0 -419
- package/lib/ontology/hypothesis.js +0 -190
- package/lib/ontology/judgement.js +0 -248
- package/lib/ontology/label.js +0 -198
- package/lib/ontology/metavariable.js +0 -502
- package/lib/ontology/parameter.js +0 -108
- package/lib/ontology/premise.js +0 -310
- package/lib/ontology/procedureCall.js +0 -243
- package/lib/ontology/property.js +0 -166
- package/lib/ontology/propertyRelation.js +0 -202
- package/lib/ontology/reference.js +0 -315
- package/lib/ontology/rule.js +0 -373
- package/lib/ontology/section.js +0 -255
- package/lib/ontology/signature.js +0 -217
- package/lib/ontology/statement.js +0 -398
- package/lib/ontology/step.js +0 -295
- package/lib/ontology/subDerivation.js +0 -147
- package/lib/ontology/subproof.js +0 -265
- package/lib/ontology/substitution/frame.js +0 -261
- package/lib/ontology/substitution/term.js +0 -269
- package/lib/ontology/substitution.js +0 -206
- package/lib/ontology/substitutions.js +0 -425
- package/lib/ontology/supposition.js +0 -323
- package/lib/ontology/term.js +0 -351
- package/lib/ontology/topLevelAssertion.js +0 -431
- package/lib/ontology/topLevelMetaAssertion.js +0 -234
- package/lib/ontology/type.js +0 -556
- package/lib/ontology/typePrefix.js +0 -99
- package/lib/ontology/variable.js +0 -343
- package/lib/ontology.js +0 -27
- package/lib/utilities/assignments.js +0 -19
- package/lib/utilities/context.js +0 -101
- package/lib/utilities/subproof.js +0 -42
- package/lib/utilities/type.js +0 -40
- package/src/assignment/equality.js +0 -29
- package/src/assignment/judgement.js +0 -29
- package/src/assignment/variable.js +0 -34
- package/src/context/bracketed/combinator.js +0 -31
- package/src/context/bracketed/constructor.js +0 -31
- package/src/context/bracketted.js +0 -41
- package/src/context/partial/metavariable.js +0 -39
- package/src/context/partial/statement.js +0 -39
- package/src/context/partial/term.js +0 -49
- package/src/context/partial/variable.js +0 -49
- package/src/context/partial.js +0 -71
- package/src/ontology/combinator/bracketed.js +0 -38
- package/src/ontology/combinator.js +0 -72
- package/src/ontology/constructor.js +0 -105
- package/src/ontology.js +0 -13
- package/src/utilities/assignments.js +0 -11
- package/src/utilities/subproof.js +0 -56
- package/src/utilities/type.js +0 -35
- /package/src/{ontology → element}/substitution.js +0 -0
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import MetavariablePartialContext from "../context/partial/metavariable";
|
|
3
|
+
import elements from "../elements";
|
|
5
4
|
|
|
6
|
-
import { define } from "../
|
|
5
|
+
import { define } from "../elements";
|
|
7
6
|
import { EMPTY_STRING } from "../constants";
|
|
7
|
+
import { instantiateMetavariable } from "../process/instantiate";
|
|
8
8
|
import { typeFromJSON, typeToTypeJSON } from "../utilities/json";
|
|
9
9
|
import { metaTypeFromJSON, metaTypeToMetaTypeJSON } from "../utilities/json";
|
|
10
10
|
import { unifyMetavariable, unifyMetavariableIntrinsically } from "../process/unify";
|
|
11
11
|
|
|
12
12
|
export default define(class Metavariable {
|
|
13
|
-
constructor(string, node,
|
|
13
|
+
constructor(string, node, name, type, metaType) {
|
|
14
14
|
this.string = string;
|
|
15
15
|
this.node = node;
|
|
16
|
-
this.tokens = tokens;
|
|
17
16
|
this.name = name;
|
|
18
17
|
this.type = type;
|
|
19
18
|
this.metaType = metaType;
|
|
@@ -27,10 +26,6 @@ export default define(class Metavariable {
|
|
|
27
26
|
return this.node;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
getTokens() {
|
|
31
|
-
return this.tokens;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
29
|
getName() {
|
|
35
30
|
return this.name;
|
|
36
31
|
}
|
|
@@ -43,18 +38,6 @@ export default define(class Metavariable {
|
|
|
43
38
|
return this.metaType;
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
setNode(node) {
|
|
47
|
-
this.node = node;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
setTokens(tokens) {
|
|
51
|
-
this.tokens = tokens;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
setName(name) {
|
|
55
|
-
this.name = name;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
41
|
setType(type) {
|
|
59
42
|
this.type = type;
|
|
60
43
|
}
|
|
@@ -156,7 +139,7 @@ export default define(class Metavariable {
|
|
|
156
139
|
frameUnifies = true;
|
|
157
140
|
}
|
|
158
141
|
} else {
|
|
159
|
-
const { FrameSubstitution } =
|
|
142
|
+
const { FrameSubstitution } = elements,
|
|
160
143
|
context = specificContext, ///
|
|
161
144
|
metavariable = this, ///
|
|
162
145
|
frameSubstitution = FrameSubstitution.fromFrameAndMetavariable(frame, metavariable, context),
|
|
@@ -204,7 +187,7 @@ export default define(class Metavariable {
|
|
|
204
187
|
statementUnifies = true;
|
|
205
188
|
}
|
|
206
189
|
} else {
|
|
207
|
-
const { StatementSubstitution } =
|
|
190
|
+
const { StatementSubstitution } = elements,
|
|
208
191
|
metavariable = this,
|
|
209
192
|
statementSubstitution = StatementSubstitution.fromStatementMetavariableAndSubstitution(statement, metavariable, substitution, context);
|
|
210
193
|
|
|
@@ -249,7 +232,7 @@ export default define(class Metavariable {
|
|
|
249
232
|
referenceUnifies = true;
|
|
250
233
|
}
|
|
251
234
|
} else {
|
|
252
|
-
const { ReferenceSubstitution } =
|
|
235
|
+
const { ReferenceSubstitution } = elements,
|
|
253
236
|
metavariable = this,
|
|
254
237
|
referenceSubstitution = ReferenceSubstitution.fromReferenceAndMetavariable(reference, metavariable, context),
|
|
255
238
|
substitution = referenceSubstitution; ///
|
|
@@ -422,18 +405,13 @@ export default define(class Metavariable {
|
|
|
422
405
|
|
|
423
406
|
static fromJSON(json, context) {
|
|
424
407
|
const { string } = json,
|
|
425
|
-
|
|
426
|
-
parser = context.getParser(),
|
|
427
|
-
metavariablePartialContext = MetavariablePartialContext.fromStringLexerAndParser(string, lexer, parser),
|
|
428
|
-
metavariableTokens = metavariablePartialContext.getMetavariableTokens(),
|
|
429
|
-
metavariableNode = metavariablePartialContext.getMetavariableNode(),
|
|
408
|
+
metavariableNode = instantiateMetavariable(string, context),
|
|
430
409
|
metavariableName = metavariableNode.getMetavariableName(),
|
|
431
410
|
name = metavariableName, ///
|
|
432
411
|
node = metavariableNode, ///
|
|
433
|
-
tokens = metavariableTokens, ///
|
|
434
412
|
type = typeFromJSON(json, context),
|
|
435
413
|
metaType = metaTypeFromJSON(json, context),
|
|
436
|
-
metavariable = new Metavariable(string, node,
|
|
414
|
+
metavariable = new Metavariable(string, node, name, type, metaType);
|
|
437
415
|
|
|
438
416
|
return metavariable;
|
|
439
417
|
}
|
|
@@ -498,7 +476,7 @@ export default define(class Metavariable {
|
|
|
498
476
|
}
|
|
499
477
|
|
|
500
478
|
static fromMetavariableDeclarationNode(metavariableDeclarationNode, context) {
|
|
501
|
-
const { MetaType } =
|
|
479
|
+
const { MetaType } = elements,
|
|
502
480
|
metavariableNode = metavariableDeclarationNode.getMetavariableNode(),
|
|
503
481
|
type = typeFromMetavariableDeclarationNode(metavariableDeclarationNode, context),
|
|
504
482
|
metaType = MetaType.fromMetavariableDeclarationNode(metavariableDeclarationNode, context),
|
|
@@ -511,31 +489,3 @@ export default define(class Metavariable {
|
|
|
511
489
|
return metavariable;
|
|
512
490
|
}
|
|
513
491
|
});
|
|
514
|
-
|
|
515
|
-
function metavariableFromMetavariableNode(metavariableNode, context) {
|
|
516
|
-
const { Metavariable } = ontology,
|
|
517
|
-
metavariableName = metavariableNode.getMetavariableName(),
|
|
518
|
-
type = null,
|
|
519
|
-
name = metavariableName, ///
|
|
520
|
-
node = metavariableNode, ///
|
|
521
|
-
string = context.nodeAsString(node),
|
|
522
|
-
tokens = context.nodeAsTokens(node),
|
|
523
|
-
metaType = null,
|
|
524
|
-
metavariable = new Metavariable(string, node, tokens, name, type, metaType);
|
|
525
|
-
|
|
526
|
-
return metavariable;
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
function typeFromMetavariableDeclarationNode(metavariableDeclarationNode, context) {
|
|
530
|
-
let type = null;
|
|
531
|
-
|
|
532
|
-
const typeNode = metavariableDeclarationNode.getTypeNode();
|
|
533
|
-
|
|
534
|
-
if (typeNode !== null) {
|
|
535
|
-
const nominalTypeName = typeNode.getNominalTypeName();
|
|
536
|
-
|
|
537
|
-
type = context.findTypeByNominalTypeName(nominalTypeName);
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
return type;
|
|
541
|
-
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import elements from "../elements";
|
|
4
4
|
import TemporaryContext from "../context/temporary";
|
|
5
|
+
import assignAssignments from "../process/assign";
|
|
5
6
|
|
|
6
|
-
import { define } from "../
|
|
7
|
-
import {
|
|
8
|
-
import { subproofAssertionFromStatement } from "../utilities/context";
|
|
7
|
+
import { define } from "../elements";
|
|
8
|
+
import { subproofAssertionFromStatement } from "../utilities/statement";
|
|
9
9
|
import { termsFromJSON, framesFromJSON, statementFromJSON, procedureCallFromJSON, termsToTermsJSON, framesToFramesJSON, statementToStatementJSON, procedureCallToProcedureCallJSON } from "../utilities/json";
|
|
10
10
|
|
|
11
11
|
export default define(class Premise {
|
|
12
|
-
constructor(context,
|
|
12
|
+
constructor(context, string, node, statement, procedureCall) {
|
|
13
13
|
this.context = context;
|
|
14
|
-
this.node = node;
|
|
15
14
|
this.string = string;
|
|
15
|
+
this.node = node;
|
|
16
16
|
this.statement = statement;
|
|
17
17
|
this.procedureCall = procedureCall;
|
|
18
18
|
}
|
|
@@ -21,14 +21,14 @@ export default define(class Premise {
|
|
|
21
21
|
return this.context;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
getNode() {
|
|
25
|
-
return this.node;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
24
|
getString() {
|
|
29
25
|
return this.string;
|
|
30
26
|
}
|
|
31
27
|
|
|
28
|
+
getNode() {
|
|
29
|
+
return this.node;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
32
|
getStatement() {
|
|
33
33
|
return this.statement;
|
|
34
34
|
}
|
|
@@ -59,7 +59,7 @@ export default define(class Premise {
|
|
|
59
59
|
const assignmentsAssigned = assignAssignments(assignments, context);
|
|
60
60
|
|
|
61
61
|
if (assignmentsAssigned) {
|
|
62
|
-
const { Step } =
|
|
62
|
+
const { Step } = elements,
|
|
63
63
|
step = Step.fromStatement(this.statement, context),
|
|
64
64
|
stepOrSubproof = step; ///
|
|
65
65
|
|
|
@@ -273,13 +273,13 @@ export default define(class Premise {
|
|
|
273
273
|
|
|
274
274
|
context = temporaryContext; ///
|
|
275
275
|
|
|
276
|
-
const premise = new Premise(context,
|
|
276
|
+
const premise = new Premise(context, string, node, statement, procedureCall);
|
|
277
277
|
|
|
278
278
|
return premise;
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
static fromPremiseNode(premiseNode, context) {
|
|
282
|
-
const { Statement, ProcedureCall } =
|
|
282
|
+
const { Statement, ProcedureCall } = elements,
|
|
283
283
|
node = premiseNode, ///
|
|
284
284
|
string = context.nodeAsString(node),
|
|
285
285
|
statement = Statement.fromPremiseNode(premiseNode, context),
|
|
@@ -288,7 +288,7 @@ export default define(class Premise {
|
|
|
288
288
|
|
|
289
289
|
context = temporaryContext; ///
|
|
290
290
|
|
|
291
|
-
const premise = new Premise(context,
|
|
291
|
+
const premise = new Premise(context, string, node, statement, procedureCall);
|
|
292
292
|
|
|
293
293
|
return premise
|
|
294
294
|
}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import { Expressions } from "occam-furtle";
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import elements from "../elements";
|
|
6
6
|
|
|
7
|
-
import { define } from "../
|
|
7
|
+
import { define } from "../elements";
|
|
8
8
|
import { parametersFromJSON, procedureReferenceFromJSON, parametersToParametersJSON, procedureReferenceToProcedureReferenceJSON } from "../utilities/json";
|
|
9
9
|
|
|
10
10
|
export default define(class ProcedureCall {
|
|
@@ -153,7 +153,7 @@ export default define(class ProcedureCall {
|
|
|
153
153
|
});
|
|
154
154
|
|
|
155
155
|
function procedureCallFromProcedureCallNode(procedureCallNode, context) {
|
|
156
|
-
const { ProcedureCall, ProcedureReference } =
|
|
156
|
+
const { ProcedureCall, ProcedureReference } = elements,
|
|
157
157
|
node = procedureCallNode, ///
|
|
158
158
|
parameters = parametersFromProcedureCallNode(procedureCallNode, context),
|
|
159
159
|
procedureReference = ProcedureReference.fromProcedureCallNode(procedureCallNode, context),
|
|
@@ -164,7 +164,7 @@ function procedureCallFromProcedureCallNode(procedureCallNode, context) {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
function parametersFromProcedureCallNode(procedureCallNode, context) {
|
|
167
|
-
const { Parameter } =
|
|
167
|
+
const { Parameter } = elements,
|
|
168
168
|
parameterNodes = procedureCallNode.getParameterNodes(),
|
|
169
169
|
parameters = parameterNodes.map((parameterNode) => {
|
|
170
170
|
const parameter = Parameter.fromParameterNode(parameterNode, context);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import elements from "../elements";
|
|
4
4
|
import LocalContext from "../context/local";
|
|
5
5
|
|
|
6
|
-
import { define } from "../
|
|
6
|
+
import { define } from "../elements";
|
|
7
7
|
|
|
8
8
|
export default define(class Proof {
|
|
9
9
|
constructor(derivation) {
|
|
@@ -56,7 +56,7 @@ export default define(class Proof {
|
|
|
56
56
|
let proof = null;
|
|
57
57
|
|
|
58
58
|
if (proofNode !== null) {
|
|
59
|
-
const { Derivation } =
|
|
59
|
+
const { Derivation } = elements,
|
|
60
60
|
derivationNode = proofNode.getDerivationNode(),
|
|
61
61
|
derivation = Derivation.fromDerivationNode(derivationNode, context);
|
|
62
62
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { define } from "../ontology";
|
|
3
|
+
import { define } from "../elements";
|
|
6
4
|
|
|
7
5
|
export default define(class Property {
|
|
8
|
-
constructor(string, name, nominalTypeName) {
|
|
6
|
+
constructor(string, node, name, nominalTypeName) {
|
|
9
7
|
this.string = string;
|
|
8
|
+
this.node = node;
|
|
10
9
|
this.name = name;
|
|
11
10
|
this.nominalTypeName = nominalTypeName;
|
|
12
11
|
}
|
|
@@ -15,6 +14,10 @@ export default define(class Property {
|
|
|
15
14
|
return this.string;
|
|
16
15
|
}
|
|
17
16
|
|
|
17
|
+
getNode() {
|
|
18
|
+
return this.node;
|
|
19
|
+
}
|
|
20
|
+
|
|
18
21
|
getName() {
|
|
19
22
|
return this.name;
|
|
20
23
|
}
|
|
@@ -73,14 +76,3 @@ export default define(class Property {
|
|
|
73
76
|
return property;
|
|
74
77
|
}
|
|
75
78
|
});
|
|
76
|
-
|
|
77
|
-
function propertyFromPropertyNode(propertyNode, context) {
|
|
78
|
-
const { Property } = ontology,
|
|
79
|
-
propertyName = propertyNode.getPropertyName(),
|
|
80
|
-
nominalTypeName = null,
|
|
81
|
-
name = propertyName, ///
|
|
82
|
-
string = name, ///
|
|
83
|
-
property = new Property(string, name, nominalTypeName);
|
|
84
|
-
|
|
85
|
-
return property;
|
|
86
|
-
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import elements from "../elements";
|
|
4
4
|
|
|
5
|
-
import { define } from "../
|
|
5
|
+
import { define } from "../elements";
|
|
6
6
|
|
|
7
7
|
export default define(class PropertyRelation {
|
|
8
|
-
constructor(string, node,
|
|
8
|
+
constructor(string, node, property, term) {
|
|
9
9
|
this.string = string;
|
|
10
10
|
this.node = node;
|
|
11
|
-
this.tokens = tokens;
|
|
12
11
|
this.property = property;
|
|
13
12
|
this.term = term;
|
|
14
13
|
}
|
|
@@ -21,10 +20,6 @@ export default define(class PropertyRelation {
|
|
|
21
20
|
return this.node;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
getTokens() {
|
|
25
|
-
return this.tokens;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
23
|
getProperty() {
|
|
29
24
|
return this.property;
|
|
30
25
|
}
|
|
@@ -120,14 +115,13 @@ export default define(class PropertyRelation {
|
|
|
120
115
|
static name = "PropertyRelation";
|
|
121
116
|
|
|
122
117
|
static fromPropertyAssertionNode(propertyAssertionNode, context) {
|
|
123
|
-
const { Term, Property } =
|
|
118
|
+
const { Term, Property } = elements,
|
|
124
119
|
propertyRelationNode = propertyAssertionNode.getPropertyRelationNode(),
|
|
125
120
|
node = propertyRelationNode, ///
|
|
126
121
|
string = context.nodeAsString(node),
|
|
127
|
-
tokens = context.nodeAsTokens(node),
|
|
128
122
|
property = Property.fromPropertyRelationNode(propertyRelationNode, context),
|
|
129
123
|
term = Term.fromPropertyRelationNode(propertyRelationNode, context),
|
|
130
|
-
propertyRelation = new PropertyRelation(string, node,
|
|
124
|
+
propertyRelation = new PropertyRelation(string, node, property, term);
|
|
131
125
|
|
|
132
126
|
return propertyRelation;
|
|
133
127
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import elements from "../elements";
|
|
4
4
|
|
|
5
|
-
import { define } from "../
|
|
5
|
+
import { define } from "../elements";
|
|
6
6
|
import { referenceMetaType } from ".//metaType";
|
|
7
7
|
import { unifyMetavariableIntrinsically } from "../process/unify";
|
|
8
8
|
import { metavariableFromJSON, metavariableToMetavariableJSON } from "../utilities/json";
|
|
@@ -140,7 +140,7 @@ export default define(class Reference {
|
|
|
140
140
|
|
|
141
141
|
context.trace(`Unifying the '${metavariableString}' metavariable with the '${referenceString}' reference...`);
|
|
142
142
|
|
|
143
|
-
const { Substitutions } =
|
|
143
|
+
const { Substitutions } = elements,
|
|
144
144
|
substitutions = Substitutions.fromNothing(),
|
|
145
145
|
generalContext = context, ///
|
|
146
146
|
specificContext = context, ///
|
|
@@ -166,7 +166,7 @@ export default define(class Reference {
|
|
|
166
166
|
|
|
167
167
|
context.trace(`Unifying the '${metaLemmaMetatheoremString}' meta-lemma or metatheorem with the '${referenceString}' reference...`);
|
|
168
168
|
|
|
169
|
-
const { Substitutions } =
|
|
169
|
+
const { Substitutions } = elements,
|
|
170
170
|
label = metaLemmaMetatheorem.getLabel(),
|
|
171
171
|
substitutions = Substitutions.fromNothing(),
|
|
172
172
|
labelUnifies = this.unifyLabel(label, substitutions, context);
|
|
@@ -211,12 +211,6 @@ export default define(class Reference {
|
|
|
211
211
|
return reference;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
static fromReferenceNode(referenceNode, context) {
|
|
215
|
-
const reference = referenceFromReferenceNode(referenceNode, context);
|
|
216
|
-
|
|
217
|
-
return reference;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
214
|
static fromAssumptionNode(assumptionNode, context) {
|
|
221
215
|
let reference = null;
|
|
222
216
|
|
|
@@ -255,16 +249,8 @@ export default define(class Reference {
|
|
|
255
249
|
}
|
|
256
250
|
});
|
|
257
251
|
|
|
258
|
-
function referenceFromReferenceNode(referenceNode, context) {
|
|
259
|
-
const { Reference, Metavariable } = ontology,
|
|
260
|
-
metavariable = Metavariable.fromReferenceNode(referenceNode, context),
|
|
261
|
-
reference = new Reference(metavariable);
|
|
262
|
-
|
|
263
|
-
return reference;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
252
|
function referenceFromMetavariableNode(metavariableNode, context) {
|
|
267
|
-
const { Reference, Metavariable } =
|
|
253
|
+
const { Reference, Metavariable } = elements,
|
|
268
254
|
metavariable = Metavariable.fromMetavariableNode(metavariableNode, context),
|
|
269
255
|
reference = new Reference(metavariable);
|
|
270
256
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import elements from "../elements";
|
|
6
6
|
import LocalContext from "../context/local";
|
|
7
7
|
|
|
8
|
-
import { define } from "../
|
|
9
|
-
import { labelsStringFromLabels } from "./
|
|
8
|
+
import { define } from "../elements";
|
|
9
|
+
import { labelsStringFromLabels } from "./axiomLemmaTheoremConjecture";
|
|
10
10
|
import { labelsFromJSON,
|
|
11
11
|
premisesFromJSON,
|
|
12
12
|
conclusionFromJSON,
|
|
@@ -17,10 +17,10 @@ import { labelsFromJSON,
|
|
|
17
17
|
const { reverse, extract, backwardsEvery } = arrayUtilities;
|
|
18
18
|
|
|
19
19
|
export default define(class Rule {
|
|
20
|
-
constructor(context,
|
|
20
|
+
constructor(context, string, node, labels, premises, conclusion, proof) {
|
|
21
21
|
this.context = context;
|
|
22
|
-
this.node = node;
|
|
23
22
|
this.string = string;
|
|
23
|
+
this.node = node;
|
|
24
24
|
this.labels = labels;
|
|
25
25
|
this.premises = premises;
|
|
26
26
|
this.conclusion = conclusion;
|
|
@@ -148,7 +148,7 @@ export default define(class Rule {
|
|
|
148
148
|
if (this.proof === null) {
|
|
149
149
|
proofVerifies = true;
|
|
150
150
|
} else {
|
|
151
|
-
const { Substitutions } =
|
|
151
|
+
const { Substitutions } = elements,
|
|
152
152
|
substitutions = Substitutions.fromNothing();
|
|
153
153
|
|
|
154
154
|
proofVerifies = this.proof.verify(substitutions, this.conclusion, context);
|
|
@@ -172,7 +172,7 @@ export default define(class Rule {
|
|
|
172
172
|
unifyStatementAndStepsOrSubproofs(statement, stepsOrSubproofs, context) {
|
|
173
173
|
let statementAndStepsOrSubproofsUnify = false;
|
|
174
174
|
|
|
175
|
-
const { Substitutions } =
|
|
175
|
+
const { Substitutions } = elements,
|
|
176
176
|
substitutions = Substitutions.fromNothing(),
|
|
177
177
|
statementUnifiesWithConclusion = this.unifyStatementWithConclusion(statement, substitutions, context);
|
|
178
178
|
|
|
@@ -261,7 +261,7 @@ export default define(class Rule {
|
|
|
261
261
|
conclusion = conclusionFromJSON(json, context),
|
|
262
262
|
string = stringFromLabelsPremisesAndConclusion(labels, premises, conclusion);
|
|
263
263
|
|
|
264
|
-
rule = new Rule(context,
|
|
264
|
+
rule = new Rule(context, string, node, labels, premises, conclusion, proof);
|
|
265
265
|
|
|
266
266
|
return rule;
|
|
267
267
|
}
|
|
@@ -273,14 +273,14 @@ export default define(class Rule {
|
|
|
273
273
|
premises = premisesFromRuleNode(ruleNode, context),
|
|
274
274
|
conclusion = conclusionFromRuleNode(ruleNode, context),
|
|
275
275
|
string = stringFromLabelsPremisesAndConclusion(labels, premises, conclusion),
|
|
276
|
-
rule = new Rule(context,
|
|
276
|
+
rule = new Rule(context, string, node, labels, premises, conclusion, proof);
|
|
277
277
|
|
|
278
278
|
return rule;
|
|
279
279
|
}
|
|
280
280
|
});
|
|
281
281
|
|
|
282
282
|
function proofFromRuleNode(ruleNode, context) {
|
|
283
|
-
const { Proof } =
|
|
283
|
+
const { Proof } = elements,
|
|
284
284
|
proofNode = ruleNode.getProofNode(),
|
|
285
285
|
proof = Proof.fromProofNode(proofNode, context);
|
|
286
286
|
|
|
@@ -288,7 +288,7 @@ function proofFromRuleNode(ruleNode, context) {
|
|
|
288
288
|
}
|
|
289
289
|
|
|
290
290
|
function labelsFromRuleNode(ruleNode, context) {
|
|
291
|
-
const { Label } =
|
|
291
|
+
const { Label } = elements,
|
|
292
292
|
labelNodes = ruleNode.getLabelNodes(),
|
|
293
293
|
labels = labelNodes.map((labelNode) => {
|
|
294
294
|
const label = Label.fromLabelNode(labelNode, context);
|
|
@@ -300,7 +300,7 @@ function labelsFromRuleNode(ruleNode, context) {
|
|
|
300
300
|
}
|
|
301
301
|
|
|
302
302
|
function premisesFromRuleNode(ruleNode, context) {
|
|
303
|
-
const { Premise } =
|
|
303
|
+
const { Premise } = elements,
|
|
304
304
|
premiseNodes = ruleNode.getPremiseNodes(),
|
|
305
305
|
premises = premiseNodes.map((premiseNode) => {
|
|
306
306
|
const premise = Premise.fromPremiseNode(premiseNode, context);
|
|
@@ -312,7 +312,7 @@ function premisesFromRuleNode(ruleNode, context) {
|
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
function conclusionFromRuleNode(ruleNode, context) {
|
|
315
|
-
const { Conclusion } =
|
|
315
|
+
const { Conclusion } = elements,
|
|
316
316
|
conclusionNode = ruleNode.getConclusionNode(),
|
|
317
317
|
conclusion = Conclusion.fromConclusionNode(conclusionNode, context);
|
|
318
318
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import elements from "../elements";
|
|
4
4
|
import LocalContext from "../context/local";
|
|
5
5
|
|
|
6
|
-
import { define } from "../
|
|
6
|
+
import { define } from "../elements";
|
|
7
7
|
|
|
8
8
|
export default define(class Section {
|
|
9
|
-
constructor(context,
|
|
9
|
+
constructor(context, string, node, hypotheses, axiom, lemma, theorem, conjecture) {
|
|
10
10
|
this.context = context;
|
|
11
|
-
this.node = node;
|
|
12
11
|
this.string = string;
|
|
12
|
+
this.node = node;
|
|
13
13
|
this.hypotheses = hypotheses;
|
|
14
14
|
this.axiom = axiom;
|
|
15
15
|
this.lemma = lemma;
|
|
@@ -103,7 +103,7 @@ export default define(class Section {
|
|
|
103
103
|
conjecture = conjectureFroSectionNode(sectionNode, context),
|
|
104
104
|
node = sectionNode, ///
|
|
105
105
|
string = stringFromHypothesesAxiomLemmaTheoremAndConjecture(hypotheses, axiom, lemma, theorem, conjecture, context),
|
|
106
|
-
section = new Section(context,
|
|
106
|
+
section = new Section(context, string, node, hypotheses, axiom, lemma, theorem, conjecture);
|
|
107
107
|
|
|
108
108
|
return section;
|
|
109
109
|
}
|
|
@@ -115,7 +115,7 @@ function axiomFroSectionNode(sectionNode, context) {
|
|
|
115
115
|
const axiomNode = sectionNode.getAxiomNode();
|
|
116
116
|
|
|
117
117
|
if (axiomNode !== null) {
|
|
118
|
-
const { Axiom } =
|
|
118
|
+
const { Axiom } = elements;
|
|
119
119
|
|
|
120
120
|
axiom = Axiom.fromAxiomNode(axiomNode, context);
|
|
121
121
|
}
|
|
@@ -129,7 +129,7 @@ function lemmaFroSectionNode(sectionNode, context) {
|
|
|
129
129
|
const lemmaNode = sectionNode.getLemmaNode();
|
|
130
130
|
|
|
131
131
|
if (lemmaNode !== null) {
|
|
132
|
-
const { Lemma } =
|
|
132
|
+
const { Lemma } = elements;
|
|
133
133
|
|
|
134
134
|
lemma = Lemma.fromLemmaNode(lemmaNode, context);
|
|
135
135
|
}
|
|
@@ -143,7 +143,7 @@ function theoremFroSectionNode(sectionNode, context) {
|
|
|
143
143
|
const theoremNode = sectionNode.getTheoremNode();
|
|
144
144
|
|
|
145
145
|
if (theoremNode !== null) {
|
|
146
|
-
const { Theorem } =
|
|
146
|
+
const { Theorem } = elements;
|
|
147
147
|
|
|
148
148
|
theorem = Theorem.fromTheoremNode(theoremNode, context);
|
|
149
149
|
}
|
|
@@ -157,7 +157,7 @@ function conjectureFroSectionNode(sectionNode, context) {
|
|
|
157
157
|
const conjectureNode = sectionNode.getConjectureNode();
|
|
158
158
|
|
|
159
159
|
if (conjectureNode !== null) {
|
|
160
|
-
const { Conjecture } =
|
|
160
|
+
const { Conjecture } = elements;
|
|
161
161
|
|
|
162
162
|
conjecture = Conjecture.fromConjectureNode(conjectureNode, context);
|
|
163
163
|
}
|
|
@@ -167,7 +167,7 @@ function conjectureFroSectionNode(sectionNode, context) {
|
|
|
167
167
|
|
|
168
168
|
function hypothesesFromHypothesisNodes(hypothesisNodes, context) {
|
|
169
169
|
const hypotheses = hypothesisNodes.map((hypothesisNode) => {
|
|
170
|
-
const { Hypothesis } =
|
|
170
|
+
const { Hypothesis } = elements,
|
|
171
171
|
hypothesis = Hypothesis.fromHypothesisNode(hypothesisNode, context);
|
|
172
172
|
|
|
173
173
|
return hypothesis;
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import elements from "../elements";
|
|
6
6
|
|
|
7
|
-
import { define } from "../
|
|
7
|
+
import { define } from "../elements";
|
|
8
|
+
import { signatureStringFromTerms } from "../utilities/string";
|
|
8
9
|
import { termsFromJSON, termsToTermsJSON } from "../utilities/json";
|
|
9
|
-
import { stringFromTerms, variableFromTerm, termsFromTermNodes } from "../utilities/node";
|
|
10
10
|
|
|
11
11
|
const { match, compare, correlate } = arrayUtilities;
|
|
12
12
|
|
|
13
13
|
export default define(class Signature {
|
|
14
|
-
constructor(string, terms) {
|
|
14
|
+
constructor(string, node, terms) {
|
|
15
15
|
this.string = string;
|
|
16
|
+
this.node = node;
|
|
16
17
|
this.terms = terms;
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -20,6 +21,10 @@ export default define(class Signature {
|
|
|
20
21
|
return this.string;
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
getNode() {
|
|
25
|
+
return this.node;
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
getTerms() {
|
|
24
29
|
return this.terms;
|
|
25
30
|
}
|
|
@@ -66,7 +71,7 @@ export default define(class Signature {
|
|
|
66
71
|
termTypeEqualToOrSubTypeOfVariableType = termType.isEqualToOrSubTypeOf(variableType);
|
|
67
72
|
|
|
68
73
|
if (termTypeEqualToOrSubTypeOfVariableType) {
|
|
69
|
-
const { TermSubstitution } =
|
|
74
|
+
const { TermSubstitution } = elements,
|
|
70
75
|
context = specificContext, ///
|
|
71
76
|
termSubstitution = TermSubstitution.fromTernAndVariable(term, variable, context),
|
|
72
77
|
substitution = termSubstitution; ///
|
|
@@ -153,16 +158,8 @@ export default define(class Signature {
|
|
|
153
158
|
|
|
154
159
|
static fromJSON(json, context) {
|
|
155
160
|
const terms = termsFromJSON(json, context),
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return signature;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
static fromSignatureNode(signatureNode, context) {
|
|
163
|
-
const termNodes = signatureNode.getTermNodes(),
|
|
164
|
-
terms = termsFromTermNodes(termNodes, context),
|
|
165
|
-
string = stringFromTerms(terms),
|
|
161
|
+
signatureString = signatureStringFromTerms(terms),
|
|
162
|
+
string = signatureString, ///
|
|
166
163
|
signature = new Signature(string, terms);
|
|
167
164
|
|
|
168
165
|
return signature;
|