occam-verify-cli 0.0.955 → 0.0.957

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,142 @@
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 _default;
9
+ }
10
+ });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
+ var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
13
+ var _variableAgainstTerm = /*#__PURE__*/ _interop_require_default(require("../unify/variableAgainstTerm"));
14
+ var _query = require("../utilities/query");
15
+ function _assert_this_initialized(self) {
16
+ if (self === void 0) {
17
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
18
+ }
19
+ return self;
20
+ }
21
+ function _call_super(_this, derived, args) {
22
+ derived = _get_prototype_of(derived);
23
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
24
+ }
25
+ function _class_call_check(instance, Constructor) {
26
+ if (!(instance instanceof Constructor)) {
27
+ throw new TypeError("Cannot call a class as a function");
28
+ }
29
+ }
30
+ function _defineProperties(target, props) {
31
+ for(var i = 0; i < props.length; i++){
32
+ var descriptor = props[i];
33
+ descriptor.enumerable = descriptor.enumerable || false;
34
+ descriptor.configurable = true;
35
+ if ("value" in descriptor) descriptor.writable = true;
36
+ Object.defineProperty(target, descriptor.key, descriptor);
37
+ }
38
+ }
39
+ function _create_class(Constructor, protoProps, staticProps) {
40
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
41
+ if (staticProps) _defineProperties(Constructor, staticProps);
42
+ return Constructor;
43
+ }
44
+ function _define_property(obj, key, value) {
45
+ if (key in obj) {
46
+ Object.defineProperty(obj, key, {
47
+ value: value,
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true
51
+ });
52
+ } else {
53
+ obj[key] = value;
54
+ }
55
+ return obj;
56
+ }
57
+ function _get_prototype_of(o) {
58
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
59
+ return o.__proto__ || Object.getPrototypeOf(o);
60
+ };
61
+ return _get_prototype_of(o);
62
+ }
63
+ function _inherits(subClass, superClass) {
64
+ if (typeof superClass !== "function" && superClass !== null) {
65
+ throw new TypeError("Super expression must either be null or a function");
66
+ }
67
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
68
+ constructor: {
69
+ value: subClass,
70
+ writable: true,
71
+ configurable: true
72
+ }
73
+ });
74
+ if (superClass) _set_prototype_of(subClass, superClass);
75
+ }
76
+ function _interop_require_default(obj) {
77
+ return obj && obj.__esModule ? obj : {
78
+ default: obj
79
+ };
80
+ }
81
+ function _possible_constructor_return(self, call) {
82
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
83
+ return call;
84
+ }
85
+ return _assert_this_initialized(self);
86
+ }
87
+ function _set_prototype_of(o, p) {
88
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
89
+ o.__proto__ = p;
90
+ return o;
91
+ };
92
+ return _set_prototype_of(o, p);
93
+ }
94
+ function _type_of(obj) {
95
+ "@swc/helpers - typeof";
96
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
97
+ }
98
+ function _is_native_reflect_construct() {
99
+ try {
100
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
101
+ } catch (_) {}
102
+ return (_is_native_reflect_construct = function() {
103
+ return !!result;
104
+ })();
105
+ }
106
+ var termNodeQuery = (0, _query.nodeQuery)("/term!"), termVariableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
107
+ var IntrinsicLevelUnifier = /*#__PURE__*/ function(Unifier) {
108
+ _inherits(IntrinsicLevelUnifier, Unifier);
109
+ function IntrinsicLevelUnifier() {
110
+ _class_call_check(this, IntrinsicLevelUnifier);
111
+ return _call_super(this, IntrinsicLevelUnifier, arguments);
112
+ }
113
+ _create_class(IntrinsicLevelUnifier, [
114
+ {
115
+ key: "unify",
116
+ value: function unify(nodeA, nodeB, substitutions, localContextA, localContextB) {
117
+ var unified;
118
+ var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB);
119
+ unified = nonTerminalNodeUnified; ///
120
+ return unified;
121
+ }
122
+ }
123
+ ]);
124
+ return IntrinsicLevelUnifier;
125
+ }(_unifier.default);
126
+ _define_property(IntrinsicLevelUnifier, "maps", [
127
+ {
128
+ nodeQueryA: termVariableNodeQuery,
129
+ nodeQueryB: termNodeQuery,
130
+ unify: function(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB) {
131
+ var variableNodeA = termVariableNodeA, variableUnifiedAgainstTerm = (0, _variableAgainstTerm.default)(variableNodeA, termNodeB, substitutions, localContextA, localContextB);
132
+ return variableUnifiedAgainstTerm;
133
+ }
134
+ }
135
+ ]);
136
+ var intrinsicLevelUnifier = new IntrinsicLevelUnifier();
137
+ Object.assign(_shim.default, {
138
+ intrinsicLevelUnifier: intrinsicLevelUnifier
139
+ });
140
+ var _default = intrinsicLevelUnifier;
141
+
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL2ludHJpbnNpY0xldmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXJcIjtcbmltcG9ydCB1bmlmeVZhcmlhYmxlQWdhaW5zdFRlcm0gZnJvbSBcIi4uL3VuaWZ5L3ZhcmlhYmxlQWdhaW5zdFRlcm1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0hXCIpLFxuICAgICAgdGVybVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5jbGFzcyBJbnRyaW5zaWNMZXZlbFVuaWZpZXIgZXh0ZW5kcyBVbmlmaWVyIHtcbiAgdW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBub2RlQiwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICB1bmlmaWVkID0gbm9uVGVybWluYWxOb2RlVW5pZmllZDsgLy8vXG5cbiAgICByZXR1cm4gdW5pZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeUE6IHRlcm1WYXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgIG5vZGVRdWVyeUI6IHRlcm1Ob2RlUXVlcnksXG4gICAgICB1bmlmeTogKHRlcm1WYXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpID0+IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHRlcm1WYXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgdmFyaWFibGVVbmlmaWVkQWdhaW5zdFRlcm0gPSB1bmlmeVZhcmlhYmxlQWdhaW5zdFRlcm0odmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgICByZXR1cm4gdmFyaWFibGVVbmlmaWVkQWdhaW5zdFRlcm07XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCBpbnRyaW5zaWNMZXZlbFVuaWZpZXIgPSBuZXcgSW50cmluc2ljTGV2ZWxVbmlmaWVyKCk7XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBpbnRyaW5zaWNMZXZlbFVuaWZpZXJcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBpbnRyaW5zaWNMZXZlbFVuaWZpZXI7XG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1WYXJpYWJsZU5vZGVRdWVyeSIsIkludHJpbnNpY0xldmVsVW5pZmllciIsInVuaWZ5Iiwibm9kZUEiLCJub2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInVuaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZVVuaWZpZWQiLCJ1bmlmeU5vblRlcm1pbmFsTm9kZSIsIlVuaWZpZXIiLCJtYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ0ZXJtVmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInZhcmlhYmxlTm9kZUEiLCJ2YXJpYWJsZVVuaWZpZWRBZ2FpbnN0VGVybSIsInVuaWZ5VmFyaWFibGVBZ2FpbnN0VGVybSIsImludHJpbnNpY0xldmVsVW5pZmllciIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRDQTs7O2VBQUE7OzsyREExQ2lCOzhEQUNHOzBFQUNpQjtxQkFFWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUEsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLFdBQzFCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFeEMsSUFBQSxBQUFNRSxzQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7Z0JBQzdELElBQUlDO2dCQUVKLElBQU1DLG1CQUFtQk4sT0FDbkJPLG1CQUFtQk4sT0FDbkJPLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUFDSCxrQkFBa0JDLGtCQUFrQkwsZUFBZUMsZUFBZUM7Z0JBRTNIQyxVQUFVRyx3QkFBd0IsR0FBRztnQkFFckMsT0FBT0g7WUFDVDs7O1dBWElQO0VBQThCWSxnQkFBTztBQWF6QyxpQkFiSVosdUJBYUdhLFFBQU87SUFDWjtRQUNFQyxZQUFZZjtRQUNaZ0IsWUFBWWxCO1FBQ1pJLE9BQU8sU0FBQ2UsbUJBQW1CQyxXQUFXYixlQUFlQyxlQUFlQztZQUNsRSxJQUFNWSxnQkFBZ0JGLG1CQUNoQkcsNkJBQTZCQyxJQUFBQSw0QkFBd0IsRUFBQ0YsZUFBZUQsV0FBV2IsZUFBZUMsZUFBZUM7WUFFcEgsT0FBT2E7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNRSx3QkFBd0IsSUFBSXJCO0FBRWxDc0IsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEJILHVCQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
19
19
  var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term"), typeNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/type");
