occam-verify-cli 0.0.508 → 0.0.510

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.
Files changed (35) hide show
  1. package/lib/assertion/type.js +90 -0
  2. package/lib/combinator.js +7 -1
  3. package/lib/verify/assertion/type.js +19 -23
  4. package/lib/verify/conclusion.js +6 -5
  5. package/lib/verify/consequence.js +6 -5
  6. package/lib/verify/derivation.js +2 -2
  7. package/lib/verify/metastatement/qualified.js +19 -5
  8. package/lib/verify/metastatement/unqualified.js +16 -4
  9. package/lib/verify/metastatement.js +3 -3
  10. package/lib/verify/premise.js +6 -5
  11. package/lib/verify/ruleDerivation.js +2 -2
  12. package/lib/verify/statement/qualified.js +9 -8
  13. package/lib/verify/statement/unqualified.js +16 -4
  14. package/lib/verify/statement.js +106 -9
  15. package/lib/verify/supposition.js +11 -11
  16. package/package.json +3 -3
  17. package/src/assertion/type.js +46 -0
  18. package/src/combinator.js +4 -0
  19. package/src/verify/assertion/type.js +24 -25
  20. package/src/verify/conclusion.js +11 -5
  21. package/src/verify/consequence.js +10 -4
  22. package/src/verify/derivation.js +4 -2
  23. package/src/verify/metastatement/qualified.js +20 -6
  24. package/src/verify/metastatement/unqualified.js +13 -3
  25. package/src/verify/metastatement.js +2 -2
  26. package/src/verify/premise.js +10 -4
  27. package/src/verify/ruleDerivation.js +4 -2
  28. package/src/verify/statement/qualified.js +13 -11
  29. package/src/verify/statement/unqualified.js +13 -3
  30. package/src/verify/statement.js +175 -9
  31. package/src/verify/supposition.js +16 -12
  32. package/lib/verify/metaDerivation.js +0 -63
  33. package/lib/verify/metaproof.js +0 -32
  34. package/src/verify/metaDerivation.js +0 -75
  35. package/src/verify/metaproof.js +0 -35
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- import MetaproofStep from "../step/metaproof";
4
- import verifyQualifiedMetastatement from "../verify/metastatement/qualified";
5
- import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
6
-
7
- import { nodeQuery, nodesQuery } from "../utilities/query";
8
- import { QUALIFIED_METASTATEMENT_RULE_NAME, UNQUALIFIED_METASTATEMENT_RULE_NAME } from "../ruleNames";
9
-
10
- const childNodesQuery = nodesQuery("/metaDerivation|metaSubDerivation/*"),
11
- metastatementNodeQuery = nodeQuery("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
12
-
13
- export default function verifyMetaDerivation(metaDerivationNode, metaproofContext) {
14
- let metaDerivationVerified;
15
-
16
- metaproofContext.begin(metaDerivationNode);
17
-
18
- const childNodes = childNodesQuery(metaDerivationNode);
19
-
20
- metaDerivationVerified = childNodes.every((childNode) => {
21
- const childVerified = verifyChild(childNode, metaproofContext);
22
-
23
- if (childVerified) {
24
- return true;
25
- }
26
- });
27
-
28
- metaDerivationVerified ?
29
- metaproofContext.complete(metaDerivationNode) :
30
- metaproofContext.halt(metaDerivationNode);
31
-
32
- return metaDerivationVerified;
33
- }
34
-
35
- function verifyChild(childNode, metaproofContext) {
36
- let childVerified;
37
-
38
- const childNodeRuleName = childNode.getRuleName();
39
-
40
- switch (childNodeRuleName) {
41
- case QUALIFIED_METASTATEMENT_RULE_NAME: {
42
- const qualifiedMetastatementNode = childNode, ///
43
- qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
44
-
45
- if (qualifiedMetastatementVerified) {
46
- const metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
47
- metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
48
-
49
- metaproofContext.addMetaproofStep(metaproofStep);
50
-
51
- childVerified = qualifiedMetastatementVerified; ///
52
- }
53
-
54
- break;
55
- }
56
-
57
- case UNQUALIFIED_METASTATEMENT_RULE_NAME: {
58
- const unqualifiedMetastatementNode = childNode, ///
59
- unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext);
60
-
61
- if (unqualifiedMetastatementVerified) {
62
- const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
63
- metaproofStep = MetaproofStep.fromMetastatementNode(metastatementNode);
64
-
65
- metaproofContext.addMetaproofStep(metaproofStep);
66
-
67
- childVerified = true;
68
- }
69
-
70
- break;
71
- }
72
- }
73
-
74
- return childVerified;
75
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- import verifyMetaDerivation from "../verify/metaDerivation";
4
-
5
- import { matcher } from "../matcher";
6
- import { nodeQuery } from "../utilities/query";
7
-
8
- const metaDerivationNodeQuery = nodeQuery("/metaproof/metaDerivation!");
9
-
10
- export default function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
11
- let metaproofVerified = false;
12
-
13
- metaproofContext.begin(metaproofNode);
14
-
15
- const metaDerivationNode = metaDerivationNodeQuery(metaproofNode),
16
- metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
17
-
18
- if (metaDerivationVerified) {
19
- const lastMetaproofStep = metaproofContext.getLastMetaproofStep(),
20
- metaproofStep = lastMetaproofStep, ///
21
- metastatementNode = metaproofStep.getMetastatementNode(),
22
- conclusionMetastatementNode = conclusion.getMetastatementNode(),
23
- nodeA = metastatementNode, ///
24
- nodeB = conclusionMetastatementNode, ///
25
- nodeMatches = matcher.matchNode(nodeA, nodeB);
26
-
27
- metaproofVerified = nodeMatches; ///
28
- }
29
-
30
- metaproofVerified ?
31
- metaproofContext.complete(metaproofNode) :
32
- metaproofContext.complete(metaproofNode);
33
-
34
- return metaproofVerified;
35
- }