occam-verify-cli 0.0.262 → 0.0.264

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.
@@ -6,100 +6,99 @@ const MetaproofContext = require("../context/metaproof"),
6
6
  verifyUnqualifiedMetastatement = require("../verify/metastatement/unqualified");
7
7
 
8
8
  const { nodeQuery, nodesQuery } = require("../utilities/query"),
9
- { META_SUBLEMMA_RULE_NAME, QUALIFIED_METASTATEMENT_RULE_NAME, UNQUALIFIED_METASTATEMENT_RULE_NAME } = require("../ruleNames");
9
+ { META_CONDITIONAL_PROOF_RULE_NAME, QUALIFIED_METASTATEMENT_RULE_NAME, UNQUALIFIED_METASTATEMENT_RULE_NAME } = require("../ruleNames");
10
10
 
11
- const metaAntecedentNodeQuery = nodeQuery("/metaSublemma/metaAntecedent!"),
12
- metaDerivationNodeQuery = nodeQuery("/metaSublemma/metaDerivation!"),
13
- metaSublemmaChildNodesQuery = nodesQuery("/metaDerivation/*"),
14
- qualifiedMetastatementNodeQuery = nodeQuery("/metaSublemma/qualifiedMetastatement!"),
15
- unqualifiedMetastatementNodeQuery = nodeQuery("/metaSublemma/unqualifiedMetastatement!");
11
+ const metaAntecedentNodeQuery = nodeQuery("/metaConditionalProof/metaAntecedent!"),
12
+ metaDerivationNodeQuery = nodeQuery("/metaConditionalProof/metaDerivation!"),
13
+ metaDerivationChildNodesQuery = nodesQuery("/metaDerivation/*"),
14
+ qualifiedMetastatementNodeQuery = nodeQuery("/metaConditionalProof/qualifiedMetastatement!"),
15
+ unqualifiedMetastatementNodeQuery = nodeQuery("/metaConditionalProof/unqualifiedMetastatement!");
16
16
 