20
20
  function verifyConstructorDeclaration(constructorDeclarationNode, fileContext) {
21
21
  var constructorDeclarationVerified;
22
- var termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), termString = fileContext.nodeAsString(termNode), typeString = fileContext.nodeAsString(typeNode);
22
+ var termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), termString = fileContext.nodeAsString(termNode), typeString = typeNode === null ? _constants.EMPTY_STRING : fileContext.nodeAsString(typeNode);
23
23
  typeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(termString, "' constructor declaration..."), constructorDeclarationNode) : fileContext.trace("Verifying the '".concat(termString, ":").concat(typeString, "' constructor declaration..."), constructorDeclarationNode);
24
24
  var termVerifiedAsConstructor = (0, _termAsConstructor.default)(termNode, typeNode, fileContext);
25
25
  constructorDeclarationVerified = termVerifiedAsConstructor; ///
@@ -29,4 +29,4 @@ function verifyConstructorDeclaration(constructorDeclarationNode, fileContext) {
29
29
  return constructorDeclarationVerified;
30
30
  }
31
31
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vY29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtQXNDb25zdHJ1Y3RvciBmcm9tIFwiLi4vLi4vdmVyaWZ5L3Rlcm1Bc0NvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0ZXJtU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKSxcbiAgICAgICAgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgKHR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfToke3R5cGVTdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gdmVyaWZ5VGVybUFzQ29uc3RydWN0b3IodGVybU5vZGUsIHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvcjsgLy8vXG5cbiAgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICh0eXBlU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ306JHt0eXBlU3RyaW5nfScgY29uc3RydWN0b3IgZGVjbGFyYXRpb24uYCwgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFzQ29uc3RydWN0b3IiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozt3RUFSWTtxQkFFVjt5QkFDRzs7Ozs7O0FBRTdCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxXQUFXO0lBQzFGLElBQUlDO0lBRUosSUFBTUMsV0FBV04sY0FBY0csNkJBQ3pCSSxXQUFXTCxjQUFjQyw2QkFDekJLLGFBQWFKLFlBQVlLLFlBQVksQ0FBQ0gsV0FDdENJLGFBQWFOLFlBQVlLLFlBQVksQ0FBQ0Y7SUFFM0NHLGVBQWVDLHVCQUFZLEdBQzFCUCxZQUFZUSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEosWUFBVyxpQ0FBK0JMLDhCQUM1RUMsWUFBWVEsS0FBSyxDQUFDLEFBQUMsa0JBQStCRixPQUFkRixZQUFXLEtBQWMsT0FBWEUsWUFBVyxpQ0FBK0JQO0lBRWhHLElBQU1VLDRCQUE0QkMsSUFBQUEsMEJBQXVCLEVBQUNSLFVBQVVDLFVBQVVIO0lBRTlFQyxpQ0FBaUNRLDJCQUEyQixHQUFHO0lBRS9ELElBQUlSLGdDQUFnQztRQUNqQ0ssZUFBZUMsdUJBQVksR0FDMUJQLFlBQVlXLEtBQUssQ0FBQyxBQUFDLG9CQUE4QixPQUFYUCxZQUFXLCtCQUE2QkwsOEJBQzVFQyxZQUFZVyxLQUFLLENBQUMsQUFBQyxvQkFBaUNMLE9BQWRGLFlBQVcsS0FBYyxPQUFYRSxZQUFXLCtCQUE2QlA7SUFDbEc7SUFFQSxPQUFPRTtBQUNUIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vY29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtQXNDb25zdHJ1Y3RvciBmcm9tIFwiLi4vLi4vdmVyaWZ5L3Rlcm1Bc0NvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0ZXJtU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKSxcbiAgICAgICAgdHlwZVN0cmluZyA9ICh0eXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgKHR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfToke3R5cGVTdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gdmVyaWZ5VGVybUFzQ29uc3RydWN0b3IodGVybU5vZGUsIHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvcjsgLy8vXG5cbiAgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICh0eXBlU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ306JHt0eXBlU3RyaW5nfScgY29uc3RydWN0b3IgZGVjbGFyYXRpb24uYCwgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFzQ29uc3RydWN0b3IiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozt3RUFSWTtxQkFFVjt5QkFDRzs7Ozs7O0FBRTdCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxXQUFXO0lBQzFGLElBQUlDO0lBRUosSUFBTUMsV0FBV04sY0FBY0csNkJBQ3pCSSxXQUFXTCxjQUFjQyw2QkFDekJLLGFBQWFKLFlBQVlLLFlBQVksQ0FBQ0gsV0FDdENJLGFBQWEsQUFBQ0gsYUFBYSxPQUNaSSx1QkFBWSxHQUNWUCxZQUFZSyxZQUFZLENBQUNGO0lBRS9DRyxlQUFlQyx1QkFBWSxHQUMxQlAsWUFBWVEsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsaUNBQStCTCw4QkFDNUVDLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGtCQUErQkYsT0FBZEYsWUFBVyxLQUFjLE9BQVhFLFlBQVcsaUNBQStCUDtJQUVoRyxJQUFNVSw0QkFBNEJDLElBQUFBLDBCQUF1QixFQUFDUixVQUFVQyxVQUFVSDtJQUU5RUMsaUNBQWlDUSwyQkFBMkIsR0FBRztJQUUvRCxJQUFJUixnQ0FBZ0M7UUFDakNLLGVBQWVDLHVCQUFZLEdBQzFCUCxZQUFZVyxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFAsWUFBVywrQkFBNkJMLDhCQUM1RUMsWUFBWVcsS0FBSyxDQUFDLEFBQUMsb0JBQWlDTCxPQUFkRixZQUFXLEtBQWMsT0FBWEUsWUFBVywrQkFBNkJQO0lBQ2xHO0lBRUEsT0FBT0U7QUFDVCJ9
@@ -20,7 +20,7 @@ function _interop_require_default(obj) {
20
20
  var firstTypeNodeQuery = (0, _query.nodeQuery)("/typeDeclaration/type[0]"), secondTypeNodeQuery = (0, _query.nodeQuery)("/typeDeclaration/type[1]");
21
21
  function verifyTypeDeclaration(typeDeclarationNode, fileContext) {
22
22
  var typeDeclarationVerified;
23
- var firstTypeNode = firstTypeNodeQuery(typeDeclarationNode), secondTypeNode = secondTypeNodeQuery(typeDeclarationNode), typeNode = firstTypeNode, superTypeNode = secondTypeNode, typeString = fileContext.nodeAsString(typeNode), superTypeString = fileContext.nodeAsString(superTypeNode);
23
+ var firstTypeNode = firstTypeNodeQuery(typeDeclarationNode), secondTypeNode = secondTypeNodeQuery(typeDeclarationNode), typeNode = firstTypeNode, superTypeNode = secondTypeNode, typeString = fileContext.nodeAsString(typeNode), superTypeString = superTypeNode === null ? _constants.EMPTY_STRING : fileContext.nodeAsString(superTypeNode);
24
24
  superTypeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(typeString, "' type declaration..."), typeDeclarationNode) : fileContext.trace("Verifying the '".concat(typeString, ":").concat(superTypeString, "' type declaration..."), typeDeclarationNode);
25
25
  var typeVerified = verifyType(typeNode, superTypeNode, fileContext);
26
26
  typeDeclarationVerified = typeVerified; ///
@@ -62,4 +62,4 @@ function verifyType(typeNode, superTypeNode, fileContext) {
62
62
  return typeVerified;
63
63
  }
64
64
 
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uLy4uL3R5cGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgZmlyc3RUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvbi90eXBlWzBdXCIpLFxuICAgICAgc2Vjb25kVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCBmaXJzdFR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBzZWNvbmRUeXBlTm9kZSA9IHNlY29uZFR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZSwgLy8vXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSBzZWNvbmRUeXBlTm9kZSwgLy8vXG4gICAgICAgIHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpLFxuICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwZXJUeXBlTm9kZSk7XG5cbiAgKHN1cGVyVHlwZVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBlVmVyaWZpZWQgPSB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlVmVyaWZpZWQ7IC8vL1xuXG4gIGlmICh0eXBlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIChzdXBlclR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVTdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmAsIHR5cGVEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuLi5gLCB0eXBlTm9kZSk7XG5cbiAgY29uc3QgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7dHlwZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN1cGVyVHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGZpbGVDb250ZXh0LmFkZFR5cGUodHlwZSk7XG5cbiAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlRGVjbGFyYXRpb24iLCJmaXJzdFR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzZWNvbmRUeXBlTm9kZVF1ZXJ5IiwidHlwZURlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJmaXJzdFR5cGVOb2RlIiwic2Vjb25kVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInN1cGVyVHlwZU5vZGUiLCJ0eXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3VwZXJUeXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsImRlYnVnIiwidHlwZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJUeXBlIiwiZnJvbVR5cGVOYW1lIiwic3VwZXJUeXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiYWRkVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsyREFUUDtxQkFFUzt5QkFDRztvQkFDUTs7Ozs7O0FBRXJDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyw2QkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTRixzQkFBc0JJLG1CQUFtQixFQUFFQyxXQUFXO0lBQzVFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCTixtQkFBbUJHLHNCQUNuQ0ksaUJBQWlCTCxvQkFBb0JDLHNCQUNyQ0ssV0FBV0YsZUFDWEcsZ0JBQWdCRixnQkFDaEJHLGFBQWFOLFlBQVlPLFlBQVksQ0FBQ0gsV0FDdENJLGtCQUFrQlIsWUFBWU8sWUFBWSxDQUFDRjtJQUVoREcsb0JBQW9CQyx1QkFBWSxHQUMvQlQsWUFBWVUsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsMEJBQXdCUCx1QkFDckVDLFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUErQkYsT0FBZEYsWUFBVyxLQUFtQixPQUFoQkUsaUJBQWdCLDBCQUF3QlQ7SUFFOUYsSUFBTVksZUFBZUMsV0FBV1IsVUFBVUMsZUFBZUw7SUFFekRDLDBCQUEwQlUsY0FBYyxHQUFHO0lBRTNDLElBQUlWLHlCQUF5QjtRQUMxQk8sb0JBQW9CQyx1QkFBWSxHQUMvQlQsWUFBWVUsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhKLFlBQVcsd0JBQXNCUCx1QkFDckVDLFlBQVlVLEtBQUssQ0FBQyxBQUFDLG9CQUFpQ0YsT0FBZEYsWUFBVyxLQUFtQixPQUFoQkUsaUJBQWdCLHdCQUFzQlQ7SUFDaEc7SUFFQSxPQUFPRTtBQUNUO0FBRUEsU0FBU1csV0FBV1IsUUFBUSxFQUFFQyxhQUFhLEVBQUVMLFdBQVc7SUFDdEQsSUFBSVcsZUFBZTtJQUVuQixJQUFNTCxhQUFhTixZQUFZTyxZQUFZLENBQUNIO0lBRTVDSixZQUFZVSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEosWUFBVyxjQUFZRjtJQUUzRCxJQUFNUyxjQUFjYixZQUFZYyx1QkFBdUIsQ0FBQ1Y7SUFFeEQsSUFBSVMsYUFBYTtRQUNmLElBQU1QLGNBQWFOLFlBQVlPLFlBQVksQ0FBQ0g7UUFFNUNKLFlBQVllLEtBQUssQ0FBQyxBQUFDLGFBQXVCLE9BQVhULGFBQVcsMEJBQXdCRjtJQUNwRSxPQUFPO1FBQ0wsSUFBSVk7UUFFSixJQUFNQyxXQUFXQyxJQUFBQSwwQkFBb0IsRUFBQ2Q7UUFFdEMsSUFBSUMsa0JBQWtCLE1BQU07WUFDMUJXLE9BQU9HLGFBQUksQ0FBQ0MsWUFBWSxDQUFDSDtRQUMzQixPQUFPO1lBQ0wsSUFBTUksWUFBWXJCLFlBQVlzQixrQkFBa0IsQ0FBQ2pCO1lBRWpELElBQUlnQixjQUFjLE1BQU07Z0JBQ3RCLElBQU1iLGtCQUFrQlIsWUFBWU8sWUFBWSxDQUFDRjtnQkFFakRMLFlBQVllLEtBQUssQ0FBQyxBQUFDLG1CQUFrQyxPQUFoQlAsaUJBQWdCLHNCQUFvQko7WUFDM0UsT0FBTztnQkFDTFksT0FBT0csYUFBSSxDQUFDSSx3QkFBd0IsQ0FBQ04sVUFBVUk7WUFDakQ7UUFDRjtRQUVBLElBQUlMLFNBQVMsTUFBTTtZQUNqQmhCLFlBQVl3QixPQUFPLENBQUNSO1lBRXBCTCxlQUFlO1FBQ2pCO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCWCxZQUFZZSxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFQsWUFBVyxZQUFVRjtJQUM3RDtJQUVBLE9BQU9PO0FBQ1QifQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uLy4uL3R5cGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgZmlyc3RUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvbi90eXBlWzBdXCIpLFxuICAgICAgc2Vjb25kVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCBmaXJzdFR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBzZWNvbmRUeXBlTm9kZSA9IHNlY29uZFR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZSwgLy8vXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSBzZWNvbmRUeXBlTm9kZSwgLy8vXG4gICAgICAgIHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpLFxuICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSAoc3VwZXJUeXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwZXJUeXBlTm9kZSk7XG5cbiAgKHN1cGVyVHlwZVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBlVmVyaWZpZWQgPSB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlVmVyaWZpZWQ7IC8vL1xuXG4gIGlmICh0eXBlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIChzdXBlclR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVTdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmAsIHR5cGVEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuLi5gLCB0eXBlTm9kZSk7XG5cbiAgY29uc3QgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7dHlwZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN1cGVyVHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGZpbGVDb250ZXh0LmFkZFR5cGUodHlwZSk7XG5cbiAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlRGVjbGFyYXRpb24iLCJmaXJzdFR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzZWNvbmRUeXBlTm9kZVF1ZXJ5IiwidHlwZURlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJmaXJzdFR5cGVOb2RlIiwic2Vjb25kVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInN1cGVyVHlwZU5vZGUiLCJ0eXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3VwZXJUeXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsImRlYnVnIiwidHlwZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJUeXBlIiwiZnJvbVR5cGVOYW1lIiwic3VwZXJUeXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiYWRkVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsyREFUUDtxQkFFUzt5QkFDRztvQkFDUTs7Ozs7O0FBRXJDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyw2QkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTRixzQkFBc0JJLG1CQUFtQixFQUFFQyxXQUFXO0lBQzVFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCTixtQkFBbUJHLHNCQUNuQ0ksaUJBQWlCTCxvQkFBb0JDLHNCQUNyQ0ssV0FBV0YsZUFDWEcsZ0JBQWdCRixnQkFDaEJHLGFBQWFOLFlBQVlPLFlBQVksQ0FBQ0gsV0FDdENJLGtCQUFrQixBQUFDSCxrQkFBa0IsT0FDakJJLHVCQUFZLEdBQ1ZULFlBQVlPLFlBQVksQ0FBQ0Y7SUFFcERHLG9CQUFvQkMsdUJBQVksR0FDL0JULFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUE0QixPQUFYSixZQUFXLDBCQUF3QlAsdUJBQ3JFQyxZQUFZVSxLQUFLLENBQUMsQUFBQyxrQkFBK0JGLE9BQWRGLFlBQVcsS0FBbUIsT0FBaEJFLGlCQUFnQiwwQkFBd0JUO0lBRTlGLElBQU1ZLGVBQWVDLFdBQVdSLFVBQVVDLGVBQWVMO0lBRXpEQywwQkFBMEJVLGNBQWMsR0FBRztJQUUzQyxJQUFJVix5QkFBeUI7UUFDMUJPLG9CQUFvQkMsdUJBQVksR0FDL0JULFlBQVlVLEtBQUssQ0FBQyxBQUFDLG9CQUE4QixPQUFYSixZQUFXLHdCQUFzQlAsdUJBQ3JFQyxZQUFZVSxLQUFLLENBQUMsQUFBQyxvQkFBaUNGLE9BQWRGLFlBQVcsS0FBbUIsT0FBaEJFLGlCQUFnQix3QkFBc0JUO0lBQ2hHO0lBRUEsT0FBT0U7QUFDVDtBQUVBLFNBQVNXLFdBQVdSLFFBQVEsRUFBRUMsYUFBYSxFQUFFTCxXQUFXO0lBQ3RELElBQUlXLGVBQWU7SUFFbkIsSUFBTUwsYUFBYU4sWUFBWU8sWUFBWSxDQUFDSDtJQUU1Q0osWUFBWVUsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsY0FBWUY7SUFFM0QsSUFBTVMsY0FBY2IsWUFBWWMsdUJBQXVCLENBQUNWO0lBRXhELElBQUlTLGFBQWE7UUFDZixJQUFNUCxjQUFhTixZQUFZTyxZQUFZLENBQUNIO1FBRTVDSixZQUFZZSxLQUFLLENBQUMsQUFBQyxhQUF1QixPQUFYVCxhQUFXLDBCQUF3QkY7SUFDcEUsT0FBTztRQUNMLElBQUlZO1FBRUosSUFBTUMsV0FBV0MsSUFBQUEsMEJBQW9CLEVBQUNkO1FBRXRDLElBQUlDLGtCQUFrQixNQUFNO1lBQzFCVyxPQUFPRyxhQUFJLENBQUNDLFlBQVksQ0FBQ0g7UUFDM0IsT0FBTztZQUNMLElBQU1JLFlBQVlyQixZQUFZc0Isa0JBQWtCLENBQUNqQjtZQUVqRCxJQUFJZ0IsY0FBYyxNQUFNO2dCQUN0QixJQUFNYixrQkFBa0JSLFlBQVlPLFlBQVksQ0FBQ0Y7Z0JBRWpETCxZQUFZZSxLQUFLLENBQUMsQUFBQyxtQkFBa0MsT0FBaEJQLGlCQUFnQixzQkFBb0JKO1lBQzNFLE9BQU87Z0JBQ0xZLE9BQU9HLGFBQUksQ0FBQ0ksd0JBQXdCLENBQUNOLFVBQVVJO1lBQ2pEO1FBQ0Y7UUFFQSxJQUFJTCxTQUFTLE1BQU07WUFDakJoQixZQUFZd0IsT0FBTyxDQUFDUjtZQUVwQkwsZUFBZTtRQUNqQjtJQUNGO0lBRUEsSUFBSUEsY0FBYztRQUNoQlgsWUFBWWUsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhULFlBQVcsWUFBVUY7SUFDN0Q7SUFFQSxPQUFPTztBQUNUIn0=
@@ -23,14 +23,17 @@ function verifyPremise(premiseNode, premises, localContext) {
23
23
  var premiseVerified;
24
24
  var premiseString = localContext.nodeAsString(premiseNode);
25
25
  localContext.trace("Verifying the '".concat(premiseString, "' premise..."), premiseNode);
26
- var unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode), derived = false, assignments = [], unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments, derived, localContext);
27
- if (unqualifiedStatementVerified) {
28
- var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
29
- if (assignmentAssigned) {
30
- var statementNode = statementNodeQuery(unqualifiedStatementNode), metaproofStep = _proofStep.default.fromStatementNode(statementNode), premise = _premise.default.fromStatementNode(statementNode);
31
- premises.push(premise);
32
- localContext.addProofStep(metaproofStep);
33
- premiseVerified = true;
26
+ var unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode);
27
+ if (unqualifiedStatementNode !== null) {
28
+ var derived = false, assignments = [], unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments, derived, localContext);
29
+ if (unqualifiedStatementVerified) {
30
+ var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
31
+ if (assignmentAssigned) {
32
+ var statementNode = statementNodeQuery(unqualifiedStatementNode), metaproofStep = _proofStep.default.fromStatementNode(statementNode), premise = _premise.default.fromStatementNode(statementNode);
33
+ premises.push(premise);
34
+ localContext.addProofStep(metaproofStep);
35
+ premiseVerified = true;
36
+ }
34
37
  }
35
38
  }
