occam-verify-cli 1.0.421 → 1.0.428

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/lib/action/verify.js +7 -3
  2. package/lib/context/file.js +8 -44
  3. package/lib/context/local.js +8 -26
  4. package/lib/context/nominal.js +64 -0
  5. package/lib/context/release.js +2 -2
  6. package/lib/context/temporary.js +6 -58
  7. package/lib/element/assertion/contained.js +303 -0
  8. package/lib/element/assertion/defined.js +318 -0
  9. package/lib/element/assertion/property.js +299 -0
  10. package/lib/element/assertion/satisfies.js +264 -0
  11. package/lib/element/assertion/subproof.js +178 -0
  12. package/lib/element/assertion/type.js +294 -0
  13. package/lib/{ontology → element}/assertion.js +9 -9
  14. package/lib/element/assumption.js +365 -0
  15. package/lib/element/axiom.js +332 -0
  16. package/lib/element/axiomLemmaTheoremConjecture.js +346 -0
  17. package/lib/element/conclusion.js +151 -0
  18. package/lib/{ontology → element}/conjecture.js +7 -14
  19. package/lib/element/declaration/combinator.js +161 -0
  20. package/lib/element/declaration/complexType.js +343 -0
  21. package/lib/element/declaration/constructor.js +193 -0
  22. package/lib/element/declaration/metavariable.js +193 -0
  23. package/lib/element/declaration/simpleType.js +240 -0
  24. package/lib/element/declaration/typePrefix.js +179 -0
  25. package/lib/element/declaration/variable.js +196 -0
  26. package/lib/{ontology → element}/declaration.js +9 -9
  27. package/lib/element/deduction.js +207 -0
  28. package/lib/element/derivation.js +96 -0
  29. package/lib/element/equality.js +275 -0
  30. package/lib/element/equivalence.js +312 -0
  31. package/lib/element/equivalences.js +264 -0
  32. package/lib/{ontology → element}/error.js +12 -12
  33. package/lib/element/frame.js +387 -0
  34. package/lib/element/hypothesis.js +195 -0
  35. package/lib/element/judgement.js +243 -0
  36. package/lib/element/label.js +198 -0
  37. package/lib/{ontology → element}/lemma.js +7 -7
  38. package/lib/{ontology → element}/metaLemma.js +8 -8
  39. package/lib/element/metaLemmaMetatheorem.js +234 -0
  40. package/lib/{ontology → element}/metaType.js +18 -11
  41. package/lib/{ontology → element}/metatheorem.js +8 -8
  42. package/lib/element/metavariable.js +459 -0
  43. package/lib/element/parameter.js +108 -0
  44. package/lib/element/premise.js +310 -0
  45. package/lib/element/procedureCall.js +243 -0
  46. package/lib/{ontology → element}/procedureReference.js +3 -3
  47. package/lib/{ontology → element}/proof.js +4 -4
  48. package/lib/element/property.js +128 -0
  49. package/lib/element/propertyRelation.js +195 -0
  50. package/lib/element/reference.js +304 -0
  51. package/lib/element/rule.js +373 -0
  52. package/lib/element/section.js +255 -0
  53. package/lib/element/signature.js +217 -0
  54. package/lib/element/statement/combinator/bracketed.js +166 -0
  55. package/lib/element/statement/combinator.js +105 -0
  56. package/lib/element/statement.js +386 -0
  57. package/lib/element/step.js +274 -0
  58. package/lib/element/subDerivation.js +137 -0
  59. package/lib/element/subproof.js +240 -0
  60. package/lib/element/substitution/frame.js +216 -0
  61. package/lib/{ontology → element}/substitution/reference.js +5 -4
  62. package/lib/{ontology → element}/substitution/statement.js +7 -6
  63. package/lib/element/substitution/term.js +265 -0
  64. package/lib/element/substitution.js +206 -0
  65. package/lib/element/substitutions.js +425 -0
  66. package/lib/element/supposition.js +323 -0
  67. package/lib/{ontology → element/term}/constructor/bracketed.js +11 -7
  68. package/lib/element/term/constructor.js +172 -0
  69. package/lib/element/term.js +322 -0
  70. package/lib/{ontology → element}/theorem.js +8 -8
  71. package/lib/element/type.js +490 -0
  72. package/lib/element/typePrefix.js +99 -0
  73. package/lib/element/variable.js +345 -0
  74. package/lib/elements.js +27 -0
  75. package/lib/mixins/statement/verify.js +14 -14
  76. package/lib/mixins/step/unify.js +12 -12
  77. package/lib/mixins/term/verify.js +4 -4
  78. package/lib/node/equivalence.js +116 -0
  79. package/lib/node/substitution/frame.js +15 -1
  80. package/lib/node/substitution/statement.js +37 -1
  81. package/lib/node/substitution/term.js +15 -1
  82. package/lib/nonTerminalNodeMap.js +4 -3
  83. package/lib/preamble.js +63 -63
  84. package/lib/process/assign.js +58 -0
  85. package/lib/process/instantiate.js +74 -7
  86. package/lib/process/unify.js +26 -26
  87. package/lib/process/verify.js +21 -21
  88. package/lib/ruleNames.js +5 -1
  89. package/lib/utilities/brackets.js +9 -18
  90. package/lib/utilities/customGrammar.js +1 -1
  91. package/lib/utilities/element.js +1141 -0
  92. package/lib/utilities/json.js +32 -32
  93. package/lib/utilities/node.js +49 -61
  94. package/lib/utilities/statement.js +83 -0
  95. package/lib/utilities/string.js +80 -57
  96. package/package.json +6 -6
  97. package/src/action/verify.js +8 -1
  98. package/src/context/file.js +9 -39
  99. package/src/context/local.js +5 -11
  100. package/src/context/nominal.js +30 -0
  101. package/src/context/release.js +1 -1
  102. package/src/context/temporary.js +6 -63
  103. package/src/{ontology → element}/assertion/contained.js +4 -25
  104. package/src/{ontology → element}/assertion/defined.js +7 -26
  105. package/src/{ontology → element}/assertion/property.js +7 -26
  106. package/src/{ontology → element}/assertion/satisfies.js +5 -53
  107. package/src/{ontology → element}/assertion/subproof.js +3 -32
  108. package/src/{ontology → element}/assertion/type.js +7 -26
  109. package/src/{ontology → element}/assertion.js +6 -6
  110. package/src/{ontology → element}/assumption.js +3 -27
  111. package/src/{ontology → element}/axiom.js +4 -11
  112. package/src/{ontology/topLevelAssertion.js → element/axiomLemmaTheoremConjecture.js} +9 -105
  113. package/src/{ontology → element}/conclusion.js +4 -19
  114. package/src/{ontology → element}/conjecture.js +4 -11
  115. package/src/{ontology → element}/declaration/combinator.js +3 -14
  116. package/src/{ontology → element}/declaration/complexType.js +3 -19
  117. package/src/{ontology → element}/declaration/constructor.js +3 -14
  118. package/src/{ontology → element}/declaration/metavariable.js +3 -39
  119. package/src/{ontology → element}/declaration/simpleType.js +3 -19
  120. package/src/{ontology → element}/declaration/typePrefix.js +3 -15
  121. package/src/{ontology → element}/declaration/variable.js +3 -14
  122. package/src/{ontology → element}/declaration.js +6 -6
  123. package/src/{ontology → element}/deduction.js +9 -22
  124. package/src/{ontology → element}/derivation.js +2 -32
  125. package/src/{ontology → element}/equality.js +18 -42
  126. package/src/{ontology → element}/equivalence.js +37 -22
  127. package/src/{ontology → element}/equivalences.js +1 -2
  128. package/src/{ontology → element}/error.js +8 -8
  129. package/src/{ontology → element}/frame.js +8 -56
  130. package/src/{ontology → element}/hypothesis.js +5 -5
  131. package/src/{ontology → element}/judgement.js +7 -7
  132. package/src/{ontology → element}/label.js +3 -3
  133. package/src/{ontology → element}/lemma.js +4 -4
  134. package/src/{ontology → element}/metaLemma.js +5 -5
  135. package/src/{ontology/topLevelMetaAssertion.js → element/metaLemmaMetatheorem.js} +11 -11
  136. package/src/{ontology → element}/metaType.js +11 -7
  137. package/src/{ontology → element}/metatheorem.js +5 -5
  138. package/src/{ontology → element}/metavariable.js +10 -60
  139. package/src/{ontology → element}/parameter.js +1 -1
  140. package/src/{ontology → element}/premise.js +14 -14
  141. package/src/{ontology → element}/procedureCall.js +4 -4
  142. package/src/{ontology → element}/procedureReference.js +1 -1
  143. package/src/{ontology → element}/proof.js +3 -3
  144. package/src/{ontology → element}/property.js +7 -15
  145. package/src/{ontology → element}/propertyRelation.js +5 -11
  146. package/src/{ontology → element}/reference.js +5 -19
  147. package/src/{ontology → element}/rule.js +13 -13
  148. package/src/{ontology → element}/section.js +10 -10
  149. package/src/{ontology → element}/signature.js +12 -15
  150. package/src/element/statement/combinator/bracketed.js +38 -0
  151. package/src/element/statement/combinator.js +59 -0
  152. package/src/{ontology → element}/statement.js +11 -27
  153. package/src/{ontology → element}/step.js +10 -44
  154. package/src/{ontology → element}/subDerivation.js +3 -24
  155. package/src/{ontology → element}/subproof.js +3 -43
  156. package/src/{ontology → element}/substitution/frame.js +4 -21
  157. package/src/{ontology → element}/substitution/reference.js +3 -3
  158. package/src/{ontology → element}/substitution/statement.js +6 -10
  159. package/src/{ontology → element}/substitution/term.js +7 -23
  160. package/src/{ontology → element}/substitutions.js +1 -1
  161. package/src/{ontology → element}/supposition.js +10 -10
  162. package/src/{ontology → element/term}/constructor/bracketed.js +12 -13
  163. package/src/element/term/constructor.js +82 -0
  164. package/src/{ontology → element}/term.js +6 -38
  165. package/src/{ontology → element}/theorem.js +5 -5
  166. package/src/{ontology → element}/type.js +17 -64
  167. package/src/{ontology → element}/typePrefix.js +8 -12
  168. package/src/{ontology → element}/variable.js +9 -20
  169. package/src/elements.js +13 -0
  170. package/src/mixins/statement/verify.js +4 -4
  171. package/src/mixins/step/unify.js +6 -6
  172. package/src/mixins/term/verify.js +3 -3
  173. package/src/node/equivalence.js +16 -0
  174. package/src/node/substitution/frame.js +14 -0
  175. package/src/node/substitution/statement.js +40 -0
  176. package/src/node/substitution/term.js +15 -0
  177. package/src/nonTerminalNodeMap.js +4 -1
  178. package/src/preamble.js +62 -62
  179. package/src/process/assign.js +59 -0
  180. package/src/process/instantiate.js +71 -15
  181. package/src/process/unify.js +37 -39
  182. package/src/process/verify.js +20 -20
  183. package/src/ruleNames.js +1 -0
  184. package/src/utilities/brackets.js +12 -17
  185. package/src/utilities/customGrammar.js +3 -3
  186. package/src/utilities/element.js +1399 -0
  187. package/src/utilities/json.js +31 -31
  188. package/src/utilities/node.js +56 -64
  189. package/src/utilities/{context.js → statement.js} +10 -39
  190. package/src/utilities/string.js +83 -53
  191. package/lib/assignment/equality.js +0 -62
  192. package/lib/assignment/judgement.js +0 -62
  193. package/lib/assignment/variable.js +0 -64
  194. package/lib/context/bracketed/combinator.js +0 -121
  195. package/lib/context/bracketed/constructor.js +0 -121
  196. package/lib/context/bracketted.js +0 -86
  197. package/lib/context/partial/metavariable.js +0 -180
  198. package/lib/context/partial/statement.js +0 -180
  199. package/lib/context/partial/term.js +0 -192
  200. package/lib/context/partial/variable.js +0 -192
  201. package/lib/context/partial.js +0 -93
  202. package/lib/ontology/assertion/contained.js +0 -357
  203. package/lib/ontology/assertion/defined.js +0 -331
  204. package/lib/ontology/assertion/property.js +0 -313
  205. package/lib/ontology/assertion/satisfies.js +0 -302
  206. package/lib/ontology/assertion/subproof.js +0 -240
  207. package/lib/ontology/assertion/type.js +0 -308
  208. package/lib/ontology/assumption.js +0 -383
  209. package/lib/ontology/axiom.js +0 -339
  210. package/lib/ontology/combinator/bracketed.js +0 -202
  211. package/lib/ontology/combinator.js +0 -155
  212. package/lib/ontology/conclusion.js +0 -201
  213. package/lib/ontology/constructor.js +0 -185
  214. package/lib/ontology/declaration/combinator.js +0 -210
  215. package/lib/ontology/declaration/complexType.js +0 -393
  216. package/lib/ontology/declaration/constructor.js +0 -242
  217. package/lib/ontology/declaration/metavariable.js +0 -257
  218. package/lib/ontology/declaration/simpleType.js +0 -290
  219. package/lib/ontology/declaration/typePrefix.js +0 -228
  220. package/lib/ontology/declaration/variable.js +0 -245
  221. package/lib/ontology/deduction.js +0 -215
  222. package/lib/ontology/derivation.js +0 -155
  223. package/lib/ontology/equality.js +0 -288
  224. package/lib/ontology/equivalence.js +0 -295
  225. package/lib/ontology/equivalences.js +0 -264
  226. package/lib/ontology/frame.js +0 -419
  227. package/lib/ontology/hypothesis.js +0 -190
  228. package/lib/ontology/judgement.js +0 -248
  229. package/lib/ontology/label.js +0 -198
  230. package/lib/ontology/metavariable.js +0 -502
  231. package/lib/ontology/parameter.js +0 -108
  232. package/lib/ontology/premise.js +0 -310
  233. package/lib/ontology/procedureCall.js +0 -243
  234. package/lib/ontology/property.js +0 -166
  235. package/lib/ontology/propertyRelation.js +0 -202
  236. package/lib/ontology/reference.js +0 -315
  237. package/lib/ontology/rule.js +0 -373
  238. package/lib/ontology/section.js +0 -255
  239. package/lib/ontology/signature.js +0 -217
  240. package/lib/ontology/statement.js +0 -398
  241. package/lib/ontology/step.js +0 -295
  242. package/lib/ontology/subDerivation.js +0 -147
  243. package/lib/ontology/subproof.js +0 -265
  244. package/lib/ontology/substitution/frame.js +0 -261
  245. package/lib/ontology/substitution/term.js +0 -269
  246. package/lib/ontology/substitution.js +0 -206
  247. package/lib/ontology/substitutions.js +0 -425
  248. package/lib/ontology/supposition.js +0 -323
  249. package/lib/ontology/term.js +0 -351
  250. package/lib/ontology/topLevelAssertion.js +0 -431
  251. package/lib/ontology/topLevelMetaAssertion.js +0 -234
  252. package/lib/ontology/type.js +0 -556
  253. package/lib/ontology/typePrefix.js +0 -99
  254. package/lib/ontology/variable.js +0 -343
  255. package/lib/ontology.js +0 -27
  256. package/lib/utilities/assignments.js +0 -19
  257. package/lib/utilities/context.js +0 -101
  258. package/lib/utilities/subproof.js +0 -42
  259. package/lib/utilities/type.js +0 -40
  260. package/src/assignment/equality.js +0 -29
  261. package/src/assignment/judgement.js +0 -29
  262. package/src/assignment/variable.js +0 -34
  263. package/src/context/bracketed/combinator.js +0 -31
  264. package/src/context/bracketed/constructor.js +0 -31
  265. package/src/context/bracketted.js +0 -41
  266. package/src/context/partial/metavariable.js +0 -39
  267. package/src/context/partial/statement.js +0 -39
  268. package/src/context/partial/term.js +0 -49
  269. package/src/context/partial/variable.js +0 -49
  270. package/src/context/partial.js +0 -71
  271. package/src/ontology/combinator/bracketed.js +0 -38
  272. package/src/ontology/combinator.js +0 -72
  273. package/src/ontology/constructor.js +0 -105
  274. package/src/ontology.js +0 -13
  275. package/src/utilities/assignments.js +0 -11
  276. package/src/utilities/subproof.js +0 -56
  277. package/src/utilities/type.js +0 -35
  278. /package/src/{ontology → element}/substitution.js +0 -0
