occam-verify-cli 0.0.880 → 0.0.882

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 (67) hide show
  1. package/lib/assignment/judgement.js +62 -0
  2. package/lib/axiomLemmaTheoremConjecture.js +4 -10
  3. package/lib/context/file.js +47 -41
  4. package/lib/context/local.js +19 -7
  5. package/lib/context/localMeta.js +58 -16
  6. package/lib/declaration.js +90 -0
  7. package/lib/frame.js +105 -0
  8. package/lib/judgement.js +87 -0
  9. package/lib/label.js +3 -3
  10. package/lib/metaLemmaMetatheorem.js +4 -4
  11. package/lib/metaType/{label.js → frame.js} +12 -12
  12. package/lib/metaType/{context.js → reference.js} +12 -12
  13. package/lib/metaTypeNames.js +7 -7
  14. package/lib/metaTypes.js +5 -5
  15. package/lib/mixins/context.js +32 -24
  16. package/lib/premise.js +2 -26
  17. package/lib/rule.js +4 -10
  18. package/lib/supposition.js +1 -53
  19. package/lib/utilities/name.js +3 -11
  20. package/lib/verify/declaration.js +36 -18
  21. package/lib/verify/frame.js +75 -0
  22. package/lib/verify/judgement.js +95 -20
  23. package/lib/verify/label.js +8 -8
  24. package/lib/verify/labels.js +4 -4
  25. package/lib/verify/metastatement/qualified.js +12 -8
  26. package/lib/verify/metastatement.js +5 -21
  27. package/lib/verify/metavariable.js +3 -3
  28. package/lib/verify/statement/qualified.js +6 -6
  29. package/package.json +2 -2
  30. package/src/assignment/judgement.js +30 -0
  31. package/src/axiomLemmaTheoremConjecture.js +3 -12
  32. package/src/context/file.js +38 -33
  33. package/src/context/local.js +6 -2
  34. package/src/context/localMeta.js +62 -15
  35. package/src/declaration.js +58 -0
  36. package/src/frame.js +69 -0
  37. package/src/judgement.js +38 -0
  38. package/src/label.js +2 -2
  39. package/src/metaLemmaMetatheorem.js +3 -3
  40. package/src/metaType/frame.js +18 -0
  41. package/src/metaType/reference.js +18 -0
  42. package/src/metaTypeNames.js +2 -2
  43. package/src/metaTypes.js +4 -4
  44. package/src/mixins/context.js +21 -15
  45. package/src/premise.js +0 -41
  46. package/src/rule.js +3 -12
  47. package/src/supposition.js +0 -45
  48. package/src/utilities/name.js +5 -15
  49. package/src/verify/declaration.js +48 -21
  50. package/src/verify/frame.js +91 -0
  51. package/src/verify/judgement.js +142 -21
  52. package/src/verify/label.js +7 -8
  53. package/src/verify/labels.js +4 -3
  54. package/src/verify/metastatement/qualified.js +14 -11
  55. package/src/verify/metastatement.js +4 -30
  56. package/src/verify/metavariable.js +2 -2
  57. package/src/verify/statement/qualified.js +10 -10
  58. package/lib/assignment/metaEquality.js +0 -62
  59. package/lib/metaEquality.js +0 -101
  60. package/lib/verify/context.js +0 -34
  61. package/lib/verify/metaEquality.js +0 -69
  62. package/src/assignment/metaEquality.js +0 -30
  63. package/src/metaEquality.js +0 -84
  64. package/src/metaType/context.js +0 -18
  65. package/src/metaType/label.js +0 -18
  66. package/src/verify/context.js +0 -30
  67. package/src/verify/metaEquality.js +0 -83
