occam-verify-cli 0.0.1050 → 0.0.1052

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.
@@ -20,15 +20,14 @@ function unifyTermWithBracketedConstructor(term, localContext, verifyAhead) {
20
20
  termUnifiedWithBracketedConstructor = unifyTermWithConstructor(term, bracketedConstructor, localContext, () => {
21
21
  let verifiedAhead = false;
22
22
 
23
- const bracketedTerm = term, ///
23
+ const { Term } = shim,
24
+ bracketedTerm = term, ///
24
25
  bracketedTermNode = bracketedTerm.getNode(),
25
26
  termNode = termNodeQuery(bracketedTermNode); ///
26
27
 
27
- if (termNode !== null) {
28
- const { Term } = shim;
29
-
30
- term = Term.fromTermNode(termNode, localContext);
28
+ term = Term.fromTermNode(termNode, localContext);
31
29
 
30
+ if (term !== null) {
32
31
  const termVVerified = term.verify(localContext, () => {
33
32
  let verifiedAhead;
34
33
 
@@ -10,15 +10,15 @@ function verifyTermAsVariable(term, localContext, verifyAhead) {
10
10
  let termVerifiedAsVariable = false;
11
11
 
12
12
  const termNode = term.getNode(),
13
- variableNode = variableNodeQuery(termNode);
13
+ variableNode = variableNodeQuery(termNode),
14
+ variable = Variable.fromVariableNode(variableNode, localContext);
14
15
 
15
- if (variableNode !== null) {
16
+ if (variable !== null) {
16
17
  const termString = localContext.nodeAsString(termNode);
17
18
 
18
19
  localContext.trace(`Verifying the '${termString}' term as a variable...`, termNode);
19
20
 
20
- const variable = Variable.fromVariableNode(variableNode, localContext),
21
- variableVerified = variable.verify(localContext);
21
+ const variableVerified = variable.verify(localContext);
22
22
 
23
23
  if (variableVerified) {
24
24
  let verifiedAhead;
package/src/premise.js CHANGED
@@ -40,7 +40,8 @@ export default class Premise {
40
40
  localContext.trace(`Unifying the '${subproofString}' subproof with the premise's '${premiseStatementString}' statement...`);
41
41
 
42
42
  const statement = this.unqualifiedStatement.getStatement(),
43
- subproofAssertion = SubproofAssertion.fromStatement(statement, this.fileContext);
43
+ statementNode = statement.getNode(),
44
+ subproofAssertion = SubproofAssertion.fromStatementNode(statementNode, this.fileContext);
44
45
 
45
46
  if (subproofAssertion !== null) {
46
47
  subproofUnified = subproofAssertion.unifySubproof(subproof, substitutions, this.fileContext, localContext);
package/src/proofStep.js CHANGED
@@ -90,23 +90,11 @@ class ProofStep {
90
90
  static fromProofStepNode(proofStepNode, fileContext) {
91
91
  const subproofNode = subproofNodeQuery(proofStepNode),
92
92
  qualifiedStatementNode = qualifiedStatementNodeQuery(proofStepNode),
93
- unqualifiedStatementNode = unqualifiedStatementNodeQuery(proofStepNode);
94
-
95
- let subproof = null,
96
- qualifiedStatement = null,
97
- unqualifiedStatement = null;
98
-
99
- if (false) {
100
- ///
101
- } else if (subproofNode !== null) {
102
- subproof = Subproof.fromSubproofNode(subproofNode, fileContext);
103
- } else if (qualifiedStatementNode !== null) {
104
- qualifiedStatement = QualifiedStatement.fromQualifiedStatementNode(qualifiedStatementNode, fileContext);
105
- } else if (unqualifiedStatementNode !== null) {
106
- unqualifiedStatement = UnqualifiedStatement.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext);
107
- }
108
-
109
- const proofStep = new ProofStep(subproof, qualifiedStatement, unqualifiedStatement);
93
+ unqualifiedStatementNode = unqualifiedStatementNodeQuery(proofStepNode),
94
+ subproof = Subproof.fromSubproofNode(subproofNode, fileContext),
95
+ qualifiedStatement = QualifiedStatement.fromQualifiedStatementNode(qualifiedStatementNode, fileContext),
96
+ unqualifiedStatement = UnqualifiedStatement.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext),
97
+ proofStep = new ProofStep(subproof, qualifiedStatement, unqualifiedStatement);
110
98
 
111
99
  return proofStep;
112
100
  }
@@ -87,21 +87,25 @@ export default class QualifiedStatement {
87
87
  }
88
88
 
89
89
  static fromQualifiedStatementNode(qualifiedStatementNode, fileContext) {
90
- let string;
90
+ let qualifiedStatement = null;
91
91
 
92
- const { Statement } = shim,
93
- statementNode = statementNodeQuery(qualifiedStatementNode),
94
- referenceNode = referenceNodeQuery(qualifiedStatementNode),
95
- localContext = LocalContext.fromFileContext(fileContext),
96
- statement = Statement.fromStatementNode(statementNode, localContext),
97
- reference = Reference.fromReferenceNode(referenceNode, fileContext),
98
- node = qualifiedStatementNode; ///
92
+ if (qualifiedStatementNode !== null) {
93
+ let string;
99
94
 
100
- string = fileContext.nodeAsString(node);
95
+ const { Statement } = shim,
96
+ statementNode = statementNodeQuery(qualifiedStatementNode),
97
+ referenceNode = referenceNodeQuery(qualifiedStatementNode),
98
+ localContext = LocalContext.fromFileContext(fileContext),
99
+ statement = Statement.fromStatementNode(statementNode, localContext),
100
+ reference = Reference.fromReferenceNode(referenceNode, fileContext),
101
+ node = qualifiedStatementNode; ///
101
102
 
102
- string = trim(string); ///
103
+ string = fileContext.nodeAsString(node);
103
104
 
104
- const qualifiedStatement = new QualifiedStatement(string, statement, reference);
105
+ string = trim(string); ///
106
+
107
+ qualifiedStatement = new QualifiedStatement(string, statement, reference);
108
+ }
105
109
 
106
110
  return qualifiedStatement;
107
111
  }
@@ -73,19 +73,23 @@ export default class UnqualifiedStatement {
73
73
  }
74
74
 
75
75
  static fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext) {
76
- let string;
76
+ let unqualifiedStatement = null;
77
77
 
78
- const { Statement } = shim,
79
- statementNode = statementNodeQuery(unqualifiedStatementNode),
80
- localContext = LocalContext.fromFileContext(fileContext),
81
- statement = Statement.fromStatementNode(statementNode, localContext),
82
- node = unqualifiedStatementNode; ///
78
+ if (unqualifiedStatementNode !== null) {
79
+ let string;
83
80
 
84
- string = fileContext.nodeAsString(node);
81
+ const { Statement } = shim,
82
+ statementNode = statementNodeQuery(unqualifiedStatementNode),
83
+ localContext = LocalContext.fromFileContext(fileContext),
84
+ statement = Statement.fromStatementNode(statementNode, localContext),
85
+ node = unqualifiedStatementNode; ///
85
86
 
86
- string = trim(string); ///
87
+ string = fileContext.nodeAsString(node);
87
88
 
88
- const unqualifiedStatement = new UnqualifiedStatement(string, statement);
89
+ string = trim(string); ///
90
+
91
+ unqualifiedStatement = new UnqualifiedStatement(string, statement);
92
+ }
89
93
 
90
94
  return unqualifiedStatement;
91
95
  }
package/src/statement.js CHANGED
@@ -153,9 +153,9 @@ class Statement {
153
153
 
154
154
  if (statementNode !== null) {
155
155
  const node = statementNode, ///
156
- string = localContext.nodeAsString(node),
157
- statementSubstitution = StatementSubstitution.fromStatementNode(statementNode, localContext),
158
- substitution = statementSubstitution; ///
156
+ string = localContext.nodeAsString(node),
157
+ statementSubstitution = StatementSubstitution.fromStatementNode(statementNode, localContext),
158
+ substitution = statementSubstitution; ///
159
159
 
160
160
  statement = new Statement(string, node, substitution);
161
161
  }
package/src/subproof.js CHANGED
@@ -77,17 +77,22 @@ export default class Subproof {
77
77
  }
78
78
 
79
79
  static fromSubproofNode(subproofNode, fileContext) {
80
- const subproofString = subproofStringFromSubproofNode(subproofNode, fileContext),
81
- suppositionNodes = suppositionNodesQuery(subproofNode),
82
- subDerivationNode = subDerivationNodeQuery(subproofNode),
83
- string = subproofString, ///
84
- suppositions = suppositionNodes.map((suppositionNode) => {
85
- const supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
86
-
87
- return supposition;
88
- }),
89
- subDerivation = SubDerivation.fromSubDerivationNode(subDerivationNode, fileContext),
90
- subproof = new Subproof(string, suppositions, subDerivation);
80
+ let subproof = null;
81
+
82
+ if (subproofNode !== null) {
83
+ const subproofString = subproofStringFromSubproofNode(subproofNode, fileContext),
84
+ suppositionNodes = suppositionNodesQuery(subproofNode),
85
+ subDerivationNode = subDerivationNodeQuery(subproofNode),
86
+ string = subproofString, ///
87
+ suppositions = suppositionNodes.map((suppositionNode) => {
88
+ const supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
89
+
90
+ return supposition;
91
+ }),
92
+ subDerivation = SubDerivation.fromSubDerivationNode(subDerivationNode, fileContext);
93
+
94
+ subproof = new Subproof(string, suppositions, subDerivation);
95
+ }
91
96
 
92
97
  return subproof;
93
98
  }
@@ -71,7 +71,8 @@ export default class Supposition {
71
71
  localContext.trace(`Unifying the '${subproofString}' subproof with the supposition's '${suppositionStatementString}' statement...`);
72
72
 
73
73
  const statement = this.unqualifiedStatement.getStatement(),
74
- subproofAssertion = SubproofAssertion.fromStatement(statement, this.fileContext);
74
+ statementNode = statement.getNode(),
75
+ subproofAssertion = SubproofAssertion.fromStatementNode(statementNode, this.fileContext);
75
76
 
76
77
  if (subproofAssertion !== null) {
77
78
  subproofUnified = subproofAssertion.unifySubproof(subproof, substitutions, this.fileContext, localContext);
package/src/term.js CHANGED
@@ -240,10 +240,15 @@ class Term {
240
240
  }
241
241
 
242
242
  static fromTermNode(termNode, localContext) {
243
- const node = termNode, ///
244
- string = localContext.nodeAsString(node),
245
- type = null,
246
- term = new Term(string, node, type);
243
+ let term = null;
244
+
245
+ if (termNode !== null) {
246
+ const node = termNode, ///
247
+ string = localContext.nodeAsString(node),
248
+ type = null;
249
+
250
+ term = new Term(string, node, type);
251
+ }
247
252
 
248
253
  return term;
249
254
  }
@@ -5,6 +5,7 @@ import Error from "../error";
5
5
  import Axiom from "../axiom";
6
6
  import Lemma from "../lemma";
7
7
  import Theorem from "../theorem";
8
+ import Conjecture from "../conjecture";
8
9
  import TypeDeclaration from "../declaration/type";
9
10
  import VariableDeclaration from "../declaration/variable";
10
11
  import CombinatorDeclaration from "../declaration/combinator";
@@ -13,7 +14,6 @@ import MetavariableDeclaration from "../declaration/metavariable";
13
14
 
14
15
  import Verifier from "../verifier";
15
16
  import verifyMetaLemma from "../verify/metaLemma";
16
- import verifyConjecture from "../verify/conjecture";
17
17
  import verifyMetatheorem from "../verify/metatheorem";
18
18
 
19
19
  import { nodeQuery } from "../utilities/query";
@@ -101,7 +101,8 @@ class TopLevelVerifier extends Verifier {
101
101
  {
102
102
  nodeQuery: conjectureNodeQuery,
103
103
  verify: (conjectureNode, fileContext) => {
104
- const conjectureVerified = verifyConjecture(conjectureNode, fileContext);
104
+ const conjecture = Conjecture.fromConjectureNode(conjectureNode, fileContext),
105
+ conjectureVerified = conjecture.verify();
105
106
 
106
107
  return conjectureVerified;
107
108
  }
@@ -1,49 +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 verifyConjecture;
9
- }
10
- });
11
- var _conjecture = /*#__PURE__*/ _interop_require_default(require("../conjecture"));
12
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
13
- var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
14
- var _array = require("../utilities/array");
15
- var _query = require("../utilities/query");
16
- function _interop_require_default(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
19
- };
20
- }
21
- var proofNodeQuery = (0, _query.nodeQuery)("/conjecture/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/conjecture/label!"), consequentNodeQuery = (0, _query.nodeQuery)("/conjecture/consequent!"), suppositionsNodeQuery = (0, _query.nodesQuery)("/conjecture/supposition");
22
- function verifyConjecture(conjectureNode, fileContext) {
23
- var conjectureVerified = false;
24
- var labelNodes = labelNodesQuery(conjectureNode), labelsString = fileContext.nodesAsString(labelNodes);
25
- fileContext.trace("Verifying the '".concat(labelsString, "' conjecture..."), conjectureNode);
26
- var labels = [], labelsVerified = verifyLabels(labelNodes, labels, fileContext);
27
- if (labelsVerified) {
28
- var localContext = _local.default.fromFileContext(fileContext), suppositions = [], suppositionNodes = suppositionsNodeQuery(conjectureNode), suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, localContext);
29
- if (suppositionsVerified) {
30
- var consequents = [], consequentNode = consequentNodeQuery(conjectureNode), consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
31
- if (consequentVerified) {
32
- var proofNode = proofNodeQuery(conjectureNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent; ///
33
- if (proofNode !== null) {
34
- var substitutions = _substitutions.default.fromNothing();
35
- verifyProof(proofNode, consequent, substitutions, localContext);
36
- }
37
- var substitutions1 = _substitutions.default.fromNothing(), conjecture = _conjecture.default.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions1, fileContext);
38
- fileContext.addConjecture(conjecture);
39
- conjectureVerified = true;
40
- }
41
- }
42
- }
43
- if (conjectureVerified) {
44
- fileContext.debug("...verified the '".concat(labelsString, "' conjecture."), conjectureNode);
45
- }
46
- return conjectureVerified;
47
- }
48
-
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uamVjdHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmplY3R1cmUgZnJvbSBcIi4uL2NvbmplY3R1cmVcIjtcbi8vIGltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuLy8gaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG4vLyBpbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvc3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvY29uamVjdHVyZS9sYWJlbCFcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmplY3R1cmUvY29uc2VxdWVudCFcIiksXG4gICAgICBzdXBwb3NpdGlvbnNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2NvbmplY3R1cmUvc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbmplY3R1cmUoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBjb25qZWN0dXJlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBjb25qZWN0dXJlLi4uYCwgY29uamVjdHVyZU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25zTm9kZVF1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkoY29uamVjdHVyZU5vZGUpLFxuICAgICAgICAgICAgY29uc2VxdWVudFZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50Tm9kZSwgY29uc2VxdWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChjb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkoY29uamVjdHVyZU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQ7IC8vL1xuXG4gICAgICAgIGlmIChwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpO1xuXG4gICAgICAgICAgdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICAgICAgY29uamVjdHVyZSA9IENvbmplY3R1cmUuZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRDb25qZWN0dXJlKGNvbmplY3R1cmUpO1xuXG4gICAgICAgIGNvbmplY3R1cmVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmplY3R1cmVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgY29uamVjdHVyZS5gLCBjb25qZWN0dXJlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gY29uamVjdHVyZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbmplY3R1cmUiLCJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGUiLCJmaWxlQ29udGV4dCIsImNvbmplY3R1cmVWZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnRzIiwiY29uc2VxdWVudE5vZGUiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJ2ZXJpZnlDb25zZXF1ZW50IiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50Iiwic3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInZlcmlmeVByb29mIiwiY29uamVjdHVyZSIsIkNvbmplY3R1cmUiLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dCIsImFkZENvbmplY3R1cmUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7aUVBZkQ7NERBRUU7b0VBQ0M7cUJBSUo7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHVCQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLHVCQUM3QkMsc0JBQXNCSCxJQUFBQSxnQkFBUyxFQUFDLDRCQUNoQ0ksd0JBQXdCRixJQUFBQSxpQkFBVSxFQUFDO0FBRTFCLFNBQVNKLGlCQUFpQk8sY0FBYyxFQUFFQyxXQUFXO0lBQ2xFLElBQUlDLHFCQUFxQjtJQUV6QixJQUFNQyxhQUFhUCxnQkFBZ0JJLGlCQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUUvQ0YsWUFBWUssS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJGLGNBQWEsb0JBQWtCSjtJQUVuRSxJQUFNTyxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxhQUFhTixZQUFZSSxRQUFRTjtJQUV4RCxJQUFJTyxnQkFBZ0I7UUFDbEIsSUFBTUUsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNYLGNBQzVDWSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmYsc0JBQXNCQyxpQkFDekNlLHVCQUF1QkMsbUJBQW1CRixrQkFBa0JELGNBQWNIO1FBRWhGLElBQUlLLHNCQUFzQjtZQUN4QixJQUFNRSxjQUFjLEVBQUUsRUFDaEJDLGlCQUFpQnBCLG9CQUFvQkUsaUJBQ3JDbUIscUJBQXFCQyxpQkFBaUJGLGdCQUFnQkQsYUFBYVA7WUFFekUsSUFBSVMsb0JBQW9CO2dCQUN0QixJQUFNRSxZQUFZM0IsZUFBZU0saUJBQzNCc0Isa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFBaUIsR0FBRztnQkFFdkMsSUFBSUQsY0FBYyxNQUFNO29CQUN0QixJQUFNSSxnQkFBZ0JDLHNCQUFhLENBQUNDLFdBQVc7b0JBRS9DQyxZQUFZUCxXQUFXRyxZQUFZQyxlQUFlZjtnQkFDcEQ7Z0JBRUEsSUFBTWUsaUJBQWdCQyxzQkFBYSxDQUFDQyxXQUFXLElBQ3pDRSxhQUFhQyxtQkFBVSxDQUFDQywyREFBMkQsQ0FBQ3hCLFFBQVFNLGNBQWNXLFlBQVlDLGdCQUFleEI7Z0JBRTNJQSxZQUFZK0IsYUFBYSxDQUFDSDtnQkFFMUIzQixxQkFBcUI7WUFDdkI7UUFDRjtJQUNGO0lBRUEsSUFBSUEsb0JBQW9CO1FBQ3RCRCxZQUFZZ0MsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWI3QixjQUFhLGtCQUFnQko7SUFDckU7SUFFQSxPQUFPRTtBQUNUIn0=
@@ -1,66 +0,0 @@
1
- "use strict";
2
-
3
- import Conjecture from "../conjecture";
4
- // import verifyProof from "../verify/proof";
5
- import LocalContext from "../context/local";
6
- import Substitutions from "../substitutions";
7
- // import verifyConsequent from "../verify/consequent";
8
- // import verifySuppositions from "../verify/suppositions";
9
-
10
- import { first } from "../utilities/array";
11
- import { nodeQuery, nodesQuery } from "../utilities/query";
12
-
13
- const proofNodeQuery = nodeQuery("/conjecture/proof!"),
14
- labelNodesQuery = nodesQuery("/conjecture/label!"),
15
- consequentNodeQuery = nodeQuery("/conjecture/consequent!"),
16
- suppositionsNodeQuery = nodesQuery("/conjecture/supposition");
17
-
18
- export default function verifyConjecture(conjectureNode, fileContext) {
19
- let conjectureVerified = false;
20
-
21
- const labelNodes = labelNodesQuery(conjectureNode),
22
- labelsString = fileContext.nodesAsString(labelNodes);
23
-
24
- fileContext.trace(`Verifying the '${labelsString}' conjecture...`, conjectureNode);
25
-
26
- const labels = [],
27
- labelsVerified = verifyLabels(labelNodes, labels, fileContext);
28
-
29
- if (labelsVerified) {
30
- const localContext = LocalContext.fromFileContext(fileContext),
31
- suppositions = [],
32
- suppositionNodes = suppositionsNodeQuery(conjectureNode),
33
- suppositionsVerified = verifySuppositions(suppositionNodes, suppositions, localContext);
34
-
35
- if (suppositionsVerified) {
36
- const consequents = [],
37
- consequentNode = consequentNodeQuery(conjectureNode),
38
- consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
39
-
40
- if (consequentVerified) {
41
- const proofNode = proofNodeQuery(conjectureNode),
42
- firstConsequent = first(consequents),
43
- consequent = firstConsequent; ///
44
-
45
- if (proofNode !== null) {
46
- const substitutions = Substitutions.fromNothing();
47
-
48
- verifyProof(proofNode, consequent, substitutions, localContext);
49
- }
50
-
51
- const substitutions = Substitutions.fromNothing(),
52
- conjecture = Conjecture.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions, fileContext);
53
-
54
- fileContext.addConjecture(conjecture);
55
-
56
- conjectureVerified = true;
57
- }
58
- }
59
- }
60
-
61
- if (conjectureVerified) {
62
- fileContext.debug(`...verified the '${labelsString}' conjecture.`, conjectureNode);
63
- }
64
-
65
- return conjectureVerified;
66
- }