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
@@ -1,23 +1,32 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../ontology";
4
- import EqualityAssignment from "../assignment/equality";
5
- import VariableAssignment from "../assignment/variable";
3
+ import elements from "../elements";
6
4
 
7
- import { define } from "../ontology";
5
+ import { define } from "../elements";
8
6
  import { equateTerms } from "../process/equate";
7
+ import { equalityAssignmentFromEquality, variableAssignmentFromVariable } from "../process/assign";
9
8
 
10
9
  export default define(class Equality {
11
- constructor(string, leftTerm, rightTerm) {
10
+ constructor(context, string, node, leftTerm, rightTerm) {
11
+ this.context = context;
12
12
  this.string = string;
13
+ this.node = node;
13
14
  this.leftTerm = leftTerm;
14
15
  this.rightTerm = rightTerm;
15
16
  }
16
17
 
18
+ getContext() {
19
+ return this.context;
20
+ }
21
+
17
22
  getString() {
18
23
  return this.string;
19
24
  }
20
25
 
26
+ getNode() {
27
+ return this.node;
28
+ }
29
+
21
30
  getLeftTerm() {
22
31
  return this.leftTerm;
23
32
  }
@@ -186,7 +195,7 @@ export default define(class Equality {
186
195
  return;
187
196
  }
188
197
 
189
- const { Variable } = ontology,
198
+ const { Variable } = elements,
190
199
  type = this.getType(),
191
200
  leftTermNode = this.leftTerm.getNode(),
192
201
  rightTermNode = this.rightTerm.getNode(),
@@ -199,7 +208,7 @@ export default define(class Equality {
199
208
 
200
209
  if (leftVariableNode !== null) {
201
210
  const leftVariable = Variable.fromVariableNodeAndType(leftVariableNode, type, context),
202
- leftVariableAssignment = VariableAssignment.fromVariable(leftVariable);
211
+ leftVariableAssignment = variableAssignmentFromVariable(leftVariable);
203
212
 
204
213
  assignment = leftVariableAssignment; ///
205
214
 
@@ -208,7 +217,7 @@ export default define(class Equality {
208
217
 
209
218
  if (rightVariableNode !== null) {
210
219
  const rightVariable = Variable.fromVariableNodeAndType(rightVariableNode, type, context),
211
- rightVariableAssignment = VariableAssignment.fromVariable(rightVariable);
220
+ rightVariableAssignment = variableAssignmentFromVariable(rightVariable);
212
221
 
213
222
  assignment = rightVariableAssignment; ///
214
223
 
@@ -216,7 +225,7 @@ export default define(class Equality {
216
225
  }
217
226
 
218
227
  const equality = this, //
219
- equalityAssignment = EqualityAssignment.fromEquality(equality);
228
+ equalityAssignment = equalityAssignmentFromEquality(equality);
220
229
 
221
230
  assignment = equalityAssignment; ///
222
231
 
@@ -224,37 +233,4 @@ export default define(class Equality {
224
233
  }
225
234
 
226
235
  static name = "Equality";
227
-
228
- static fromStatementNode(statementNode, context) {
229
- let equality = null;
230
-
231
- const equalityNode = statementNode.getEqualityNode();
232
-
233
- if (equalityNode !== null) {
234
- const node = equalityNode, ///
235
- string = context.nodeAsString(node),
236
- leftTerm = leftTermFromEqualityNode(equalityNode, context),
237
- rightTerm = rightTermFromEqualityNode(equalityNode, context);
238
-
239
- equality = new Equality(string, leftTerm, rightTerm);
240
- }
241
-
242
- return equality;
243
- }
244
236
  });
245
-
246
- function leftTermFromEqualityNode(equalityNode, context) {
247
- const { Term } = ontology,
248
- leftTermNode = equalityNode.getLeftTermNode(),
249
- leftTerm = Term.fromTermNode(leftTermNode, context);
250
-
251
- return leftTerm;
252
- }
253
-
254
- function rightTermFromEqualityNode(equalityNode, context) {
255
- const { Term } = ontology,
256
- rightTermNode = equalityNode.getRightTermNode(),
257
- rightTerm = Term.fromTermNode(rightTermNode, context);
258
-
259
- return rightTerm;
260
- }
@@ -2,16 +2,34 @@
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
4
 
5
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
+ import { termsStringFromTerms } from "../utilities/string";
7
+ import { instantiateEquivalence } from "../process/instantiate";
6
8
  import { stripBracketsFromTermNode } from "../utilities/brackets";
9
+ import { equalivanceFromEquivalenceNode } from "../utilities/element";
7
10
 
8
11
  const { compress } = arrayUtilities;
9
12
 
10
13
  export default define(class Equivalence {
11
- constructor(terms) {
14
+ constructor(context, string, node, terms) {
15
+ this.context = context;
16
+ this.string = string;
17
+ this.node = node;
12
18
  this.terms = terms;
13
19
  }
14
20
 
21
+ getContext() {
22
+ return this.context;
23
+ }
24
+
25
+ getString() {
26
+ return this.string;
27
+ }
28
+
29
+ getNode() {
30
+ return this.node;
31
+ }
32
+
15
33
  getTerms() {
16
34
  return this.terms;
17
35
  }
@@ -35,6 +53,17 @@ export default define(class Equivalence {
35
53
  if (!termPresent) {
36
54
  this.terms.push(term);
37
55
 
56
+ const termsString = termsStringFromTerms(this.terms),
57
+ string = termsString, ///
58
+ equalivanceNode = instantiateEquivalence(string, context),
59
+ equalivance = equalivanceFromEquivalenceNode(equalivanceNode, context);
60
+
61
+ this.node = equalivance.getNode();
62
+
63
+ this.string = equalivance.getString();
64
+
65
+ const equivalenceString = this.string; ///
66
+
38
67
  context.debug(`...added the '${termString}' term to the '${equivalenceString}' equivalence.`);
39
68
  }
40
69
  }
@@ -243,27 +272,13 @@ export default define(class Equivalence {
243
272
  return implicitlyGroundedTerms;
244
273
  }
245
274
 
246
- asString() {
247
- const type = this.getType(),
248
- typeString = type.getString(),
249
- termsString = this.terms.reduce((termsString, term) => {
250
- const termString = term.getString();
251
-
252
- termsString = (termsString === null) ?
253
- termString :
254
- `${termsString} = ${termString}`;
255
-
256
- return termsString;
257
- }, null),
258
- string = `${termsString}:${typeString}`;
259
-
260
- return string;
261
- }
262
-
263
- static fromEquality(equality) {
275
+ static fromEquality(equality, context) {
264
276
  const terms = equality.getTerms(),
265
- equivalence = new Equivalence(terms);
277
+ termsString = termsStringFromTerms(terms),
278
+ string = termsString, ///
279
+ equalivanceNode = instantiateEquivalence(string, context),
280
+ equalivance = equalivanceFromEquivalenceNode(equalivanceNode, context);
266
281
 
267
- return equivalence;
282
+ return equalivance;
268
283
  }
269
284
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
4
 
5
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
6
  import { variablesFromTerm } from "./term";
7
7
 
8
8
  const { push, separate } = arrayUtilities;
@@ -193,7 +193,6 @@ export default define(class Equivalences {
193
193
  }
194
194
  });
195
195
 
196
-
197
196
  function definedVariablesFromGroundedTerms(groundedTerms, definedVariables, context) {
198
197
  groundedTerms.forEach((groundedTerm) => {
199
198
  const term = groundedTerm, ///
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
 
3
- import { define } from "../ontology";
3
+ import { define } from "../elements";
4
4
 
5
5
  export default define(class Error {
6
- constructor(context, node, string) {
6
+ constructor(context, string, node) {
7
7
  this.context = context;
8
- this.node = node;
9
8
  this.string = string;
9
+ this.node = node;
10
10
  }
11
11
 
12
12
  getContext() {
13
13
  return this.context;
14
14
  }
15
15
 
16
- getNode() {
17
- return this.node;
18
- }
19
-
20
16
  getString() {
21
17
  return this.string;
22
18
  }
23
19
 
20
+ getNode() {
21
+ return this.node;
22
+ }
23
+
24
24
  verify() {
25
25
  let verifies = false;
26
26
 
@@ -36,7 +36,7 @@ export default define(class Error {
36
36
  static fromErrorNode(errorNode, context) {
37
37
  const node = errorNode, ///
38
38
  string = context.nodeAsString(node),
39
- error = new Error(context, node, string);
39
+ error = new Error(context, string, node);
40
40
 
41
41
  return error;
42
42
  }
@@ -2,19 +2,19 @@
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
4
 
5
- import ontology from "../ontology";
5
+ import elements from "../elements";
6
6
 
7
- import { define } from "../ontology";
7
+ import { define } from "../elements";
8
8
  import { S, NOTHING } from "../constants";
9
+ import { frameFromFrameNode } from "../utilities/element";
9
10
  import { FRAME_META_TYPE_NAME } from "../metaTypeNames";
10
11
 
11
12
  const { first } = arrayUtilities;
12
13
 
13
14
  export default define(class Frame {
14
- constructor(string, node, tokens, assumptions) {
15
+ constructor(string, node, assumptions) {
15
16
  this.string = string;
16
17
  this.node = node;
17
- this.tokens = tokens;
18
18
  this.assumptions = assumptions;
19
19
  }
20
20
 
@@ -26,10 +26,6 @@ export default define(class Frame {
26
26
  return this.node;
27
27
  }
28
28
 
29
- getTokens() {
30
- return this.tokens;
31
- }
32
-
33
29
  getAssumptions() {
34
30
  return this.assumptions;
35
31
  }
@@ -305,30 +301,21 @@ export default define(class Frame {
305
301
  let frame = null;
306
302
 
307
303
  if (json !== null) {
308
- const { Assumption } =ontology,
304
+ const { Assumption } =elements,
309
305
  assumption = Assumption.fromJSON(json, context),
310
306
  assumptions = [
311
307
  assumption
312
308
  ],
313
309
  string = null,
314
- node = null,
315
- tokens = null;
310
+ node = null;
316
311
 
317
- frame = new Frame(string, node, tokens, assumptions);
312
+ frame = new Frame(string, node, assumptions);
318
313
  }
319
314
 
320
315
  return frame;
321
316
  }
322
317
 
323
- static fromFrameNode(frameNode, context) {
324
- let frame = null;
325
-
326
- if (frameNode !== null) {
327
- frame = frameFromFrameNode(frameNode, context);
328
- }
329
-
330
- return frame;
331
- }
318
+ static fromFrameNode(frameNode, context) { return frameFromFrameNode(frameNode, context); }
332
319
 
333
320
  static fromJudgementNode(judgementNode, context) {
334
321
  const frameNode = judgementNode.getFrameNode(),
@@ -348,43 +335,8 @@ export default define(class Frame {
348
335
 
349
336
  return frame;
350
337
  }
351
-
352
- static fromContainedAssertionNode(containedAssertionNode, context) {
353
- let frame = null;
354
-
355
- const frameNode = containedAssertionNode.getFrameNode();
356
-
357
- if (frameNode !== null) {
358
- frame = frameFromFrameNode(frameNode, context)
359
- }
360
-
361
- return frame;
362
- }
363
338
  });
364
339
 
365
- function frameFromFrameNode(frameNode, context) {
366
- const { Frame } = ontology,
367
- node = frameNode, ///
368
- string = context.nodeAsString(node),
369
- tokens = context.nodeAsTokens(node),
370
- assumptions = assumptionsFromFrameNode(frameNode, context),
371
- frame = new Frame(string, node, tokens, assumptions);
372
-
373
- return frame;
374
- }
375
-
376
- function assumptionsFromFrameNode(frameNode, context) {
377
- const { Assumption } = ontology,
378
- assumptionNodes = frameNode.getAssumptionNodes(),
379
- assumptions = assumptionNodes.map((assumptionNode) => {
380
- const assumption = Assumption.fromAssumptionNode(assumptionNode, context);
381
-
382
- return assumption;
383
- });
384
-
385
- return assumptions;
386
- }
387
-
388
340
  function assumptionsStringFromAssumptions(assumptions) {
389
341
  const assumptionsString = assumptions.reduce((assumptionsString, assumption) => {
390
342
  const assumptionString = assumption.getString();
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../ontology";
3
+ import elements from "../elements";
4
+ import assignAssignments from "../process/assign";
4
5
 
5
- import { define } from "../ontology";
6
- import { assignAssignments } from "../utilities/assignments";
6
+ import { define } from "../elements";
7
7
  import { statementFromJSON, statementToStatementJSON } from "../utilities/json";
8
8
 
9
9
  export default define(class Hypothesis {
@@ -43,7 +43,7 @@ export default define(class Hypothesis {
43
43
  const assignmentsAssigned = assignAssignments(assignments, context);
44
44
 
45
45
  if (assignmentsAssigned) {
46
- const { Step } = ontology,
46
+ const { Step } = elements,
47
47
  step = Step.fromStatement(this.statement, context),
48
48
  stepOrSubproof = step; ///
49
49
 
@@ -113,7 +113,7 @@ export default define(class Hypothesis {
113
113
  }
114
114
 
115
115
  static fromHypothesisNode(hypothesisNode, context) {
116
- const { Statement } = ontology,
116
+ const { Statement } = elements,
117
117
  node = hypothesisNode, ///
118
118
  string = context.nodeAsString(node),
119
119
  statement = Statement.fromHypothesisNode(hypothesisNode, context),
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../ontology";
4
- import JudgementAssignment from "../assignment/judgement";
3
+ import elements from "../elements";
5
4
 
6
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
+ import { judgementAssignmentFromJudgement } from "../process/assign";
7
7
 
8
8
  export default define(class Judgement {
9
9
  constructor(string, node, frame, assumption) {
@@ -142,8 +142,8 @@ export default define(class Judgement {
142
142
  }
143
143
 
144
144
  const judgement = this, ///
145
- judgementAssignment = JudgementAssignment.fromJudgement(judgement),
146
- assignment = judgementAssignment;
145
+ judgementAssignment = judgementAssignmentFromJudgement(judgement),
146
+ assignment = judgementAssignment; ///
147
147
 
148
148
  assignments.push(assignment);
149
149
  }
@@ -156,7 +156,7 @@ export default define(class Judgement {
156
156
  const judgementNode = statementNode.getJudgementNode();
157
157
 
158
158
  if (judgementNode !== null) {
159
- const { Frame, Assumption } = ontology,
159
+ const { Frame, Assumption } = elements,
160
160
  node = judgementNode, ///
161
161
  string = context.nodeAsString(node),
162
162
  frame = Frame.fromJudgementNode(judgementNode, context),
@@ -170,7 +170,7 @@ export default define(class Judgement {
170
170
  });
171
171
 
172
172
  function referenceFromMetavariable(metavariable, context) {
173
- const { Reference } = ontology,
173
+ const { Reference } = elements,
174
174
  metavariableNode = metavariable.getNode(),
175
175
  reference = Reference.fromMetavariableNode(metavariableNode, context);
176
176
 
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../ontology";
3
+ import elements from "../elements";
4
4
 
5
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
6
  import { metavariableFromJSON, metavariableToMetavariableJSON } from "../utilities/json";
7
7
 
8
8
  export default define(class Label {
@@ -97,7 +97,7 @@ export default define(class Label {
97
97
  }
98
98
 
99
99
  static fromLabelNode(labelNode, context) {
100
- const { Metavariable } = ontology,
100
+ const { Metavariable } = elements,
101
101
  metavariable = Metavariable.fromLabelNode(labelNode, context),
102
102
  label = new Label(context, metavariable);
103
103
 
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import TopLevelAssertion from "./topLevelAssertion";
3
+ import AxiomLemmaTheoremConjecture from "./axiomLemmaTheoremConjecture";
4
4
 
5
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
6
 
7
- export default define(class Lemma extends TopLevelAssertion {
7
+ export default define(class Lemma extends AxiomLemmaTheoremConjecture {
8
8
  verify() {
9
9
  let verifies;
10
10
 
@@ -36,7 +36,7 @@ export default define(class Lemma extends TopLevelAssertion {
36
36
 
37
37
  static fromLemmaNode(lemmaNode, context) {
38
38
  const node = lemmaNode, ///
39
- lemma = TopLevelAssertion.fromNode(Lemma, node, context);
39
+ lemma = AxiomLemmaTheoremConjecture.fromNode(Lemma, node, context);
40
40
 
41
41
  return lemma;
42
42
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import TopLevelMetaAssertion from "./topLevelMetaAssertion";
3
+ import MetaLemmaMetatheorem from "./metaLemmaMetatheorem";
4
4
 
5
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
6
 
7
- export default define(class MetaLemma extends TopLevelMetaAssertion {
7
+ export default define(class MetaLemma extends MetaLemmaMetatheorem {
8
8
  verify() {
9
9
  let verifies;
10
10
 
@@ -30,11 +30,11 @@ export default define(class MetaLemma extends TopLevelMetaAssertion {
30
30
 
31
31
  static name = "MetaLemma";
32
32
 
33
- static fromJSON(json, context) { return TopLevelMetaAssertion.fromJSON(MetaLemma, json, context); }
33
+ static fromJSON(json, context) { return MetaLemmaMetatheorem.fromJSON(MetaLemma, json, context); }
34
34
 
35
35
  static fromMetaLemmaNode(metaLemmaNode, context) {
36
36
  const node = metaLemmaNode, ///
37
- metaLemma = TopLevelMetaAssertion.fromNode(MetaLemma, node, context);
37
+ metaLemma = MetaLemmaMetatheorem.fromNode(MetaLemma, node, context);
38
38
 
39
39
  return metaLemma;
40
40
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../ontology";
3
+ import elements from "../elements";
4
4
  import LocalContext from "../context/local";
5
5
 
6
- import { proofFromProofNode, deductionFromDeductionNode, suppositionsFromSuppositionNodes } from "./topLevelAssertion";
6
+ import { proofFromProofNode, deductionFromDeductionNode, suppositionsFromSuppositionNodes } from "./axiomLemmaTheoremConjecture";
7
7
  import { labelFromJSON,
8
8
  labelToLabelJSON,
9
9
  deductionFromJSON,
@@ -13,11 +13,11 @@ import { labelFromJSON,
13
13
  suppositionsToSuppositionsJSON,
14
14
  substitutionsToSubstitutionsJSON } from "../utilities/json";
15
15
 
16
- export default class TopLevelMetaAssertion {
17
- constructor(context, node, string, label, suppositions, deduction, proof, substitutions) {
16
+ export default class MetaLemmaMetatheorem {
17
+ constructor(context, string, node, label, suppositions, deduction, proof, substitutions) {
18
18
  this.context = context;
19
- this.node = node;
20
19
  this.string = string;
20
+ this.node = node;
21
21
  this.label = label;
22
22
  this.suppositions = suppositions;
23
23
  this.deduction = deduction;
@@ -162,13 +162,13 @@ export default class TopLevelMetaAssertion {
162
162
  node = null,
163
163
  proof = null,
164
164
  string = stringFromLabelASuppositionsAndDeduction(label, suppositions, deduction),
165
- topLevelMetaAssertion = new Class(context, node, string, label, suppositions, deduction, proof, substitutions);
165
+ metaLemmaMetatheorem = new Class(context, string, node, label, suppositions, deduction, proof, substitutions);
166
166
 
167
- return topLevelMetaAssertion;
167
+ return metaLemmaMetatheorem;
168
168
  }
169
169
 
170
170
  static fromNode(Class, node, context) {
171
- const { Substitutions } = ontology,
171
+ const { Substitutions } = elements,
172
172
  topLevelAssertionNode = node, ///
173
173
  proofNode = topLevelAssertionNode.getProofNode(),
174
174
  labelNode = topLevelAssertionNode.getLabelNode(),
@@ -180,16 +180,16 @@ export default class TopLevelMetaAssertion {
180
180
  suppositions = suppositionsFromSuppositionNodes(suppositionNodes, context),
181
181
  substitutions = Substitutions.fromNothing(),
182
182
  string = stringFromLabelASuppositionsAndDeduction(label, suppositions, deduction),
183
- topLevelMetaAssertion = new Class(context, node, string, label, suppositions, deduction, proof, substitutions);
183
+ metaLemmaMetatheorem = new Class(context, string, node, label, suppositions, deduction, proof, substitutions);
184
184
 
185
- return topLevelMetaAssertion;
185
+ return metaLemmaMetatheorem;
186
186
  }
187
187
  }
188
188
 
189
189
  function labelFromLabelNode(labelNode, context) {
190
190
  let label = null;
191
191
 
192
- const { Label } = ontology;
192
+ const { Label } = elements;
193
193
 
194
194
  if (labelNode !== null) {
195
195
  label = Label.fromLabelNode(labelNode, context);
@@ -1,21 +1,25 @@
1
1
  "use strict";
2
2
 
3
- import { define } from "../ontology";
3
+ import { define } from "../elements";
4
4
  import { FRAME_META_TYPE_NAME, REFERENCE_META_TYPE_NAME, STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
5
5
 
6
6
  class MetaType {
7
- constructor(name) {
7
+ constructor(string, node, name) {
8
+ this.string = string;
9
+ this.node = node;
8
10
  this.name = name;
9
11
  }
10
12
 
11
- getName() {
12
- return this.name;
13
+ getString() {
14
+ return this.string;
13
15
  }
14
16
 
15
- getString() {
16
- const string = this.name; ///
17
+ getNode() {
18
+ return this.node;
19
+ }
17
20
 
18
- return string;
21
+ getName() {
22
+ return this.name;
19
23
  }
20
24
 
21
25
  isEqualTo(metaType) {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import TopLevelMetaAssertion from "./topLevelMetaAssertion";
3
+ import MetaLemmaMetatheorem from "./metaLemmaMetatheorem";
4
4
 
5
- import { define } from "../ontology";
5
+ import { define } from "../elements";
6
6
 
7
- export default define(class Metatheorem extends TopLevelMetaAssertion {
7
+ export default define(class Metatheorem extends MetaLemmaMetatheorem {
8
8
  verify() {
9
9
  let verifies;
10
10
 
@@ -30,11 +30,11 @@ export default define(class Metatheorem extends TopLevelMetaAssertion {
30
30
 
31
31
  static name = "Metatheorem";
32
32
 
33
- static fromJSON(json, context) { return TopLevelMetaAssertion.fromJSON(Metatheorem, json, context); }
33
+ static fromJSON(json, context) { return MetaLemmaMetatheorem.fromJSON(Metatheorem, json, context); }
34
34
 
35
35
  static fromMetatheoremNode(metatheoremNode, context) {
36
36
  const node = metatheoremNode, ///
37
- metatheorem = TopLevelMetaAssertion.fromNode(Metatheorem, node, context);
37
+ metatheorem = MetaLemmaMetatheorem.fromNode(Metatheorem, node, context);
38
38
 
39
39
  return metatheorem;
40
40
  }