occam-verify-cli 0.0.264 → 0.0.265

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.
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ const verifyMetaproof = require("../../verify/metaproof"),
4
+ verifyConclusion = require("../../verify/conclusion"),
5
+ verifyPremiseOrPremises = require("../../verify/premiseOrPremises");
6
+
7
+ const { nodeQuery } = require("../../utilities/query");
8
+
9
+ const metaproofNodeQuery = nodeQuery("/rule/metaproof!"),
10
+ conclusionNodeQuery = nodeQuery("/conditionalInference/conclusion!"),
11
+ premiseOrPremisesNodeQuery = nodeQuery("/conditionalInference/premise|premises!");
12
+
13
+ function verifyConditionalInference(ruleNode, premises, conclusions, context) {
14
+ let conditinalInferenceVerified = false;
15
+
16
+ const inferenceConditionalNode = inferenceConditionalNodeQuery(ruleNode);
17
+
18
+ if (inferenceConditionalNode !== null) {
19
+ const premiseOrPremisesNode = premiseOrPremisesNodeQuery(inferenceConditionalNode),
20
+ premiseOrPremisesVerified = verifyPremiseOrPremises(premiseOrPremisesNode, premises, context);
21
+
22
+ if (premiseOrPremisesVerified) {
23
+ const conclusionNode = conclusionNodeQuery(inferenceConditionalNode),
24
+ conclusionVerified = verifyConclusion(conclusionNode, conclusions, context);
25
+
26
+
27
+ const metaproofNode = metaproofNodeQuery(ruleNode);
28
+
29
+ let metaproofVerified = true;
30
+
31
+ if (metaproofNode !== null) {
32
+ metaproofVerified = verifyMetaproof(metaproofNode, rules, context);
33
+ }
34
+
35
+ if (metaproofVerified) {
36
+ ruleVerified = true;
37
+ }
38
+ conditinalInferenceVerified = conclusionVerified;
39
+ }
40
+ }
41
+
42
+ return conditinalInferenceVerified;
43
+ }
44
+
45
+ module.exports = verifyConditionalInference;
@@ -4,10 +4,9 @@ const { loggingUtilities } = require("necessary");
4
4
 
5
5
  const Rule = require("../rule"),
6
6
  verifyLabels = require("../verify/labels"),
7
- verifyMetaproof = require("../verify/metaproof"),
8
7
  MetaproofContext = require("../context/metaproof"),
9
- verifyInferenceConditionalRule = require("../verify/rule/inferenceConditional"),
10
- verifyUnqualifiedMetastatementRule = require("../verify/rule/unqualifiedMetastatement");
8
+ verifyConditionalInference = require("../verify/conditinalInference"),
9
+ verifyUnconditionalInference = require("../verify/unconditionalInference");
11
10
 
12
11
  const { first } = require("../utilities/array"),
13
12
  { nodesAsString } = require("../utilities/string"),
@@ -16,7 +15,8 @@ const { first } = require("../utilities/array"),
16
15
  const { log } = loggingUtilities;
17
16
 
18
17
  const labelNodesQuery = nodesQuery("/rule/label"),
19
- metaproofNodeQuery = nodeQuery("/rule/metaproof!");
18
+ conditionalInferenceNodeQuery = nodeQuery("/rule/conditionalInference!"),
19
+ unconditionalInferenceNodeQuery = nodeQuery("/rule/unconditionalInference!");
20
20
 