36
39
  if (premiseVerified) {
@@ -39,4 +42,4 @@ function verifyPremise(premiseNode, premises, localContext) {
39
42
  return premiseVerified;
40
43
  }
41
44
 
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByZW1pc2UgZnJvbSBcIi4uL3ByZW1pc2VcIjtcbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3Byb29mU3RlcFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByZW1pc2UocHJlbWlzZU5vZGUsIHByZW1pc2VzLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHByZW1pc2VWZXJpZmllZDtcblxuICBjb25zdCBwcmVtaXNlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhwcmVtaXNlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLi4uYCwgcHJlbWlzZU5vZGUpO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHByZW1pc2VOb2RlKSxcbiAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoYXNzaWdubWVudEFzc2lnbmVkKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgcHJlbWlzZSA9IFByZW1pc2UuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIHByZW1pc2VzLnB1c2gocHJlbWlzZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRQcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIHByZW1pc2VWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByZW1pc2VWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLmAsIHByZW1pc2VOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UHJlbWlzZSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicHJlbWlzZU5vZGUiLCJwcmVtaXNlcyIsImxvY2FsQ29udGV4dCIsInByZW1pc2VWZXJpZmllZCIsInByZW1pc2VTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImFzc2lnbm1lbnRBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnQiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mU3RlcCIsIlByb29mU3RlcCIsImZyb21TdGF0ZW1lbnROb2RlIiwicHJlbWlzZSIsIlByZW1pc2UiLCJwdXNoIiwiYWRkUHJvb2ZTdGVwIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBd0JBOzs7OERBVko7Z0VBQ0U7a0VBQ2lCO3FCQUViOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFDQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLFNBQVNGLGNBQWNJLFdBQVcsRUFBRUMsUUFBUSxFQUFFQyxZQUFZO0lBQ3ZFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCRixhQUFhRyxZQUFZLENBQUNMO0lBRWhERSxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBK0IsT0FBZEYsZUFBYyxpQkFBZUo7SUFFbEUsSUFBTU8sMkJBQTJCUiw4QkFBOEJDLGNBQ3pEUSxVQUFVLE9BQ1ZDLGNBQWMsRUFBRSxFQUNoQkMsK0JBQStCQyxJQUFBQSxvQkFBMEIsRUFBQ0osMEJBQTBCRSxhQUFhRCxTQUFTTjtJQUVoSCxJQUFJUSw4QkFBOEI7UUFDaEMsSUFBTUUscUJBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0osYUFBYVA7UUFFekQsSUFBSVUsb0JBQW9CO1lBQ3RCLElBQU1FLGdCQUFnQmpCLG1CQUFtQlUsMkJBQ25DUSxnQkFBZ0JDLGtCQUFTLENBQUNDLGlCQUFpQixDQUFDSCxnQkFDNUNJLFVBQVVDLGdCQUFPLENBQUNGLGlCQUFpQixDQUFDSDtZQUUxQ2IsU0FBU21CLElBQUksQ0FBQ0Y7WUFFZGhCLGFBQWFtQixZQUFZLENBQUNOO1lBRTFCWixrQkFBa0I7UUFDcEI7SUFDRjtJQUVBLElBQUlBLGlCQUFpQjtRQUNuQkQsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLG9CQUFpQyxPQUFkbEIsZUFBYyxlQUFhSjtJQUNwRTtJQUVBLE9BQU9HO0FBQ1QifQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByZW1pc2UgZnJvbSBcIi4uL3ByZW1pc2VcIjtcbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3Byb29mU3RlcFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByZW1pc2UocHJlbWlzZU5vZGUsIHByZW1pc2VzLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHByZW1pc2VWZXJpZmllZDtcblxuICBjb25zdCBwcmVtaXNlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhwcmVtaXNlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLi4uYCwgcHJlbWlzZU5vZGUpO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHByZW1pc2VOb2RlKTtcblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGFzc2lnbm1lbnRBc3NpZ25lZCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIHByZW1pc2VzLnB1c2gocHJlbWlzZSk7XG5cbiAgICAgICAgbG9jYWxDb250ZXh0LmFkZFByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgICBwcmVtaXNlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChwcmVtaXNlVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS5gLCBwcmVtaXNlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVByZW1pc2UiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInByZW1pc2VOb2RlIiwicHJlbWlzZXMiLCJsb2NhbENvbnRleHQiLCJwcmVtaXNlVmVyaWZpZWQiLCJwcmVtaXNlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJkZXJpdmVkIiwiYXNzaWdubWVudHMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsIm1ldGFwcm9vZlN0ZXAiLCJQcm9vZlN0ZXAiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInByZW1pc2UiLCJQcmVtaXNlIiwicHVzaCIsImFkZFByb29mU3RlcCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7OzhEQVZKO2dFQUNFO2tFQUNpQjtxQkFFYjsyQkFDTzs7Ozs7O0FBRWpDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDL0JDLGdDQUFnQ0QsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQyxTQUFTRixjQUFjSSxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsWUFBWTtJQUN2RSxJQUFJQztJQUVKLElBQU1DLGdCQUFnQkYsYUFBYUcsWUFBWSxDQUFDTDtJQUVoREUsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQStCLE9BQWRGLGVBQWMsaUJBQWVKO0lBRWxFLElBQU1PLDJCQUEyQlIsOEJBQThCQztJQUUvRCxJQUFJTyw2QkFBNkIsTUFBTTtRQUNyQyxJQUFNQyxVQUFVLE9BQ1ZDLGNBQWMsRUFBRSxFQUNoQkMsK0JBQStCQyxJQUFBQSxvQkFBMEIsRUFBQ0osMEJBQTBCRSxhQUFhRCxTQUFTTjtRQUVoSCxJQUFJUSw4QkFBOEI7WUFDaEMsSUFBTUUscUJBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0osYUFBYVA7WUFFekQsSUFBSVUsb0JBQW9CO2dCQUN0QixJQUFNRSxnQkFBZ0JqQixtQkFBbUJVLDJCQUNuQ1EsZ0JBQWdCQyxrQkFBUyxDQUFDQyxpQkFBaUIsQ0FBQ0gsZ0JBQzVDSSxVQUFVQyxnQkFBTyxDQUFDRixpQkFBaUIsQ0FBQ0g7Z0JBRTFDYixTQUFTbUIsSUFBSSxDQUFDRjtnQkFFZGhCLGFBQWFtQixZQUFZLENBQUNOO2dCQUUxQlosa0JBQWtCO1lBQ3BCO1FBQ0Y7SUFDRjtJQUVBLElBQUlBLGlCQUFpQjtRQUNuQkQsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLG9CQUFpQyxPQUFkbEIsZUFBYyxlQUFhSjtJQUNwRTtJQUVBLE9BQU9HO0FBQ1QifQ==
@@ -23,18 +23,23 @@ function verifySupposition(suppositionNode, suppositions, localContext) {
23
23
  var suppositionVerified = false;
24
24
  var suppositionString = localContext.nodeAsString(suppositionNode);
25
25
  localContext.trace("Verifying the '".concat(suppositionString, "' supposition..."), suppositionNode);
26
- var derived = false, assignments = [], unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode), unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments, derived, localContext);
27
- if (unqualifiedStatementVerified) {
28
- var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
29
- suppositionVerified = assignmentAssigned; ///
26
+ var unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode);
27
+ if (unqualifiedStatementNode !== null) {
28
+ var derived = false, assignments = [], unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments, derived, localContext);
29
+ if (unqualifiedStatementVerified) {
30
+ var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
31
+ if (assignmentAssigned) {
32
+ var statementNode = statementNodeQuery(unqualifiedStatementNode), supposition = _supposition.default.fromStatementNode(statementNode), proofStep = _proofStep.default.fromStatementNode(statementNode);
33
+ suppositions.push(supposition);
34
+ localContext.addProofStep(proofStep);
35
+ suppositionVerified = true;
36
+ }
37
+ }
30
38
  }