@@ -1,69 +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 verifyMetaEquality;
9
- }
10
- });
11
- var _metaEquality = /*#__PURE__*/ _interop_require_default(require("../metaEquality"));
12
- var _metaEquality1 = /*#__PURE__*/ _interop_require_default(require("../assignment/metaEquality"));
13
- var _query = require("../utilities/query");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- var leftMetastatementNodeQuery = (0, _query.nodeQuery)("/metaEquality/metastatement[0]"), rightMetastatementNodeQuery = (0, _query.nodeQuery)("/metaEquality/metastatement[1]");
20
- function verifyMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
21
- var metaEqualityVerified;
22
- var metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
23
- localMetaContext.trace("Verifying the '".concat(metaEqualityString, "' meta-equality..."), metaEqualityNode);
24
- var verifyMetaEqualityFunctions = [
25
- verifyDerivedMetaEquality,
26
- verifyStatedMetaEquality
27
- ];
28
- metaEqualityVerified = verifyMetaEqualityFunctions.some(function(verifyMetaEqualityFunction) {
29
- var metaEqualityVerified = verifyMetaEqualityFunction(metaEqualityNode, assignments, derived, localMetaContext);
30
- if (metaEqualityVerified) {
31
- return true;
32
- }
33
- });
34
- if (metaEqualityVerified) {
35
- localMetaContext.debug("...verified the '".concat(metaEqualityString, "' meta-equality."), metaEqualityNode);
36
- }
37
- return metaEqualityVerified;
38
- }
39
- function verifyDerivedMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
40
- var derivedMetaEqualityVerified = false;
41
- if (derived) {
42
- var metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
43
- localMetaContext.trace("Verifying the '".concat(metaEqualityString, "' derived meta-equality..."), metaEqualityNode);
44
- var leftMetastatementNode = leftMetastatementNodeQuery(metaEqualityNode), rightMetastatementNode = rightMetastatementNodeQuery(metaEqualityNode), metaEquality = _metaEquality.default.fromLeftMetastatementNodeRightMetastatementNodeAndMetaEqualityNode(leftMetastatementNode, rightMetastatementNode, metaEqualityNode, localMetaContext);
45
- if (metaEquality !== null) {
46
- var metaEqualityAssignment = _metaEquality1.default.fromMetaEquality(metaEquality), assignment = metaEqualityAssignment; ///
47
- assignments.push(assignment);
48
- derivedMetaEqualityVerified = true;
49
- }
50
- if (derivedMetaEqualityVerified) {
51
- localMetaContext.debug("...verified the '".concat(metaEqualityString, "' derived meta-equality."), metaEqualityNode);
52
- }
53
- }
54
- return derivedMetaEqualityVerified;
55
- }
56
- function verifyStatedMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
57
- var statedMetaEqualityVerified = false;
58
- if (!derived) {
59
- var metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
60
- localMetaContext.trace("Verifying the '".concat(metaEqualityString, "' stated meta-equality..."), metaEqualityNode);
61
- debugger;
62
- if (statedMetaEqualityVerified) {
63
- localMetaContext.debug("...verified the '".concat(metaEqualityString, "' stated meta-equality."), metaEqualityNode);
64
- }
65
- }
66
- return statedMetaEqualityVerified;
67
- }
68
-
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YUVxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUVxdWFsaXR5IGZyb20gXCIuLi9tZXRhRXF1YWxpdHlcIjtcbmltcG9ydCBNZXRhRXF1YWxpdHlBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L21ldGFFcXVhbGl0eVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxlZnRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFFcXVhbGl0eS9tZXRhc3RhdGVtZW50WzBdXCIpLFxuICAgICAgcmlnaHRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFFcXVhbGl0eS9tZXRhc3RhdGVtZW50WzFdXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhRXF1YWxpdHkobWV0YUVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFFcXVhbGl0eVZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFFcXVhbGl0eVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YUVxdWFsaXR5U3RyaW5nfScgbWV0YS1lcXVhbGl0eS4uLmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeU1ldGFFcXVhbGl0eUZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkTWV0YUVxdWFsaXR5LFxuICAgIHZlcmlmeVN0YXRlZE1ldGFFcXVhbGl0eVxuICBdO1xuXG4gIG1ldGFFcXVhbGl0eVZlcmlmaWVkID0gdmVyaWZ5TWV0YUVxdWFsaXR5RnVuY3Rpb25zLnNvbWUoKHZlcmlmeU1ldGFFcXVhbGl0eUZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YUVxdWFsaXR5VmVyaWZpZWQgPSB2ZXJpZnlNZXRhRXF1YWxpdHlGdW5jdGlvbihtZXRhRXF1YWxpdHlOb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YUVxdWFsaXR5VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKG1ldGFFcXVhbGl0eVZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFFcXVhbGl0eVN0cmluZ30nIG1ldGEtZXF1YWxpdHkuYCwgbWV0YUVxdWFsaXR5Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YUVxdWFsaXR5VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRNZXRhRXF1YWxpdHkobWV0YUVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YUVxdWFsaXR5U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YUVxdWFsaXR5Tm9kZSk7XG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFFcXVhbGl0eVN0cmluZ30nIGRlcml2ZWQgbWV0YS1lcXVhbGl0eS4uLmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgbGVmdE1ldGFzdGF0ZW1lbnROb2RlID0gbGVmdE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YUVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgcmlnaHRNZXRhc3RhdGVtZW50Tm9kZSA9IHJpZ2h0TWV0YXN0YXRlbWVudE5vZGVRdWVyeShtZXRhRXF1YWxpdHlOb2RlKSxcbiAgICAgICAgICBtZXRhRXF1YWxpdHkgPSBNZXRhRXF1YWxpdHkuZnJvbUxlZnRNZXRhc3RhdGVtZW50Tm9kZVJpZ2h0TWV0YXN0YXRlbWVudE5vZGVBbmRNZXRhRXF1YWxpdHlOb2RlKGxlZnRNZXRhc3RhdGVtZW50Tm9kZSwgcmlnaHRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YUVxdWFsaXR5Tm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YUVxdWFsaXR5ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhRXF1YWxpdHlBc3NpZ25tZW50ID0gTWV0YUVxdWFsaXR5QXNzaWdubWVudC5mcm9tTWV0YUVxdWFsaXR5KG1ldGFFcXVhbGl0eSksXG4gICAgICAgICAgICBhc3NpZ25tZW50ID0gbWV0YUVxdWFsaXR5QXNzaWdubWVudDsgIC8vL1xuXG4gICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuXG4gICAgICBkZXJpdmVkTWV0YUVxdWFsaXR5VmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChkZXJpdmVkTWV0YUVxdWFsaXR5VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhRXF1YWxpdHlTdHJpbmd9JyBkZXJpdmVkIG1ldGEtZXF1YWxpdHkuYCwgbWV0YUVxdWFsaXR5Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRNZXRhRXF1YWxpdHlWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkTWV0YUVxdWFsaXR5KG1ldGFFcXVhbGl0eU5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFFcXVhbGl0eVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhRXF1YWxpdHlTdHJpbmd9JyBzdGF0ZWQgbWV0YS1lcXVhbGl0eS4uLmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gICAgZGVidWdnZXJcblxuICAgIGlmIChzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFFcXVhbGl0eVN0cmluZ30nIHN0YXRlZCBtZXRhLWVxdWFsaXR5LmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZDtcbn0iXSwibmFtZXMiOlsidmVyaWZ5TWV0YUVxdWFsaXR5IiwibGVmdE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJyaWdodE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhRXF1YWxpdHlOb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFFcXVhbGl0eVZlcmlmaWVkIiwibWV0YUVxdWFsaXR5U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlNZXRhRXF1YWxpdHlGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkTWV0YUVxdWFsaXR5IiwidmVyaWZ5U3RhdGVkTWV0YUVxdWFsaXR5Iiwic29tZSIsInZlcmlmeU1ldGFFcXVhbGl0eUZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkTWV0YUVxdWFsaXR5VmVyaWZpZWQiLCJsZWZ0TWV0YXN0YXRlbWVudE5vZGUiLCJyaWdodE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YUVxdWFsaXR5IiwiTWV0YUVxdWFsaXR5IiwiZnJvbUxlZnRNZXRhc3RhdGVtZW50Tm9kZVJpZ2h0TWV0YXN0YXRlbWVudE5vZGVBbmRNZXRhRXF1YWxpdHlOb2RlIiwibWV0YUVxdWFsaXR5QXNzaWdubWVudCIsIk1ldGFFcXVhbGl0eUFzc2lnbm1lbnQiLCJmcm9tTWV0YUVxdWFsaXR5IiwiYXNzaWdubWVudCIsInB1c2giLCJzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzttRUFSQztvRUFDVTtxQkFFVDs7Ozs7O0FBRTFCLElBQU1DLDZCQUE2QkMsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDdkNDLDhCQUE4QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUUvQixTQUFTRixtQkFBbUJJLGdCQUFnQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ2pHLElBQUlDO0lBRUosSUFBTUMscUJBQXFCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFekRHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CRixvQkFBbUIsdUJBQXFCTDtJQUVqRixJQUFNUSw4QkFBOEI7UUFDbENDO1FBQ0FDO0tBQ0Q7SUFFRE4sdUJBQXVCSSw0QkFBNEJHLElBQUksQ0FBQyxTQUFDQztRQUN2RCxJQUFNUix1QkFBdUJRLDJCQUEyQlosa0JBQWtCQyxhQUFhQyxTQUFTQztRQUVoRyxJQUFJQyxzQkFBc0I7WUFDeEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxzQkFBc0I7UUFDeEJELGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXNDLE9BQW5CUixvQkFBbUIscUJBQW1CTDtJQUNuRjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQSxTQUFTSywwQkFBMEJULGdCQUFnQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3pGLElBQUlXLDhCQUE4QjtJQUVsQyxJQUFJWixTQUFTO1FBQ1gsSUFBTUcscUJBQXFCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFekRHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CRixvQkFBbUIsK0JBQTZCTDtRQUV6RixJQUFNZSx3QkFBd0JsQiwyQkFBMkJHLG1CQUNuRGdCLHlCQUF5QmpCLDRCQUE0QkMsbUJBQ3JEaUIsZUFBZUMscUJBQVksQ0FBQ0Msa0VBQWtFLENBQUNKLHVCQUF1QkMsd0JBQXdCaEIsa0JBQWtCRztRQUV0SyxJQUFJYyxpQkFBaUIsTUFBTTtZQUN6QixJQUFNRyx5QkFBeUJDLHNCQUFzQixDQUFDQyxnQkFBZ0IsQ0FBQ0wsZUFDakVNLGFBQWFILHdCQUF5QixHQUFHO1lBRS9DbkIsWUFBWXVCLElBQUksQ0FBQ0Q7WUFFakJULDhCQUE4QjtRQUNoQztRQUVBLElBQUlBLDZCQUE2QjtZQUMvQlgsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJSLG9CQUFtQiw2QkFBMkJMO1FBQzNGO0lBQ0Y7SUFFQSxPQUFPYztBQUNUO0FBRUEsU0FBU0oseUJBQXlCVixnQkFBZ0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUN4RixJQUFJc0IsNkJBQTZCO0lBRWpDLElBQUksQ0FBQ3ZCLFNBQVM7UUFDWixJQUFNRyxxQkFBcUJGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUV6REcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBb0MsT0FBbkJGLG9CQUFtQiw4QkFBNEJMO1FBRXhGLFFBQVE7UUFFUixJQUFJeUIsNEJBQTRCO1lBQzlCdEIsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJSLG9CQUFtQiw0QkFBMEJMO1FBQzFGO0lBQ0Y7SUFFQSxPQUFPeUI7QUFDVCJ9
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- export default class MetaEqualityAssignment {
4
- constructor(metaEquality) {
5
- this.metaEquality = metaEquality;
6
- }
7
-
8
- getMetaEquality() {
9
- return this.metaEquality;
10
- }
11
-
12
- assign(localMetaContext) {
13
- const metaEqualityAdded = localMetaContext.addMetaEquality(this.metaEquality),
14
- metaEqualityNode = this.metaEquality.getNode(),
15
- metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode),
16
- metaEqualityAssigned = metaEqualityAdded; ///
17
-
18
- metaEqualityAssigned ?
19
- localMetaContext.trace(`Assigned the '${metaEqualityString}' meta-equality.`, metaEqualityNode) :
20
- localMetaContext.debug(`Unable to assign the '${metaEqualityString}' meta-equality.`, metaEqualityNode);
21
-
22
- return metaEqualityAssigned;
23
- }
24
-
25
- static fromMetaEquality(metaEquality) {
26
- const metaEqualityAssignment = new MetaEqualityAssignment(metaEquality);
27
-
28
- return metaEqualityAssignment;
29
- }
30
- }
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- import contextMetaType from "./metaType/context";
4
- import metastatementNodeVerifier from "./verifier/node/metastatement";
5
-
6
- import { nodeQuery } from "./utilities/query";
7
- import { first, second } from "./utilities/array";
8
-
9
- const contextNodeQuery = nodeQuery("/metastatement/context!"),
10
- metaVariableNodeQuery = nodeQuery("/metastatement/metavariable!");
11
-
12
- export default class MetaEquality {
13
- constructor(node, metaType) {
14
- this.node = node;
15
- this.metaType = metaType;
16
- }
17
-
18
- getNode() {
19
- return this.node;
20
- }
21
-
22
- getMetaType() {
23
- return this.metaType;
24
- }
25
-
26
- static fromLeftMetastatementNodeRightMetastatementNodeAndMetaEqualityNode(leftMetastatementNode, rightMetastatementNode, metaEqualityNode, localMetaContext) {
27
- let metaEquality = null;
28
-
29
- const metaTypes = [],
30
- leftMetastatementVerifiedAsMetavariableOrContext = verifyMetastatementAsMetavariableOrContext(leftMetastatementNode, metaTypes, localMetaContext),
31
- rightMetastatementVerifiedAsMetavariableOrContext = verifyMetastatementAsMetavariableOrContext(rightMetastatementNode, metaTypes, localMetaContext);
32
-
33
- if (leftMetastatementVerifiedAsMetavariableOrContext && rightMetastatementVerifiedAsMetavariableOrContext) {
34
- const firstMetaType = first(metaTypes),
35
- secondMetaType = second(metaTypes);
36
-
37
- if (firstMetaType === secondMetaType) {
38
- const metaType = firstMetaType, ///
39
- node = metaEqualityNode; ///
40
-
41
- metaEquality = new MetaEquality(node, metaType);
42
- }
43
- }
44
-
45
- return metaEquality;
46
- }
47
- }
48
-
49
- function verifyMetastatementAsMetavariableOrContext(metastatementNode, metaTypes, localMetaContext) {
50
- let metastatementVerifiedAsMetavariableOrContext = false;
51
-
52
- const { verifyMetastatement } = metastatementNodeVerifier,
53
- derived = false, ///
54
- assignments = [],
55
- metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, () => {
56
- const verifiedAhead = true;
57
-
58
- return verifiedAhead;
59
- });
60
-
61
- if (metastatementVerified) {
62
- const contextNode = contextNodeQuery(metastatementNode),
63
- metavariableNode = metaVariableNodeQuery(metastatementNode);
64
-
65
- if (false) {
66
- ///
67
- } else if (contextNode !== null) {
68
- const metaType = contextMetaType; ///
69
-
70
- metaTypes.push(metaType);
71
-
72
- metastatementVerifiedAsMetavariableOrContext = true;
73
- } else if (metavariableNode !== null) {
74
- const metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext),
75
- metaType = metavariable.getMetaType();
76
-
77
- metaTypes.push(metaType);
78
-
79
- metastatementVerifiedAsMetavariableOrContext = true;
80
- }
81
- }
82
-
83
- return metastatementVerifiedAsMetavariableOrContext;
84
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import MetaType from "../metaType";
4
-
5
- import { CONTEXT_META_TYPE_NAME } from "../metaTypeNames";
6
-
7
- class ContextMetaType extends MetaType {
8
- static fromNothing() {
9
- const name = CONTEXT_META_TYPE_NAME,
10
- contextMetaType = new ContextMetaType(name);
11
-
12
- return contextMetaType;
13
- }
14
- }
15
-
16
- const contextMetaType = ContextMetaType.fromNothing();
17
-
18
- export default contextMetaType;
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import MetaType from "../metaType";
4
-
5
- import { LABEL_META_TYPE_NAME } from "../metaTypeNames";
6
-
7
- class LabelMetaType extends MetaType {
8
- static fromNothing() {
9
- const name = LABEL_META_TYPE_NAME,
10
- labelMetaType = new LabelMetaType(name);
11
-
12
- return labelMetaType;
13
- }
14
- }
15
-
16
- const labelMetaType = LabelMetaType.fromNothing();
17
-
18
- export default labelMetaType;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- import verifyDeclaration from "../verify/declaration";
4
-
5
- import { nodesQuery } from "../utilities/query";
6
-
7
- const declarationNodesQuery = nodesQuery("/context/declaration");
8
-
9
- export default function verifyContext(contextNode, derived, localMetaContext) {
10
- let contextVerified;
11
-
12
- const contextString = localMetaContext.nodeAsString(contextNode);
13
-
14
- localMetaContext.trace(`Verifying the '${contextString}' context...`, contextNode);
15
-
16
- const declarationNodes = declarationNodesQuery(contextNode),
17
- declarationsVerified = declarationNodes.every((declarationNode) => {
18
- const declarationVerified = verifyDeclaration(declarationNode, derived, localMetaContext);
19
-
20
- return declarationVerified;
21
- });
22
-
23
- contextVerified = declarationsVerified; ///
24
-
25
- if (contextVerified) {
26
- localMetaContext.debug(`...verified the '${contextString}' context.`, contextNode);
27
- }
28
-
29
- return contextVerified;
30
- }
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- import MetaEquality from "../metaEquality";
4
- import MetaEqualityAssignment from "../assignment/metaEquality";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
-
8
- const leftMetastatementNodeQuery = nodeQuery("/metaEquality/metastatement[0]"),
9
- rightMetastatementNodeQuery = nodeQuery("/metaEquality/metastatement[1]");
10
-
11
- export default function verifyMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
12
- let metaEqualityVerified;
13
-
14
- const metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
15
-
16
- localMetaContext.trace(`Verifying the '${metaEqualityString}' meta-equality...`, metaEqualityNode);
17
-
18
- const verifyMetaEqualityFunctions = [
19
- verifyDerivedMetaEquality,
20
- verifyStatedMetaEquality
21
- ];
22
-
23
- metaEqualityVerified = verifyMetaEqualityFunctions.some((verifyMetaEqualityFunction) => {
24
- const metaEqualityVerified = verifyMetaEqualityFunction(metaEqualityNode, assignments, derived, localMetaContext);
25
-
26
- if (metaEqualityVerified) {
27
- return true;
28
- }
29
- });
30
-
31
- if (metaEqualityVerified) {
32
- localMetaContext.debug(`...verified the '${metaEqualityString}' meta-equality.`, metaEqualityNode);
33
- }
34
-
35
- return metaEqualityVerified;
36
- }
37
-
38
- function verifyDerivedMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
39
- let derivedMetaEqualityVerified = false;
40
-
41
- if (derived) {
42
- const metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
43
-
44
- localMetaContext.trace(`Verifying the '${metaEqualityString}' derived meta-equality...`, metaEqualityNode);
45
-
46
- const leftMetastatementNode = leftMetastatementNodeQuery(metaEqualityNode),
47
- rightMetastatementNode = rightMetastatementNodeQuery(metaEqualityNode),
48
- metaEquality = MetaEquality.fromLeftMetastatementNodeRightMetastatementNodeAndMetaEqualityNode(leftMetastatementNode, rightMetastatementNode, metaEqualityNode, localMetaContext);
49
-
50
- if (metaEquality !== null) {
51
- const metaEqualityAssignment = MetaEqualityAssignment.fromMetaEquality(metaEquality),
52
- assignment = metaEqualityAssignment; ///
53
-
54
- assignments.push(assignment);
55
-
56
- derivedMetaEqualityVerified = true;
57
- }
58
-
59
- if (derivedMetaEqualityVerified) {
60
- localMetaContext.debug(`...verified the '${metaEqualityString}' derived meta-equality.`, metaEqualityNode);
61
- }
62
- }
63
-
64
- return derivedMetaEqualityVerified;
65
- }
66
-
67
- function verifyStatedMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
68
- let statedMetaEqualityVerified = false;
69
-
70
- if (!derived) {
71
- const metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
72
-
73
- localMetaContext.trace(`Verifying the '${metaEqualityString}' stated meta-equality...`, metaEqualityNode);
74
-
75
- debugger
76
-
77
- if (statedMetaEqualityVerified) {
78
- localMetaContext.debug(`...verified the '${metaEqualityString}' stated meta-equality.`, metaEqualityNode);
79
- }
80
- }
81
-
82
- return statedMetaEqualityVerified;
83
- }