17
- function verifyMetaDerivation(metaNode, context) {
17
+ function verifyMetaDerivation(metaDerivationNode, context) {
18
18
  const derived = true;
19
19
 
20
20
  context.setDerived(derived);
21
21
 
22
- const metaSublemmaChildNodes = metaSublemmaChildNodesQuery(metaNode),
23
- metaSublemmaChildNodesVerified = metaSublemmaChildNodes.every((metaSublemmaChildNode) => {
24
- let metaSublemmaChildNodeVerified;
22
+ const metaConditionalProofChildNodes = metaDerivationChildNodesQuery(metaDerivationNode),
23
+ metaConditionalProofChildNodesVerified = metaConditionalProofChildNodes.every((metaConditionalProofChildNode) => {
24
+ let metaConditionalProofChildNodeVerified;
25
25
 
26
- const ruleName = metaSublemmaChildNode.getRuleName();
26
+ const ruleName = metaConditionalProofChildNode.getRuleName();
27
27
 
28
28
  switch (ruleName) {
29
- case META_SUBLEMMA_RULE_NAME: {
30
- const metaSublemmaNode = metaSublemmaChildNode, ///
31
- metaSublemmaVerified = verifyMetaSublemma(metaSublemmaNode, context);
29
+ case META_CONDITIONAL_PROOF_RULE_NAME: {
30
+ const metaConditionalProofNode = metaConditionalProofChildNode, ///
31
+ metaConditionalProofVerified = verifyMetaConditionalProof(metaConditionalProofNode, context);
32
32
 
33
- metaSublemmaChildNodeVerified = metaSublemmaVerified; ///
33
+ metaConditionalProofChildNodeVerified = metaConditionalProofVerified; ///
34
34
 
35
35
  break;
36
36
  }
37
37
 
38
38
  case QUALIFIED_METASTATEMENT_RULE_NAME: {
39
- const qualifiedMetastatementNode = metaSublemmaChildNode, ///
39
+ const qualifiedMetastatementNode = metaConditionalProofChildNode, ///
40
40
  qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, context);
41
41
 
42
- metaSublemmaChildNodeVerified = qualifiedMetastatementVerified; ///
42
+ metaConditionalProofChildNodeVerified = qualifiedMetastatementVerified; ///
43
43
 
44
44
  break;
45
45
  }
46
46
 
47
47
  case UNQUALIFIED_METASTATEMENT_RULE_NAME: {
48
- const unqualifiedMetastatementNode = metaSublemmaChildNode, ///
48
+ const unqualifiedMetastatementNode = metaConditionalProofChildNode, ///
49
49
  unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context);
50
50
 
51
- metaSublemmaChildNodeVerified = unqualifiedMetastatementVerified; ///
51
+ metaConditionalProofChildNodeVerified = unqualifiedMetastatementVerified; ///
52
52
 
53
53
  break;
54
54
  }
55
55
  }
56
56
 
57
- return metaSublemmaChildNodeVerified;
57
+ return metaConditionalProofChildNodeVerified;
58
58
  }),
59
- metaDerivationVerified = metaSublemmaChildNodesVerified; ///
59
+ metaDerivationVerified = metaConditionalProofChildNodesVerified; ///
60
60
 
61
61
  return metaDerivationVerified;
62
62
  }
63
63
 
64
64
  module.exports = verifyMetaDerivation;
65
65
 
66
- function verifyMetaSublemma(metaSublemmaNode, context) {
67
- let metaSublemmaVerified = false;
66
+ function verifyMetaConditionalProof(metaConditionalProofNode, context) {
67
+ let metaConditionalProofVerified = false;
68
68
 
69
69
  const metaproofContext = MetaproofContext.fromContext(context);
70
70
 
71
71
  context = metaproofContext; ///
72
72
 
73
- const metaAntecedents = [],
74
- metaAntecedentNode = metaAntecedentNodeQuery(metaSublemmaNode),
75
- metaAntecedentVerified = verifyMetaAntecedent(metaAntecedentNode, metaAntecedents, context);
73
+ const metaAntecedentNode = metaAntecedentNodeQuery(metaConditionalProofNode),
74
+ metaAntecedentVerified = verifyMetaAntecedent(metaAntecedentNode, context);
76
75
 
77
76
  if (metaAntecedentVerified) {
78
77
  let metaDerivationVerified = true;
79
78
 
80
- const metaDerivationNode = metaDerivationNodeQuery(metaSublemmaNode);
79
+ const metaDerivationNode = metaDerivationNodeQuery(metaConditionalProofNode);
81
80
 
82
81
  if (metaDerivationNode !== null) {
83
82
  metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, context);
84
83
  }
85
84
 
86
85
  if (metaDerivationVerified) {
87
- const qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaSublemmaNode),
88
- unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaSublemmaNode);
86
+ const qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaConditionalProofNode),
87
+ unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaConditionalProofNode);
89
88
 
90
89
  if (qualifiedMetastatementNode !== null) {
91
90
  const qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, context);
92
91
 
93
- metaSublemmaVerified = qualifiedMetastatementVerified; ///
92
+ metaConditionalProofVerified = qualifiedMetastatementVerified; ///
94
93
  }
95
94
 
96
95
  if (unqualifiedMetastatementNode !== null) {
97
96
  const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context);
98
97
 
99
- metaSublemmaVerified = unqualifiedMetastatementVerified; ///
98
+ metaConditionalProofVerified = unqualifiedMetastatementVerified; ///
100
99
  }
101
100
  }
102
101
  }
103
102
 
104
- return metaSublemmaVerified;
103
+ return metaConditionalProofVerified;
105
104
  }
@@ -27,16 +27,18 @@ function verifyMetaproof(metaproofNode, rules, context) {
27
27
  qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, context);
28
28
 
29
29
  if (qualifiedMetastatementVerified) {
30
- const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
31
- firstRule = first(rules),
32
- rule = firstRule, ///
33
- metastatementString = nodeAsString(metastatementNode),
34
- conclusionMetastatementNode = rule.getConclusionMetastatementNode(),
35
- conclusionMetastatementString = nodeAsString(conclusionMetastatementNode);
36
-
37
- if (metastatementString === conclusionMetastatementString) {
38
- metaproofVerified = true;
39
- }
30
+ debugger
31
+
32
+ // const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
33
+ // firstRule = first(rules),
34
+ // rule = firstRule, ///
35
+ // metastatementString = nodeAsString(metastatementNode),
36
+ // conclusionMetastatementNode = rule.getConclusionMetastatementNode(),
37
+ // conclusionMetastatementString = nodeAsString(conclusionMetastatementNode);
38
+ //
39
+ // if (metastatementString === conclusionMetastatementString) {
40
+ // metaproofVerified = true;
41
+ // }
40
42
  }
