occam-verify-cli 0.0.952 → 0.0.956

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==
@@ -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.952",
4
+ "version": "0.0.956",
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/index.js CHANGED
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  export { default as Log } from "./log";
4
-
5
4
  export { default as verifyRelease } from "./verify/release";
6
5
  export { default as ReleaseContext } from "./context/release";
7
-
6
+ export { default as createReleaseContext } from "./releaseContext/create";
7
+ export { default as verifyReleaseContext } from "./releaseContext/verify";
8
8
  export { default as customGrammarUtilities } from "./utilities/customGrammar";
9
9
 
10
- export { default as createReleaseContext } from "./releaseContext/create";
11
- export { default as initialiseReleaseContext } from "./releaseContext/initialise";
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
- export default function initialiseReleaseContext(dependency, dependentName, dependentReleased, context) {
4
- let releaseContextInitialised = false;
3
+ export default function verifyReleaseContext(dependency, dependentName, dependentReleased, context) {
4
+ let releaseContextVerified = false;
5
5
 
6
6
  const { releaseContextMap } = context,
7
7
  dependencyName = dependency.getName(),
@@ -11,19 +11,19 @@ export default function initialiseReleaseContext(dependency, dependentName, depe
11
11
  if (releaseContext === null) {
12
12
  const { log } = context;
13
13
 
14
- log.error(`Unable to initialise the '${dependencyName}' dependency's context because it has not been created.`);
14
+ log.error(`Unable to verify the '${dependencyName}' dependency's context because it has not been created.`);
15
15
  } else {
16
- const initialised = releaseContext.isInitialised();
16
+ const verified = releaseContext.isVerified();
17
17
 
18
- if (initialised) {
19
- releaseContextInitialised = true;
18
+ if (verified) {
19
+ releaseContextVerified = true;
20
20
  } else {
21
21
  const released = releaseContext.isReleased();
22
22
 
23
23
  if (!released && dependentReleased) {
24
24
  const { log } = context;
25
25
 
26
- log.error(`Unable to initialise the '${dependencyName}' dependency's context because its '${dependentName}' dependent is a package.`);
26
+ log.error(`Unable to verify the '${dependencyName}' dependency's context because its '${dependentName}' dependent is a package.`);
27
27
  } else {
28
28
  const dependencies = releaseContext.getDependencies();
29
29
 
@@ -31,15 +31,15 @@ export default function initialiseReleaseContext(dependency, dependentName, depe
31
31
 
32
32
  dependentReleased = released; ///
33
33
 
34
- releaseContextInitialised = dependencies.everyDependency((dependency) => { ///
35
- const releaseContextInitialised = initialiseReleaseContext(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 initialiseReleaseContext(dependency, dependentName, depe
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;
@@ -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
 
@@ -17,26 +17,31 @@ export default function verifySupposition(suppositionNode, suppositions, localCo
17
17
 
18
18
  localContext.trace(`Verifying the '${suppositionString}' supposition...`, suppositionNode);
19
19
 
20
- const derived = false,
21
- assignments = [],
22
- unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode),
23
- unqualifiedStatementVerified = verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, derived, localContext);
20
+ const unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode);
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
- suppositionVerified = assignmentAssigned; ///
29
- }
27
+ if (unqualifiedStatementVerified) {
28
+ const assignmentAssigned = assignAssignment(assignments, localContext);
30
29
 
31
- if (suppositionVerified) {
32
- const statementNode = statementNodeQuery(unqualifiedStatementNode),
33
- supposition = Supposition.fromStatementNode(statementNode),
34
- proofStep = ProofStep.fromStatementNode(statementNode);
30
+ if (assignmentAssigned) {
31
+ const statementNode = statementNodeQuery(unqualifiedStatementNode),
32
+ supposition = Supposition.fromStatementNode(statementNode),
33
+ proofStep = ProofStep.fromStatementNode(statementNode);
35
34
 
36
- suppositions.push(supposition);
35
+ suppositions.push(supposition);
37
36
 
38
- localContext.addProofStep(proofStep);
37
+ localContext.addProofStep(proofStep);
39
38
 
39
+ suppositionVerified = true;
40
+ }
41
+ }
42
+ }
43
+
44
+ if (suppositionVerified) {
40
45
  localContext.debug(`...verified the '${suppositionString}' supposition.`, suppositionNode);
41
46
  }
42
47