31
39
  if (suppositionVerified) {
32
- var statementNode = statementNodeQuery(unqualifiedStatementNode), supposition = _supposition.default.fromStatementNode(statementNode), proofStep = _proofStep.default.fromStatementNode(statementNode);
33
- suppositions.push(supposition);
34
- localContext.addProofStep(proofStep);
35
40
  localContext.debug("...verified the '".concat(suppositionString, "' supposition."), suppositionNode);
36
41
  }
37
42
  return suppositionVerified;
38
43
  }
39
44
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3VwcG9zaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3Byb29mU3RlcFwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uIGZyb20gXCIuLi9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VwcG9zaXRpb24vdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbk5vZGUsIHN1cHBvc2l0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdXBwb3NpdGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN1cHBvc2l0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uLi5gLCBzdXBwb3NpdGlvbk5vZGUpO1xuXG4gIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkoc3VwcG9zaXRpb25Ob2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgc3VwcG9zaXRpb25WZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gIH1cblxuICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIHN1cHBvc2l0aW9ucy5wdXNoKHN1cHBvc2l0aW9uKTtcblxuICAgIGxvY2FsQ29udGV4dC5hZGRQcm9vZlN0ZXAocHJvb2ZTdGVwKTtcblxuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uYCwgc3VwcG9zaXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN1cHBvc2l0aW9uIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGUiLCJzdXBwb3NpdGlvbnMiLCJsb2NhbENvbnRleHQiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwic3VwcG9zaXRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImFzc2lnbm1lbnRBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnQiLCJzdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb24iLCJTdXBwb3NpdGlvbiIsImZyb21TdGF0ZW1lbnROb2RlIiwicHJvb2ZTdGVwIiwiUHJvb2ZTdGVwIiwicHVzaCIsImFkZFByb29mU3RlcCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7O2dFQVZGO2tFQUNFO2tFQUNlO3FCQUViOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFDQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLFNBQVNGLGtCQUFrQkksZUFBZSxFQUFFQyxZQUFZLEVBQUVDLFlBQVk7SUFDbkYsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLG9CQUFvQkYsYUFBYUcsWUFBWSxDQUFDTDtJQUVwREUsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQW1DLE9BQWxCRixtQkFBa0IscUJBQW1CSjtJQUUxRSxJQUFNTyxVQUFVLE9BQ1ZDLGNBQWMsRUFBRSxFQUNoQkMsMkJBQTJCViw4QkFBOEJDLGtCQUN6RFUsK0JBQStCQyxJQUFBQSxvQkFBMEIsRUFBQ0YsMEJBQTBCRCxhQUFhRCxTQUFTTDtJQUVoSCxJQUFJUSw4QkFBOEI7UUFDaEMsSUFBTUUscUJBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0wsYUFBYU47UUFFekRDLHNCQUFzQlMsb0JBQW9CLEdBQUc7SUFDL0M7SUFFQSxJQUFJVCxxQkFBcUI7UUFDdkIsSUFBTVcsZ0JBQWdCakIsbUJBQW1CWSwyQkFDbkNNLGNBQWNDLG9CQUFXLENBQUNDLGlCQUFpQixDQUFDSCxnQkFDNUNJLFlBQVlDLGtCQUFTLENBQUNGLGlCQUFpQixDQUFDSDtRQUU5Q2IsYUFBYW1CLElBQUksQ0FBQ0w7UUFFbEJiLGFBQWFtQixZQUFZLENBQUNIO1FBRTFCaEIsYUFBYW9CLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQmxCLG1CQUFrQixtQkFBaUJKO0lBQzVFO0lBRUEsT0FBT0c7QUFDVCJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3VwcG9zaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3Byb29mU3RlcFwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uIGZyb20gXCIuLi9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VwcG9zaXRpb24vdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbk5vZGUsIHN1cHBvc2l0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdXBwb3NpdGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN1cHBvc2l0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uLi5gLCBzdXBwb3NpdGlvbk5vZGUpO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHN1cHBvc2l0aW9uTm9kZSk7XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChhc3NpZ25tZW50QXNzaWduZWQpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgc3VwcG9zaXRpb25zLnB1c2goc3VwcG9zaXRpb24pO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5hZGRQcm9vZlN0ZXAocHJvb2ZTdGVwKTtcblxuICAgICAgICBzdXBwb3NpdGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uYCwgc3VwcG9zaXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN1cHBvc2l0aW9uIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGUiLCJzdXBwb3NpdGlvbnMiLCJsb2NhbENvbnRleHQiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwic3VwcG9zaXRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImFzc2lnbm1lbnRBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnQiLCJzdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb24iLCJTdXBwb3NpdGlvbiIsImZyb21TdGF0ZW1lbnROb2RlIiwicHJvb2ZTdGVwIiwiUHJvb2ZTdGVwIiwicHVzaCIsImFkZFByb29mU3RlcCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7O2dFQVZGO2tFQUNFO2tFQUNlO3FCQUViOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFDQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLFNBQVNGLGtCQUFrQkksZUFBZSxFQUFFQyxZQUFZLEVBQUVDLFlBQVk7SUFDbkYsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLG9CQUFvQkYsYUFBYUcsWUFBWSxDQUFDTDtJQUVwREUsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQW1DLE9BQWxCRixtQkFBa0IscUJBQW1CSjtJQUUxRSxJQUFNTywyQkFBMkJSLDhCQUE4QkM7SUFFL0QsSUFBSU8sNkJBQTZCLE1BQU07UUFDckMsSUFBTUMsVUFBVSxPQUNWQyxjQUFjLEVBQUUsRUFDaEJDLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNKLDBCQUEwQkUsYUFBYUQsU0FBU047UUFFaEgsSUFBSVEsOEJBQThCO1lBQ2hDLElBQU1FLHFCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNKLGFBQWFQO1lBRXpELElBQUlVLG9CQUFvQjtnQkFDdEIsSUFBTUUsZ0JBQWdCakIsbUJBQW1CVSwyQkFDbkNRLGNBQWNDLG9CQUFXLENBQUNDLGlCQUFpQixDQUFDSCxnQkFDNUNJLFlBQVlDLGtCQUFTLENBQUNGLGlCQUFpQixDQUFDSDtnQkFFOUNiLGFBQWFtQixJQUFJLENBQUNMO2dCQUVsQmIsYUFBYW1CLFlBQVksQ0FBQ0g7Z0JBRTFCZixzQkFBc0I7WUFDeEI7UUFDRjtJQUNGO0lBRUEsSUFBSUEscUJBQXFCO1FBQ3ZCRCxhQUFhb0IsS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCbEIsbUJBQWtCLG1CQUFpQko7SUFDNUU7SUFFQSxPQUFPRztBQUNUIn0=
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.955",
4
+ "version": "0.0.957",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,13 +12,13 @@ const { florenceLexerFromCombinedCustomGrammar } = lexersUtilities,
12
12
  { florenceParserFromCombinedCustomGrammar } = parsersUtilities;