41
43
  }
42
44
 
@@ -2,8 +2,7 @@
2
2
 
3
3
  const { loggingUtilities } = require("necessary");
4
4
 
5
- const { matchRule } = require("../../utilities/rule"),
6
- { nodeAsString } = require("../../utilities/string"),
5
+ const { nodeAsString } = require("../../utilities/string"),
7
6
  { nodeQuery, referenceNameFromReferenceNode } = require("../../utilities/query");
8
7
 
9
8
  const { log } = loggingUtilities;
@@ -22,9 +21,9 @@ function verifyQualifiedMetastatement(qualifiedMetastatementNode, context) {
22
21
  rule = context.findRuleByReferenceName(referenceName);
23
22
 
24
23
  if (rule !== null) {
25
- const ruleMatches = matchRule(rule, metastatementNode, context);
24
+ const ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, context);
26
25
 
27
- if (ruleMatches) {
26
+ if (ruleMatchesMetastatement) {
28
27
  context.addMetastatementNode(metastatementNode);
29
28
 
30
29
  const metastatementString = nodeAsString(metastatementNode);
@@ -40,4 +39,3 @@ function verifyQualifiedMetastatement(qualifiedMetastatementNode, context) {
40
39
  }
41
40
 
42
41
  module.exports = verifyQualifiedMetastatement;
43
-
@@ -8,9 +8,9 @@ const { nodeQuery, nodesQuery } = require("../utilities/query");
8
8
  const metastatementNodeQuery = nodeQuery("/unqualifiedMetastatement/metastatement"),
9
9
  unqualifiedMetastatementNodesQuery = nodesQuery("/premise|premises/unqualifiedMetastatement");
10
10
 
11
- function verifyPremise(premiseNode, premises, context) {
12
- const unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(premiseNode),
13
- premiseVerified = unqualifiedMetastatementNodes.every((unqualifiedMetastatementNode) => {
11
+ function verifyPremiseOrPremises(premiseOrPremisesNode, premises, context) {
12
+ const unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(premiseOrPremisesNode),
13
+ premiseOrPremisesVerified = unqualifiedMetastatementNodes.every((unqualifiedMetastatementNode) => {
14
14
  const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context);
15
15
 
16
16
  if (unqualifiedMetastatementVerified) {
@@ -18,18 +18,16 @@ function verifyPremise(premiseNode, premises, context) {
18
18
  }
19
19
  });
20
20
 
21
- if (premiseVerified) {
22
- const metastatementNodes = unqualifiedMetastatementNodes.map((unqualifiedMetastatementNode) => {
23
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
21
+ if (premiseOrPremisesVerified) {
22
+ unqualifiedMetastatementNodes.forEach((unqualifiedMetastatementNode) => {
23
+ const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
24
+ premise = Premise.fromMetastatementNode(metastatementNode);
24
25
 
25
- return metastatementNode;
26
- }),
27
- premise = Premise.fromMetastatementNodes(metastatementNodes);
28
-
29
- premises.push(premise);
26
+ premises.push(premise);
27
+ });
30
28
  }
31
29
 
32
- return premiseVerified;
30
+ return premiseOrPremisesVerified;
33
31
  }
34
32
 
35
- module.exports = verifyPremise;
33
+ module.exports = verifyPremiseOrPremises;
@@ -1,50 +1,28 @@
1
1
  "use strict";
2
2
 
3
- const Rule = require("../../rule"),
4
- verifyLabels = require("../../verify/labels"),
5
- verifyPremise = require("../../verify/premise"),
6
- verifyConclusion = require("../../verify/conclusion");
3
+ const verifyConclusion = require("../../verify/conclusion"),
4
+ verifyPremiseOrPremises = require("../../verify/premiseOrPremises");
7
5
 
8
- const { first } = require("../../utilities/array"),
9
- { nodeQuery, nodesQuery } = require("../../utilities/query");
6
+ const { nodeQuery } = require("../../utilities/query");
10
7
 
11
- const labelNodesQuery = nodesQuery("/rule/label"),
12
- premiseNodeQuery = nodeQuery("/inferenceConditional/premise|premises!"),
13
- conclusionNodeQuery = nodeQuery("/inferenceConditional/conclusion!"),
8
+ const conclusionNodeQuery = nodeQuery("/inferenceConditional/conclusion!"),
9
+ premiseOrPremisesNodeQuery = nodeQuery("/inferenceConditional/premise|premises!"),
14
10
  inferenceConditionalNodeQuery = nodeQuery("/rule/inferenceConditional!");
15
11
 
16
- function verifyInferenceConditionalRule(ruleNode, rules, context) {
12
+ function verifyInferenceConditionalRule(ruleNode, premises, conclusions, context) {
17
13
  let inferenceConditionalRuleVerified = false;
18
14
 
19
15
  const inferenceConditionalNode = inferenceConditionalNodeQuery(ruleNode);
20
16
 
21
17
  if (inferenceConditionalNode !== null) {
22
- const labels = [],
23
- labelNodes = labelNodesQuery(ruleNode),
24
- labelsVerified = verifyLabels(labelNodes, labels, context);
25
-
26
- if (labelsVerified) {
27
- const premises = [],
28
- premiseNode = premiseNodeQuery(inferenceConditionalNode),
29
- premiseVerified = verifyPremise(premiseNode, premises, context);
30
-
31
- if (premiseVerified) {
32
- const conclusions = [],
33
- conclusionNode = conclusionNodeQuery(inferenceConditionalNode),
34
- conclusionVerified = verifyConclusion(conclusionNode, conclusions, context);
35
-
36
- if (conclusionVerified) {
37
- const firstPremise = first(premises),
38
- firstConclusion = first(conclusions),
39
- premise = firstPremise, ///
40
- conclusion = firstConclusion, ///
41
- rule = Rule.fromPremiseConclusionAndLabels(premise, conclusion, labels);
42
-
43
- rules.push(rule);
44
-
45
- inferenceConditionalRuleVerified = true;
46
- }
47
- }
18
+ const premiseOrPremisesNode = premiseOrPremisesNodeQuery(inferenceConditionalNode),
19
+ premiseOrPremisesVerified = verifyPremiseOrPremises(premiseOrPremisesNode, premises, context);
20
+
21
+ if (premiseOrPremisesVerified) {
22
+ const conclusionNode = conclusionNodeQuery(inferenceConditionalNode),
23
+ conclusionVerified = verifyConclusion(conclusionNode, conclusions, context);
24
+
25
+ inferenceConditionalRuleVerified = conclusionVerified;
48
26
  }
49
27
  }
50
28
 
@@ -1,36 +1,28 @@
1
1
  "use strict";
2
2
 
3
- const Rule = require("../../rule"),
4
- verifyLabels = require("../../verify/labels"),
3
+ const Conclusion = require("../../conclusion"),
5
4
  verifyUnqualifiedMetastatement = require("../../verify/metastatement/unqualified");
6
5
 
7
- const { nodeQuery, nodesQuery } = require("../../utilities/query");
6
+ const { nodeQuery } = require("../../utilities/query");
8
7
 
9
- const labelNodesQuery = nodesQuery("/rule/label"),
10
- metastatementNodeQuery = nodeQuery("/*/metastatement"),
8
+ const metastatementNodeQuery = nodeQuery("/*/metastatement"),
11
9
  unqualifiedMetastatementNodeQuery = nodeQuery("/rule/unqualifiedMetastatement!");
12
10
 
13
- function verifyUnqualifiedMetastatementRule(ruleNode, rules, context) {
11
+ function verifyUnqualifiedMetastatementRule(ruleNode, premises, conclusions, context) {
14
12
  let unqualifiedMetastatementRuleVerified = false;
15
13
 
16
14
  const unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(ruleNode);
17
15
 
18
16
  if (unqualifiedMetastatementNode !== null) {
19
- const labels = [],
20
- labelNodes = labelNodesQuery(ruleNode),
21
- labelsVerified = verifyLabels(labelNodes, labels, context);
17
+ const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context);
22
18
 
23
- if (labelsVerified) {
24
- const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context);
19
+ if (unqualifiedMetastatementVerified) {
20
+ const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
21
+ conclusion = Conclusion.fromMetastatementNode(metastatementNode);
25
22
 
26
- if (unqualifiedMetastatementVerified) {
27
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
28
- rule = Rule.fromMetastatementNodeAndLabels(metastatementNode, labels);
23
+ conclusions.push(conclusion);
29
24
 
30
- rules.push(rule);
31
-
32
- unqualifiedMetastatementRuleVerified = true;
33
- }
25
+ unqualifiedMetastatementRuleVerified = true;
34
26
  }
35
27
  }
36
28
 
@@ -2,7 +2,9 @@
2
2
 
3
3
  const { loggingUtilities } = require("necessary");
4
4
 
5
- const verifyMetaproof = require("../verify/metaproof"),
5
+ const Rule = require("../rule"),
6
+ verifyLabels = require("../verify/labels"),
7
+ verifyMetaproof = require("../verify/metaproof"),
6
8
  MetaproofContext = require("../context/metaproof"),
7
9
  verifyInferenceConditionalRule = require("../verify/rule/inferenceConditional"),
8
10
  verifyUnqualifiedMetastatementRule = require("../verify/rule/unqualifiedMetastatement");
@@ -24,13 +26,20 @@ function verifyRule(ruleNode, context) {
24
26
 
25
27
  log.debug(`Verifying the '${labelsString}' rule...`);
26
28
 
29
+ const labels = [],
30
+ labelsVerified = verifyLabels(labelNodes, labels, context);
31
+
32
+ if (labelsVerified) {
33
+ }
34
+
27
35
  const metaproofContext = MetaproofContext.fromContext(context);
28
36
 
29
37
  context = metaproofContext; ///
30
38
 
31
- const rules = [],
32
- inferenceConditionalRuleVerified = verifyInferenceConditionalRule(ruleNode, rules, context),
33
- unqualifiedMetastatementRuleVerified = verifyUnqualifiedMetastatementRule(ruleNode, rules, context);
39
+ const premises = [],
40
+ conclusions = [],
41
+ inferenceConditionalRuleVerified = verifyInferenceConditionalRule(ruleNode, premises, conclusions, context),
42
+ unqualifiedMetastatementRuleVerified = verifyUnqualifiedMetastatementRule(ruleNode, premises, conclusions, context);
34
43
 
35
44
  if (inferenceConditionalRuleVerified || unqualifiedMetastatementRuleVerified) {
36
45
  const metaproofNode = metaproofNodeQuery(ruleNode);
@@ -47,8 +56,9 @@ function verifyRule(ruleNode, context) {
47
56
  }
48
57
 
49
58
  if (ruleVerified) {
50
- const firstRule = first(rules),
51
- rule = firstRule; ///
59
+ const firstConclusion = first(conclusions),
60
+ conclusion = firstConclusion, ///
61
+ rule = Rule.fromPremisesConclusionAndLabels(premises, conclusion, labels);
52
62
 
53
63
  context.addRule(rule);
54
64
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.262",
4
+ "version": "0.0.264",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,10 +12,10 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.15",
14
14
  "necessary": "^11.0.40",
15
- "occam-custom-grammars": "^5.0.342",
15
+ "occam-custom-grammars": "^5.0.345",
16
16
  "occam-dom": "^3.0.171",
17
17
  "occam-grammar-utilities": "^7.0.66",
18
- "occam-grammars": "^1.0.309",
18
+ "occam-grammars": "^1.0.312",
19
19
  "occam-open-cli": "^5.0.37",
20
20
  "occam-parsers": "^16.0.122"
21
21
  },
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- class MetaAntecedent {
4
- constructor(metastatementNodes) {
5
- this.metastatementNodes = metastatementNodes;
6
- }
7
-
8
- getMetastatementNodes() {
9
- return this.metastatementNodes;
10
- }
11
-
12
- static fromMetastatementNodes(metastatementNodes) {
13
- const metaAntecedent = new MetaAntecedent(metastatementNodes);
14
-
15
- return metaAntecedent;
16
- }
17
- }
18
-
19
- module.exports = MetaAntecedent;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- class MetaConsequent {
4
- constructor(metastatementNode) {
5
- this.metastatementNode = metastatementNode;
6
- }
7
-
8
- getMetastatementNode() {
9
- return this.metastatementNode;
10
- }
11
-
12
- static fromStatementNode(metastatementNode) {
13
- const metaConsequent = new MetaConsequent(metastatementNode);
14
-
15
- return metaConsequent;
16
- }
17
- }
18
-
19
- module.exports = MetaConsequent;