@@ -0,0 +1,264 @@
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 _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
12
+ var _assertion = /*#__PURE__*/ _interop_require_default(require("../assertion"));
13
+ function _assert_this_initialized(self) {
14
+ if (self === void 0) {
15
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
+ }
17
+ return self;
18
+ }
19
+ function _call_super(_this, derived, args) {
20
+ derived = _get_prototype_of(derived);
21
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
22
+ }
23
+ function _class_call_check(instance, Constructor) {
24
+ if (!(instance instanceof Constructor)) {
25
+ throw new TypeError("Cannot call a class as a function");
26
+ }
27
+ }
28
+ function _defineProperties(target, props) {
29
+ for(var i = 0; i < props.length; i++){
30
+ var descriptor = props[i];
31
+ descriptor.enumerable = descriptor.enumerable || false;
32
+ descriptor.configurable = true;
33
+ if ("value" in descriptor) descriptor.writable = true;
34
+ Object.defineProperty(target, descriptor.key, descriptor);
35
+ }
36
+ }
37
+ function _create_class(Constructor, protoProps, staticProps) {
38
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
39
+ if (staticProps) _defineProperties(Constructor, staticProps);
40
+ return Constructor;
41
+ }
42
+ function _define_property(obj, key, value) {
43
+ if (key in obj) {
44
+ Object.defineProperty(obj, key, {
45
+ value: value,
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true
49
+ });
50
+ } else {
51
+ obj[key] = value;
52
+ }
53
+ return obj;
54
+ }
55
+ function _get_prototype_of(o) {
56
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
57
+ return o.__proto__ || Object.getPrototypeOf(o);
58
+ };
59
+ return _get_prototype_of(o);
60
+ }
61
+ function _inherits(subClass, superClass) {
62
+ if (typeof superClass !== "function" && superClass !== null) {
63
+ throw new TypeError("Super expression must either be null or a function");
64
+ }
65
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
66
+ constructor: {
67
+ value: subClass,
68
+ writable: true,
69
+ configurable: true
70
+ }
71
+ });
72
+ if (superClass) _set_prototype_of(subClass, superClass);
73
+ }
74
+ function _interop_require_default(obj) {
75
+ return obj && obj.__esModule ? obj : {
76
+ default: obj
77
+ };
78
+ }
79
+ function _getRequireWildcardCache(nodeInterop) {
80
+ if (typeof WeakMap !== "function") return null;
81
+ var cacheBabelInterop = new WeakMap();
82
+ var cacheNodeInterop = new WeakMap();
83
+ return (_getRequireWildcardCache = function(nodeInterop) {
84
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
85
+ })(nodeInterop);
86
+ }
87
+ function _interop_require_wildcard(obj, nodeInterop) {
88
+ if (!nodeInterop && obj && obj.__esModule) {
89
+ return obj;
90
+ }
91
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
92
+ return {
93
+ default: obj
94
+ };
95
+ }
96
+ var cache = _getRequireWildcardCache(nodeInterop);
97
+ if (cache && cache.has(obj)) {
98
+ return cache.get(obj);
99
+ }
100
+ var newObj = {
101
+ __proto__: null
102
+ };
103
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
104
+ for(var key in obj){
105
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
106
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
107
+ if (desc && (desc.get || desc.set)) {
108
+ Object.defineProperty(newObj, key, desc);
109
+ } else {
110
+ newObj[key] = obj[key];
111
+ }
112
+ }
113
+ }
114
+ newObj.default = obj;
115
+ if (cache) {
116
+ cache.set(obj, newObj);
117
+ }
118
+ return newObj;
119
+ }
120
+ function _possible_constructor_return(self, call) {
121
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
122
+ return call;
123
+ }
124
+ return _assert_this_initialized(self);
125
+ }
126
+ function _set_prototype_of(o, p) {
127
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
128
+ o.__proto__ = p;
129
+ return o;
130
+ };
131
+ return _set_prototype_of(o, p);
132
+ }
133
+ function _type_of(obj) {
134
+ "@swc/helpers - typeof";
135
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
136
+ }
137
+ function _is_native_reflect_construct() {
138
+ try {
139
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
140
+ } catch (_) {}
141
+ return (_is_native_reflect_construct = function() {
142
+ return !!result;
143
+ })();
144
+ }
145
+ var _SatisfiesAssertion;
146
+ var _default = (0, _elements.define)((_SatisfiesAssertion = /*#__PURE__*/ function(Assertion) {
147
+ _inherits(SatisfiesAssertion, Assertion);
148
+ function SatisfiesAssertion(string, node, signature, reference) {
149
+ _class_call_check(this, SatisfiesAssertion);
150
+ var _this;
151
+ _this = _call_super(this, SatisfiesAssertion, [
152
+ string,
153
+ node
154
+ ]);
155
+ _this.signature = signature;
156
+ _this.reference = reference;
157
+ return _this;
158
+ }
159
+ _create_class(SatisfiesAssertion, [
160
+ {
161
+ key: "getSignature",
162
+ value: function getSignature() {
163
+ return this.signature;
164
+ }
165
+ },
166
+ {
167
+ key: "getReference",
168
+ value: function getReference() {
169
+ return this.reference;
170
+ }
171
+ },
172
+ {
173
+ key: "compareSubstitutions",
174
+ value: function compareSubstitutions(substitutions, context) {
175
+ return this.signature.compareSubstitutions(substitutions, context);
176
+ }
177
+ },
178
+ {
179
+ key: "correlateSubstitutions",
180
+ value: function correlateSubstitutions(substitutions, context) {
181
+ return this.signature.correlateSubstitutions(substitutions, context);
182
+ }
183
+ },
184
+ {
185
+ key: "verify",
186
+ value: function verify(assignments, stated, context) {
187
+ var verifies = false;
188
+ var satisfiesAssertionString = this.getString(); ///
189
+ context.trace("Verifying the '".concat(satisfiesAssertionString, "' satisfies assertion..."));
190
+ var signatureVerifies = this.verifySignature(assignments, stated, context);
191
+ if (signatureVerifies) {
192
+ var referenceVerifies = this.verifyReference(assignments, stated, context);
193
+ verifies = referenceVerifies; ///
194
+ }
195
+ if (verifies) {
196
+ context.debug("...verified the '".concat(satisfiesAssertionString, "' satisfies assertion."));
197
+ }
198
+ return verifies;
199
+ }
200
+ },
201
+ {
202
+ key: "verifySignature",
203
+ value: function verifySignature(assignments, stated, context) {
204
+ var signatureVerifies = this.signature.verify(context);
205
+ return signatureVerifies;
206
+ }
207
+ },
208
+ {
209
+ key: "verifyReference",
210
+ value: function verifyReference(assignments, stated, context) {
211
+ var referenceVerifies = false;
212
+ var referenceString = this.reference.getString();
213
+ context.trace("Verifying the '".concat(referenceString, "' reference..."));
214
+ var axiom = context.findAxiomByReference(this.reference, context);
215
+ if (axiom !== null) {
216
+ var axiomSatisfiable = axiom.isSatisfiable();
217
+ if (axiomSatisfiable) {
218
+ referenceVerifies = true;
219
+ }
220
+ }
221
+ if (referenceVerifies) {
222
+ context.debug("...verified the '".concat(referenceString, "' reference."));
223
+ }
224
+ return referenceVerifies;
225
+ }
226
+ },
227
+ {
228
+ key: "unifyStatementAndStepsOrSubproofs",
229
+ value: function unifyStatementAndStepsOrSubproofs(statement, stepsOrSubproofs, context) {
230
+ var statementUnifies = false;
231
+ var statementString = statement.getString(), satisfiesAssertionString = this.getString(); ///
232
+ context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(satisfiesAssertionString, "' satisfies assertion..."));
233
+ this.signature.verify(context);
234
+ var axiom = context.findAxiomByReference(this.reference), satisfiable = axiom.isSatisfiable();
235
+ if (satisfiable) {
236
+ var substitutions;
237
+ var Substitutions = _elements.default.Substitutions;
238
+ substitutions = Substitutions.fromNothing();
239
+ var signatureMatches = axiom.matchSignature(this.signature, substitutions, context);
240
+ if (signatureMatches) {
241
+ var substitutionsB = substitutions; ///
242
+ substitutions = Substitutions.fromNothing();
243
+ statementUnifies = axiom.unifyStatementAndStepsOrSubproofs(statement, stepsOrSubproofs, substitutions, context);
244
+ if (statementUnifies) {
245
+ var substitutionsA = substitutions, substitutionsMatch = substitutionsA.correlateSubstitutions(substitutionsB);
246
+ if (!substitutionsMatch) {
247
+ var substitutionsAString = substitutionsA.asString(), substitutionsBString = substitutionsB.asString();
248
+ context.trace("THe signature's ".concat(substitutionsBString, " substitutions do not correlate with the unification's ").concat(substitutionsAString, " substitutions."));
249
+ statementUnifies = false;
250
+ }
251
+ }
252
+ }
253
+ }
254
+ if (statementUnifies) {
255
+ context.debug("...unified the '".concat(statementString, "' statement with the '").concat(satisfiesAssertionString, "' satisfies assertion."));
256
+ }
257
+ return statementUnifies;
258
+ }
259
+ }
260
+ ]);
261
+ return SatisfiesAssertion;
262
+ }(_assertion.default), _define_property(_SatisfiesAssertion, "name", "SatisfiesAssertion"), _SatisfiesAssertion));
263
+
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2VydGlvbi9zYXRpc2ZpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFNhdGlzZmllc0Fzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbm9kZSwgc2lnbmF0dXJlLCByZWZlcmVuY2UpIHtcbiAgICBzdXBlcihzdHJpbmcsIG5vZGUpO1xuXG4gICAgdGhpcy5zaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gICAgdGhpcy5yZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gIH1cblxuICBnZXRTaWduYXR1cmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmF0dXJlO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZTtcbiAgfVxuXG4gIGNvbXBhcmVTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHsgcmV0dXJuIHRoaXMuc2lnbmF0dXJlLmNvbXBhcmVTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpOyB9XG5cbiAgY29ycmVsYXRlU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7IHJldHVybiB0aGlzLnNpZ25hdHVyZS5jb3JyZWxhdGVTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpOyB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHNhdGlzZmllc0Fzc2VydGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBzaWduYXR1cmVWZXJpZmllcyA9IHRoaXMudmVyaWZ5U2lnbmF0dXJlKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHNpZ25hdHVyZVZlcmlmaWVzKSB7XG4gICAgICBjb25zdCByZWZlcmVuY2VWZXJpZmllcyA9IHRoaXMudmVyaWZ5UmVmZXJlbmNlKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICB2ZXJpZmllcyA9IHJlZmVyZW5jZVZlcmlmaWVzOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVNpZ25hdHVyZShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlVmVyaWZpZXMgPSB0aGlzLnNpZ25hdHVyZS52ZXJpZnkoY29udGV4dCk7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlSZWZlcmVuY2UoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCByZWZlcmVuY2VWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgcmVmZXJlbmNlU3RyaW5nID0gdGhpcy5yZWZlcmVuY2UuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3JlZmVyZW5jZVN0cmluZ30nIHJlZmVyZW5jZS4uLmApO1xuXG4gICAgY29uc3QgYXhpb20gPSBjb250ZXh0LmZpbmRBeGlvbUJ5UmVmZXJlbmNlKHRoaXMucmVmZXJlbmNlLCBjb250ZXh0KTtcblxuICAgIGlmIChheGlvbSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYXhpb21TYXRpc2ZpYWJsZSA9IGF4aW9tLmlzU2F0aXNmaWFibGUoKTtcblxuICAgICAgaWYgKGF4aW9tU2F0aXNmaWFibGUpIHtcbiAgICAgICAgcmVmZXJlbmNlVmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyZWZlcmVuY2VWZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3JlZmVyZW5jZVN0cmluZ30nIHJlZmVyZW5jZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlVmVyaWZpZXM7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudEFuZFN0ZXBzT3JTdWJwcm9vZnMoc3RhdGVtZW50LCBzdGVwc09yU3VicHJvb2ZzLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7c2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nfScgc2F0aXNmaWVzIGFzc2VydGlvbi4uLmApO1xuXG4gICAgdGhpcy5zaWduYXR1cmUudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgY29uc3QgYXhpb20gPSBjb250ZXh0LmZpbmRBeGlvbUJ5UmVmZXJlbmNlKHRoaXMucmVmZXJlbmNlKSxcbiAgICAgICAgICBzYXRpc2ZpYWJsZSA9IGF4aW9tLmlzU2F0aXNmaWFibGUoKTtcblxuICAgIGlmIChzYXRpc2ZpYWJsZSkge1xuICAgICAgbGV0IHN1YnN0aXR1dGlvbnM7XG5cbiAgICAgIGNvbnN0IHsgU3Vic3RpdHV0aW9ucyB9ID0gZWxlbWVudHM7XG5cbiAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCk7XG5cbiAgICAgIGNvbnN0IHNpZ25hdHVyZU1hdGNoZXMgPSBheGlvbS5tYXRjaFNpZ25hdHVyZSh0aGlzLnNpZ25hdHVyZSwgc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICAgIGlmIChzaWduYXR1cmVNYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnNCID0gc3Vic3RpdHV0aW9uczsgLy8vXG5cbiAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKTtcblxuICAgICAgICBzdGF0ZW1lbnRVbmlmaWVzID0gYXhpb20udW5pZnlTdGF0ZW1lbnRBbmRTdGVwc09yU3VicHJvb2ZzKHN0YXRlbWVudCwgc3RlcHNPclN1YnByb29mcywgc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zQSA9IHN1YnN0aXR1dGlvbnMsIC8vL1xuICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNNYXRjaCA9IHN1YnN0aXR1dGlvbnNBLmNvcnJlbGF0ZVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uc0IpO1xuXG4gICAgICAgICAgaWYgKCFzdWJzdGl0dXRpb25zTWF0Y2gpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnNBU3RyaW5nID0gc3Vic3RpdHV0aW9uc0EuYXNTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNCU3RyaW5nID0gc3Vic3RpdHV0aW9uc0IuYXNTdHJpbmcoKTtcblxuICAgICAgICAgICAgY29udGV4dC50cmFjZShgVEhlIHNpZ25hdHVyZSdzICR7c3Vic3RpdHV0aW9uc0JTdHJpbmd9IHN1YnN0aXR1dGlvbnMgZG8gbm90IGNvcnJlbGF0ZSB3aXRoIHRoZSB1bmlmaWNhdGlvbidzICR7c3Vic3RpdHV0aW9uc0FTdHJpbmd9IHN1YnN0aXR1dGlvbnMuYCk7XG5cbiAgICAgICAgICAgIHN0YXRlbWVudFVuaWZpZXMgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3NhdGlzZmllc0Fzc2VydGlvblN0cmluZ30nIHNhdGlzZmllcyBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiU2F0aXNmaWVzQXNzZXJ0aW9uXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJTYXRpc2ZpZXNBc3NlcnRpb24iLCJzdHJpbmciLCJub2RlIiwic2lnbmF0dXJlIiwicmVmZXJlbmNlIiwiZ2V0U2lnbmF0dXJlIiwiZ2V0UmVmZXJlbmNlIiwiY29tcGFyZVN1YnN0aXR1dGlvbnMiLCJzdWJzdGl0dXRpb25zIiwiY29udGV4dCIsImNvcnJlbGF0ZVN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsInZlcmlmaWVzIiwic2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJzaWduYXR1cmVWZXJpZmllcyIsInZlcmlmeVNpZ25hdHVyZSIsInJlZmVyZW5jZVZlcmlmaWVzIiwidmVyaWZ5UmVmZXJlbmNlIiwiZGVidWciLCJyZWZlcmVuY2VTdHJpbmciLCJheGlvbSIsImZpbmRBeGlvbUJ5UmVmZXJlbmNlIiwiYXhpb21TYXRpc2ZpYWJsZSIsImlzU2F0aXNmaWFibGUiLCJ1bmlmeVN0YXRlbWVudEFuZFN0ZXBzT3JTdWJwcm9vZnMiLCJzdGF0ZW1lbnQiLCJzdGVwc09yU3VicHJvb2ZzIiwic3RhdGVtZW50VW5pZmllcyIsInN0YXRlbWVudFN0cmluZyIsInNhdGlzZmlhYmxlIiwiU3Vic3RpdHV0aW9ucyIsImVsZW1lbnRzIiwiZnJvbU5vdGhpbmciLCJzaWduYXR1cmVNYXRjaGVzIiwibWF0Y2hTaWduYXR1cmUiLCJzdWJzdGl0dXRpb25zQiIsInN1YnN0aXR1dGlvbnNBIiwic3Vic3RpdHV0aW9uc01hdGNoIiwic3Vic3RpdHV0aW9uc0FTdHJpbmciLCJhc1N0cmluZyIsInN1YnN0aXR1dGlvbnNCU3RyaW5nIiwiQXNzZXJ0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFBOzs7Z0VBTHFCO2dFQUNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUl0QixXQUFlQSxJQUFBQSxnQkFBTSx1Q0FBQzs7YUFBTUMsbUJBQ2RDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLFNBQVM7Z0NBRHBCSjs7Z0JBRXhCLGtCQUZ3QkE7WUFFbEJDO1lBQVFDOztRQUVkLE1BQUtDLFNBQVMsR0FBR0E7UUFDakIsTUFBS0MsU0FBUyxHQUFHQTs7Ozs7WUFHbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUN2Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUN2Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJDLGFBQWEsRUFBRUMsT0FBTztnQkFBSSxPQUFP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
@@ -0,0 +1,178 @@
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 _necessary = require("necessary");
12
+ var _assertion = /*#__PURE__*/ _interop_require_default(require("../assertion"));
13
+ var _elements = require("../../elements");
14
+ var _unify = require("../../process/unify");
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 _SubproofAssertion;
107
+ var match = _necessary.arrayUtilities.match;
108
+ var _default = (0, _elements.define)((_SubproofAssertion = /*#__PURE__*/ function(Assertion) {
109
+ _inherits(SubproofAssertion, Assertion);
110
+ function SubproofAssertion(string, node, statements) {
111
+ _class_call_check(this, SubproofAssertion);
112
+ var _this;
113
+ _this = _call_super(this, SubproofAssertion, [
114
+ string,
115
+ node
116
+ ]);
117
+ _this.statements = statements;
118
+ return _this;
119
+ }
120
+ _create_class(SubproofAssertion, [
121
+ {
122
+ key: "getStatements",
123
+ value: function getStatements() {
124
+ return this.statements;
125
+ }
126
+ },
127
+ {
128
+ key: "verify",
129
+ value: function verify(assignments, stated, context) {
130
+ var verifies;
131
+ var subproofAssertionString = this.getString(); ///
132
+ context.trace("Verifying the '".concat(subproofAssertionString, "' subproof assertion..."));
133
+ var statementsVerify = this.verifyStatements(assignments, stated, context);
134
+ verifies = statementsVerify; ///
135
+ if (verifies) {
136
+ context.debug("...verified the '".concat(subproofAssertionString, "' subproof assertion."));
137
+ }
138
+ return verifies;
139
+ }
140
+ },
141
+ {
142
+ key: "verifyStatements",
143
+ value: function verifyStatements(assignments, stated, context) {
144
+ stated = true; ///
145
+ assignments = null; ///
146
+ var statementsVerify = this.statements.map(function(statement) {
147
+ var statementVerifies = statement.verify(assignments, stated, context);
148
+ if (statementVerifies) {
149
+ return true;
150
+ }
151
+ });
152
+ return statementsVerify;
153
+ }
154
+ },
155
+ {
156
+ key: "unifySubproof",
157
+ value: function unifySubproof(subproof, substitutions, generalContext, specificContext) {
158
+ var subproofUnifies;
159
+ var subproofString = subproof.getString(), subproofAssertionString = this.getString(); ///
160
+ specificContext.trace("Unifying the '".concat(subproofString, "' subproof with the '").concat(subproofAssertionString, "' subproof assertion..."));
161
+ var subproofStatements = subproof.getStatements(), subproofAssertionStatements = this.statements; ///
162
+ subproofUnifies = match(subproofAssertionStatements, subproofStatements, function(subproofAssertionStatement, subproofStatement) {
163
+ var generalStatement = subproofAssertionStatement, specificStatement = subproofStatement, statementUnifies = (0, _unify.unifyStatement)(generalStatement, specificStatement, substitutions, generalContext, specificContext);
164
+ if (statementUnifies) {
165
+ return true;
166
+ }
167
+ });
168
+ if (subproofUnifies) {
169
+ specificContext.debug("...unified the '".concat(subproofString, "' subproof with the '").concat(subproofAssertionString, "' subproof assertion."));
170
+ }
171
+ return subproofUnifies;
172
+ }
173
+ }
174
+ ]);
175
+ return SubproofAssertion;
176
+ }(_assertion.default), _define_property(_SubproofAssertion, "name", "SubproofAssertion"), _SubproofAssertion));
177
+
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2VydGlvbi9zdWJwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHVuaWZ5U3RhdGVtZW50IH0gZnJvbSBcIi4uLy4uL3Byb2Nlc3MvdW5pZnlcIjtcblxuY29uc3QgeyBtYXRjaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdWJwcm9vZkFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbm9kZSwgc3RhdGVtZW50cykge1xuICAgIHN1cGVyKHN0cmluZywgbm9kZSk7XG5cbiAgICB0aGlzLnN0YXRlbWVudHMgPSBzdGF0ZW1lbnRzO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50cygpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnRzO1xuICB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXM7XG5cbiAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3VicHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBzdWJwcm9vZiBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudHNWZXJpZnkgPSB0aGlzLnZlcmlmeVN0YXRlbWVudHMoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICB2ZXJpZmllcyA9IHN0YXRlbWVudHNWZXJpZnk7ICAvLy9cblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N1YnByb29mQXNzZXJ0aW9uU3RyaW5nfScgc3VicHJvb2YgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudHMoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIHN0YXRlZCA9IHRydWU7ICAvLy9cblxuICAgIGFzc2lnbm1lbnRzID0gbnVsbDsgLy8vXG5cbiAgICBjb25zdCBzdGF0ZW1lbnRzVmVyaWZ5ID0gdGhpcy5zdGF0ZW1lbnRzLm1hcCgoc3RhdGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllcyA9IHN0YXRlbWVudC52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRzVmVyaWZ5O1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZlVuaWZpZXM7XG5cbiAgICBjb25zdCBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mLmdldFN0cmluZygpLFxuICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgc3BlY2lmaWNDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSAnJHtzdWJwcm9vZkFzc2VydGlvblN0cmluZ30nIHN1YnByb29mIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZTdGF0ZW1lbnRzID0gc3VicHJvb2YuZ2V0U3RhdGVtZW50cygpLFxuICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50cyA9IHRoaXMuc3RhdGVtZW50czsgIC8vL1xuXG4gICAgc3VicHJvb2ZVbmlmaWVzID0gbWF0Y2goc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnRzLCBzdWJwcm9vZlN0YXRlbWVudHMsIChzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudCwgc3VicHJvb2ZTdGF0ZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGdlbmVyYWxTdGF0ZW1lbnQgPSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgICAgc3BlY2lmaWNTdGF0ZW1lbnQgPSBzdWJwcm9vZlN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IHVuaWZ5U3RhdGVtZW50KGdlbmVyYWxTdGF0ZW1lbnQsIHNwZWNpZmljU3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoc3VicHJvb2ZVbmlmaWVzKSB7XG4gICAgICBzcGVjaWZpY0NvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgJyR7c3VicHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBzdWJwcm9vZiBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mVW5pZmllcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTdWJwcm9vZkFzc2VydGlvblwiO1xufSk7XG5cbiJdLCJuYW1lcyI6WyJtYXRjaCIsImFycmF5VXRpbGl0aWVzIiwiZGVmaW5lIiwiU3VicHJvb2ZBc3NlcnRpb24iLCJzdHJpbmciLCJub2RlIiwic3RhdGVtZW50cyIsImdldFN0YXRlbWVudHMiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJ2ZXJpZmllcyIsInN1YnByb29mQXNzZXJ0aW9uU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJzdGF0ZW1lbnRzVmVyaWZ5IiwidmVyaWZ5U3RhdGVtZW50cyIsImRlYnVnIiwibWFwIiwic3RhdGVtZW50Iiwic3RhdGVtZW50VmVyaWZpZXMiLCJ1bmlmeVN1YnByb29mIiwic3VicHJvb2YiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJzdWJwcm9vZlVuaWZpZXMiLCJzdWJwcm9vZlN0cmluZyIsInN1YnByb29mU3RhdGVtZW50cyIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50cyIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Iiwic3VicHJvb2ZTdGF0ZW1lbnQiLCJnZW5lcmFsU3RhdGVtZW50Iiwic3BlY2lmaWNTdGF0ZW1lbnQiLCJzdGF0ZW1lbnRVbmlmaWVzIiwidW5pZnlTdGF0ZW1lbnQiLCJBc3NlcnRpb24iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQUE7Ozt5QkFUK0I7Z0VBRVQ7d0JBRUM7cUJBQ1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFNLEFBQUVBLFFBQVVDLHlCQUFjLENBQXhCRDtJQUVSLFdBQWVFLElBQUFBLGdCQUFNLHNDQUFDOzthQUFNQyxrQkFDZEMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVU7Z0NBRFZIOztnQkFFeEIsa0JBRndCQTtZQUVsQkM7WUFBUUM7O1FBRWQsTUFBS0MsVUFBVSxHQUFHQTs7Ozs7WUFHcEJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsVUFBVTtZQUN4Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTztnQkFDakMsSUFBSUM7Z0JBRUosSUFBTUMsMEJBQTBCLElBQUksQ0FBQ0MsU0FBUyxJQUFLLEdBQUc7Z0JBRXRESCxRQUFRSSxLQUFLLENBQUMsQUFBQyxrQkFBeUMsT0FBeEJGLHlCQUF3QjtnQkFFeEQsSUFBTUcsbUJBQW1CLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUNSLGFBQWFDLFFBQVFDO2dCQUVwRUMsV0FBV0ksa0JBQW1CLEdBQUc7Z0JBRWpDLElBQUlKLFVBQVU7b0JBQ1pELFFBQVFPLEtBQUssQ0FBQyxBQUFDLG9CQUEyQyxPQUF4QkwseUJBQXdCO2dCQUM1RDtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQlIsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87Z0JBQzNDRCxTQUFTLE1BQU8sR0FBRztnQkFFbkJELGNBQWMsTUFBTSxHQUFHO2dCQUV2QixJQUFNTyxtQkFBbUIsSUFBSSxDQUFDVixVQUFVLENBQUNhLEdBQUcsQ0FBQyxTQUFDQztvQkFDNUMsSUFBTUMsb0JBQW9CRCxVQUFVWixNQUFNLENBQUNDLGFBQWFDLFFBQVFDO29CQUVoRSxJQUFJVSxtQkFBbUI7d0JBQ3JCLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0w7WUFDVDs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjQyxRQUFRLEVBQUVDLGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxlQUFlO2dCQUNwRSxJQUFJQztnQkFFSixJQUFNQyxpQkFBaUJMLFNBQVNULFNBQVMsSUFDbkNELDBCQUEwQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO2dCQUV0RFksZ0JBQWdCWCxLQUFLLENBQUMsQUFBQyxpQkFBc0RGLE9BQXRDZSxnQkFBZSx5QkFBK0MsT0FBeEJmLHlCQUF3QjtnQkFFckcsSUFBTWdCLHFCQUFxQk4sU0FBU2hCLGFBQWEsSUFDM0N1Qiw4QkFBOEIsSUFBSSxDQUFDeEIsVUFBVSxFQUFHLEdBQUc7Z0JBRXpEcUIsa0JBQWtCM0IsTUFBTThCLDZCQUE2QkQsb0JBQW9CLFNBQUNFLDRCQUE0QkM7b0JBQ3BHLElBQU1DLG1CQUFtQkYsNEJBQ25CRyxvQkFBb0JGLG1CQUNwQkcsbUJBQW1CQyxJQUFBQSxxQkFBYyxFQUFDSCxrQkFBa0JDLG1CQUFtQlYsZUFBZUMsZ0JBQWdCQztvQkFFNUcsSUFBSVMsa0JBQWtCO3dCQUNwQixPQUFPO29CQUNUO2dCQUNGO2dCQUVBLElBQUlSLGlCQUFpQjtvQkFDbkJELGdCQUFnQlIsS0FBSyxDQUFDLEFBQUMsbUJBQXdETCxPQUF0Q2UsZ0JBQWUseUJBQStDLE9BQXhCZix5QkFBd0I7Z0JBQ3pHO2dCQUVBLE9BQU9jO1lBQ1Q7Ozs7RUF2RW9EVSxrQkFBUyxHQXlFN0QscUNBQU9DLFFBQU8ifQ==