13
13
 
14
14
  export default class ReleaseContext {
15
- constructor(log, json, name, entries, lexer, parser, verified, fileContexts, customGrammar, loggingDisabled, dependencyReleaseContexts) {
15
+ constructor(log, json, name, lexer, parser, entries, verified, fileContexts, customGrammar, loggingDisabled, dependencyReleaseContexts) {
16
16
  this.log = log;
17
17
  this.json = json;
18
18
  this.name = name;
19
- this.entries = entries;
20
19
  this.lexer = lexer;
21
20
  this.parser = parser;
21
+ this.entries = entries;
22
22
  this.verified = verified;
23
23
  this.fileContexts = fileContexts;
24
24
  this.customGrammar = customGrammar;
@@ -38,10 +38,6 @@ export default class ReleaseContext {
38
38
  return this.name;
39
39
  }
40
40
 
41
- getEntries() {
42
- return this.entries;
43
- }
44
-
45
41
  getLexer() {
46
42
  return this.lexer;
47
43
  }
@@ -50,6 +46,10 @@ export default class ReleaseContext {
50
46
  return this.parser;
51
47
  }
52
48
 
49
+ getEntries() {
50
+ return this.entries;
51
+ }
52
+
53
53
  isVerified() {
54
54
  return this.verified;
55
55
  }
@@ -82,10 +82,6 @@ export default class ReleaseContext {
82
82
  this.name = name;
83
83
  }
84
84
 
85
- setEntries(entries) {
86
- this.entries = entries;
87
- }
88
-
89
85
  setLexer(lexer) {
90
86
  this.lexer = lexer;
91
87
  }
@@ -94,6 +90,10 @@ export default class ReleaseContext {
94
90
  this.parser = parser;
95
91
  }
96
92
 
93
+ setEntries(entries) {
94
+ this.entries = entries;
95
+ }
96
+
97
97
  setVerified(verified) {
98
98
  this.verified = verified;
99
99
  }
@@ -382,12 +382,6 @@ export default class ReleaseContext {
382
382
  return released;
383
383
  }
384
384
 
385
- isInitialised() {
386
- const initialised = (this.dependencyReleaseContexts !== null); ///
387
-
388
- return initialised;
389
- }
390
-
391
385
  getReleaseName() {
392
386
  const name = this.getName(),
393
387
  releaseName = name; ///
@@ -510,7 +504,7 @@ export default class ReleaseContext {
510
504
  customGrammar = customGrammarFromNameAndEntries(name, entries),
511
505
  loggingDisabled = false,
512
506
  dependencyReleaseContexts = null,
513
- releaseContext = new ReleaseContext(log, json, name, entries, lexer, parser, verified, fileContexts, customGrammar, loggingDisabled, dependencyReleaseContexts);
507
+ releaseContext = new ReleaseContext(log, json, name, lexer, parser, entries, verified, fileContexts, customGrammar, loggingDisabled, dependencyReleaseContexts);
514
508
 
515
509
  return releaseContext;
516
510
  }
package/src/proofStep.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import Substitutions from "./substitutions";
4
- import metaLevelUnifier from "./unifier/metaLevel";
4
+ import intrinsicLevelUnifier from "./unifier/intrinsicLevel";
5
5
 
6
6
  export default class ProofStep {
7
7
  constructor(subproofNode, statementNode) {
@@ -69,7 +69,7 @@ function unifyStatementAgainstStatement(statementNodeA, statementNodeB, equivale
69
69
  const substitutions = Substitutions.fromNothing(),
70
70
  nodeA = statementNodeA, ///
71
71
  nodeB = statementNodeB, ///
72
- unified = metaLevelUnifier.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
72
+ unified = intrinsicLevelUnifier.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
73
73
 
74
74
  if (unified) {
75
75
  const substitutionsUnifiedAgainstEquivalences = substitutions.unifyAgainstEquivalences(equivalences, localContextA, localContextB);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  export default function verifyReleaseContext(dependency, dependentName, dependentReleased, context) {
4
- let releaseContextInitialised = false;
4
+ let releaseContextVerified = false;
5
5
 
6
6
  const { releaseContextMap } = context,
7
7
  dependencyName = dependency.getName(),
@@ -13,10 +13,10 @@ export default function verifyReleaseContext(dependency, dependentName, dependen
13
13
 
14
14
  log.error(`Unable to verify the '${dependencyName}' dependency's context because it has not been created.`);
15
15
  } else {
16
- const verified = releaseContext.isInitialised();
16
+ const verified = releaseContext.isVerified();
17
17
 
18
18
  if (verified) {
19
- releaseContextInitialised = true;
19
+ releaseContextVerified = true;
20
20
  } else {
21
21
  const released = releaseContext.isReleased();
22
22
 
@@ -31,15 +31,15 @@ export default function verifyReleaseContext(dependency, dependentName, dependen
31
31
 
32
32
  dependentReleased = released; ///
33
33
 
34
- releaseContextInitialised = dependencies.everyDependency((dependency) => { ///
35
- const releaseContextInitialised = verifyReleaseContext(dependency, dependentName, dependentReleased, context);
34
+ releaseContextVerified = dependencies.everyDependency((dependency) => { ///
35
+ const releaseContextVerified = verifyReleaseContext(dependency, dependentName, dependentReleased, context);
36
36
 
37
- if (releaseContextInitialised) {
37
+ if (releaseContextVerified) {
38
38
  return true;
39
39
  }
40
40
  });
41
41
 
42
- if (releaseContextInitialised) {
42
+ if (releaseContextVerified) {
43
43
  const releaseContexts = retrieveReleaseContexts(releaseContext, releaseContextMap);
44
44
 
45
45
  releaseContext.verify(releaseContexts);
@@ -48,7 +48,7 @@ export default function verifyReleaseContext(dependency, dependentName, dependen
48
48
  }
49
49
  }
50
50
 
51
- return releaseContextInitialised;
51
+ return releaseContextVerified;
52
52
  }
53
53
 
54
54
  function retrieveReleaseContexts(releaseContext, releaseContextMap) {
@@ -6,8 +6,8 @@ import TermForVariableSubstitution from "./termForVariable";
6
6
  import unifyStatementAgainstStatement from "../unify/statementAtainstStatement";
7
7
 
8
8
  import { nodeQuery } from "../utilities/query";
9
- import { bracketedStatementChildNodeFromStatementNode } from "../utilities/match";
10
9
  import { statementNodeFromStatementString, metavariableNodeFromMetavariableString } from "../utilities/node";
10
+ import { matchStatementModuloBrackets, bracketedStatementChildNodeFromStatementNode } from "../utilities/match";
11
11
 
12
12
  const metavariableNodeQuery = nodeQuery("/statement/metavariable!");
13
13
 
@@ -38,6 +38,21 @@ export default class StatementForMetavariableSubstitution extends Substitution {
38
38
  return node;
39
39
  }
40
40
 
41
+ matchStatementNode(statementNode) {
42
+ const statementNodeA = statementNode, ///
43
+ statementNodeB = this.statementNode, ///
44
+ statementNodesMatch = matchStatementModuloBrackets(statementNodeA, statementNodeB),
45
+ statementNodeMatches = statementNodesMatch; ///
46
+
47
+ return statementNodeMatches;
48
+ }
49
+
50
+ matchMetavariableNode(metavariableNode) {
51
+ const metavariableNodeMatches = this.metavariableNode.match(metavariableNode);
52
+
53
+ return metavariableNodeMatches;
54
+ }
55
+
41
56
  unifyStatement(statementNode, substitutions, localContextA, localContextB) {
42
57
  let statementNodeMatches;
43
58
 
@@ -60,12 +75,6 @@ export default class StatementForMetavariableSubstitution extends Substitution {
60
75
  return statementNodeMatches;
61
76
  }
62
77
 
63
- matchMetavariableNode(metavariableNode) {
64
- const matchesMetavariableNode = this.metavariableNode.match(metavariableNode);
65
-
66
- return matchesMetavariableNode;
67
- }
68
-
69
78
  unifyAgainstEquivalence(equivalence, substitutions, localContextA, localContextB) {
70
79
  let unifiedAgainstEquivalence = false; ///
71
80
 
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ import shim from "../shim";
4
+ import Unifier from "../unifier";
5
+ import unifyVariableAgainstTerm from "../unify/variableAgainstTerm";
6
+
7
+ import { nodeQuery } from "../utilities/query";
8
+
9
+ const termNodeQuery = nodeQuery("/term!"),
10
+ termVariableNodeQuery = nodeQuery("/term/variable!");
11
+
12
+ class IntrinsicLevelUnifier extends Unifier {
13
+ unify(nodeA, nodeB, substitutions, localContextA, localContextB) {
14
+ let unified;
15
+
16
+ const nonTerminalNodeA = nodeA, ///
17
+ nonTerminalNodeB = nodeB, ///
18
+ nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB);
19
+
20
+ unified = nonTerminalNodeUnified; ///
21
+
22
+ return unified;
23
+ }
24
+
25
+ static maps = [
26
+ {
27
+ nodeQueryA: termVariableNodeQuery,
28
+ nodeQueryB: termNodeQuery,
29
+ unify: (termVariableNodeA, termNodeB, substitutions, localContextA, localContextB) => {
30
+ const variableNodeA = termVariableNodeA, ///
31
+ variableUnifiedAgainstTerm = unifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB);
32
+
33
+ return variableUnifiedAgainstTerm;
34
+ }
35
+ }
36
+ ];
37
+ }
38
+
39
+ const intrinsicLevelUnifier = new IntrinsicLevelUnifier();
40
+
41
+ Object.assign(shim, {
42
+ intrinsicLevelUnifier
43
+ });
44
+
45
+ export default intrinsicLevelUnifier;
@@ -14,7 +14,9 @@ export default function verifyConstructorDeclaration(constructorDeclarationNode,
14
14
  const termNode = termNodeQuery(constructorDeclarationNode),
15
15
  typeNode = typeNodeQuery(constructorDeclarationNode),
16
16
  termString = fileContext.nodeAsString(termNode),
17
- typeString = fileContext.nodeAsString(typeNode);
17
+ typeString = (typeNode === null) ?
18
+ EMPTY_STRING :
19
+ fileContext.nodeAsString(typeNode);
18
20
 
19
21
  (typeString === EMPTY_STRING) ?
20
22
  fileContext.trace(`Verifying the '${termString}' constructor declaration...`, constructorDeclarationNode) :
@@ -17,7 +17,9 @@ export default function verifyTypeDeclaration(typeDeclarationNode, fileContext)
17
17
  typeNode = firstTypeNode, ///
18
18
  superTypeNode = secondTypeNode, ///
19
19
  typeString = fileContext.nodeAsString(typeNode),
20
- superTypeString = fileContext.nodeAsString(superTypeNode);
20
+ superTypeString = (superTypeNode === null) ?
21
+ EMPTY_STRING :
22
+ fileContext.nodeAsString(superTypeNode);
21
23
 
22
24
  (superTypeString === EMPTY_STRING) ?
23
25
  fileContext.trace(`Verifying the '${typeString}' type declaration...`, typeDeclarationNode) :
@@ -17,24 +17,27 @@ export default function verifyPremise(premiseNode, premises, localContext) {
17
17
 
18
18
  localContext.trace(`Verifying the '${premiseString}' premise...`, premiseNode);
19
19
 
20
- const unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode),
21
- derived = false,
22
- assignments = [],
23
- unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
20
+ const unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode);
24
21
 
25
- if (unqualifiedStatementVerified) {
26
- const assignmentAssigned = assignAssignment(assignments, localContext);
22
+ if (unqualifiedStatementNode !== null) {
23
+ const derived = false,
24
+ assignments = [],
25
+ unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
27
26
 
28
- if (assignmentAssigned) {
29
- const statementNode = statementNodeQuery(unqualifiedStatementNode),
30
- metaproofStep = ProofStep.fromStatementNode(statementNode),
31
- premise = Premise.fromStatementNode(statementNode);
27
+ if (unqualifiedStatementVerified) {
28
+ const assignmentAssigned = assignAssignment(assignments, localContext);
32
29
 
33
- premises.push(premise);
30
+ if (assignmentAssigned) {
31
+ const statementNode = statementNodeQuery(unqualifiedStatementNode),
32
+ metaproofStep = ProofStep.fromStatementNode(statementNode),
33
+ premise = Premise.fromStatementNode(statementNode);
34
34
 
35
- localContext.addProofStep(metaproofStep);
35
+ premises.push(premise);
36
36
 
37
- premiseVerified = true;
37
+ localContext.addProofStep(metaproofStep);
38
+
39
+ premiseVerified = true;
40
+ }
38
41
  }
39
42
  }
40
43