21
21
  function verifyRule(ruleNode, context) {
22
22
  let ruleVerified = false;
@@ -30,39 +30,36 @@ function verifyRule(ruleNode, context) {
30
30
  labelsVerified = verifyLabels(labelNodes, labels, context);
31
31
 
32
32
  if (labelsVerified) {
33
- }
34
-
35
- const metaproofContext = MetaproofContext.fromContext(context);
36
-
37
- context = metaproofContext; ///
33
+ const metaproofContext = MetaproofContext.fromContext(context);
38
34
 
39
- const premises = [],
40
- conclusions = [],
41
- inferenceConditionalRuleVerified = verifyInferenceConditionalRule(ruleNode, premises, conclusions, context),
42
- unqualifiedMetastatementRuleVerified = verifyUnqualifiedMetastatementRule(ruleNode, premises, conclusions, context);
35
+ context = metaproofContext; ///
43
36
 
44
- if (inferenceConditionalRuleVerified || unqualifiedMetastatementRuleVerified) {
45
- const metaproofNode = metaproofNodeQuery(ruleNode);
37
+ const premises = [],
38
+ conclusions = [],
39
+ conditionalInferenceNode = conditionalInferenceNodeQuery(ruleNode),
40
+ unconditionalInferenceNode = unconditionalInferenceNodeQuery(ruleNode);
46
41
 
47
- let metaproofVerified = true;
42
+ if (conditionalInferenceNode !== null) {
43
+ const conditionalInferenceVerified = verifyConditionalInference(ruleNode, premises, conclusions, context);
48
44
 
49
- if (metaproofNode !== null) {
50
- metaproofVerified = verifyMetaproof(metaproofNode, rules, context);
45
+ ruleVerified = conditionalInferenceVerified; ///
51
46
  }
52
47
 
53
- if (metaproofVerified) {
54
- ruleVerified = true;
48
+ if (unconditionalInferenceNode !== null) {
49
+ const unconditionalInferenceVerified = verifyUnconditionalInference(ruleNode, premises, conclusions, context);
50
+
51
+ ruleVerified = unconditionalInferenceVerified; ///
55
52
  }
56
- }
57
53
 
58
- if (ruleVerified) {
59
- const firstConclusion = first(conclusions),
60
- conclusion = firstConclusion, ///
61
- rule = Rule.fromPremisesConclusionAndLabels(premises, conclusion, labels);
54
+ if (ruleVerified) {
55
+ const firstConclusion = first(conclusions),
56
+ conclusion = firstConclusion, ///
57
+ rule = Rule.fromPremisesConclusionAndLabels(premises, conclusion, labels);
62
58
 
63
- context.addRule(rule);
59
+ context.addRule(rule);
64
60
 
65
- log.info(`Verified the '${labelsString}' rule.`);
61
+ log.info(`Verified the '${labelsString}' rule.`);
62
+ }
66
63
  }
67
64
 
68
65
  return ruleVerified;
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.264",
4
+ "version": "0.0.265",
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.345",
15
+ "occam-custom-grammars": "^5.0.346",
16
16
  "occam-dom": "^3.0.171",
17
17
  "occam-grammar-utilities": "^7.0.66",
18
- "occam-grammars": "^1.0.312",
18
+ "occam-grammars": "^1.0.313",
19
19
  "occam-open-cli": "^5.0.37",
20
20
  "occam-parsers": "^16.0.122"
21
21
  },
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- const verifyConclusion = require("../../verify/conclusion"),
4
- verifyPremiseOrPremises = require("../../verify/premiseOrPremises");
5
-
6
- const { nodeQuery } = require("../../utilities/query");
7
-
8
- const conclusionNodeQuery = nodeQuery("/inferenceConditional/conclusion!"),
9
- premiseOrPremisesNodeQuery = nodeQuery("/inferenceConditional/premise|premises!"),
10
- inferenceConditionalNodeQuery = nodeQuery("/rule/inferenceConditional!");
11
-
12
- function verifyInferenceConditionalRule(ruleNode, premises, conclusions, context) {
13
- let inferenceConditionalRuleVerified = false;
14
-
15
- const inferenceConditionalNode = inferenceConditionalNodeQuery(ruleNode);
16
-
17
- if (inferenceConditionalNode !== null) {
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;
26
- }
27
- }
28
-
29
- return inferenceConditionalRuleVerified;
30
- }
31
-
32
- module.exports = verifyInferenceConditionalRule;