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
@@ -10,7 +10,7 @@ import FileContext from "../context/file";
10
10
  import NominalLexer from "../nominal/lexer";
11
11
  import NominalParser from "../nominal/parser";
12
12
 
13
- import { frameMetaType, referenceMetaType, statementMetaType } from "../ontology/metaType";
13
+ import { frameMetaType, referenceMetaType, statementMetaType } from "../element/metaType";
14
14
  import { customGrammarFromNameAndEntries, combinedCustomGrammarFromReleaseContexts } from "../utilities/customGrammar";
15
15
 
16
16
  const { nominalLexerFromCombinedCustomGrammar } = lexersUtilities,
@@ -5,9 +5,8 @@ import { arrayUtilities } from "necessary";
5
5
  const { extract, compress } = arrayUtilities;
6
6
 
7
7
  export default class TemporaryContext {
8
- constructor(context, tokens, terms, frames, statements, assertions, references, substitutions) {
8
+ constructor(context, terms, frames, statements, assertions, references, substitutions) {
9
9
  this.context = context;
10
- this.tokens = tokens;
11
10
  this.terms = terms;
12
11
  this.frames = frames;
13
12
  this.statements = statements;
@@ -20,10 +19,6 @@ export default class TemporaryContext {
20
19
  return this.context;
21
20
  }
22
21
 
23
- getTokens() {
24
- return tokens;
25
- }
26
-
27
22
  getTerms() {
28
23
  return this.terms;
29
24
  }
@@ -356,47 +351,9 @@ export default class TemporaryContext {
356
351
 
357
352
  matchTermAndPropertyRelation(term, propertyRelation) { return this.context.matchTermAndPropertyRelation(term, propertyRelation); }
358
353
 
359
- nodeAsString(node, tokens = null) {
360
- if (tokens === null) {
361
- tokens = this.tokens;
362
- }
363
-
364
- const string = this.context.nodeAsString(node, tokens);
365
-
366
- return string;
367
- }
368
-
369
- nodesAsString(node, tokens = null) {
370
- if (tokens === null) {
371
- tokens = this.tokens;
372
- }
373
-
374
- const string = this.context.nodesAsString(node, tokens);
375
-
376
- return string;
377
- }
378
-
379
- nodeAsTokens(node, tokens = null) {
380
- if (tokens === null) {
381
- tokens = this.tokens;
382
- }
383
-
384
- tokens = this.context.nodeAsTokens(node, tokens); ///
385
-
386
- return tokens;
387
- }
388
-
389
- nodesAsTokens(node, tokens = null) {
390
- if (tokens === null) {
391
- tokens = this.tokens;
392
- }
354
+ nodeAsString(node) { return this.context.nodeAsString(node); }
393
355
 
394
- tokens = this.context.nodesAsTokens(node, tokens); ///
395
-
396
- return tokens;
397
- }
398
-
399
- tokensAsString(tokens) { return this.context.tokensAsString(tokens); }
356
+ nodesAsString(node) { return this.context.nodesAsString(node); }
400
357
 
401
358
  trace(message, node = null) { this.context.trace(message, node); }
402
359
 
@@ -498,35 +455,21 @@ export default class TemporaryContext {
498
455
  static fromNothing(context) {
499
456
  const terms = [],
500
457
  frames = [],
501
- tokens = null,
502
458
  statements = [],
503
459
  assertions = [],
504
460
  references = [],
505
461
  substitutions = [],
506
- temporaryContext = new TemporaryContext(context, tokens, terms, frames, statements, assertions, references, substitutions);
462
+ temporaryContext = new TemporaryContext(context, terms, frames, statements, assertions, references, substitutions);
507
463
 
508
464
  return temporaryContext;
509
465
  }
510
466
 
511
467
  static fromTermsAndFrames(terms, frames, context) {
512
- const tokens = null,
513
- statements = [],
514
- assertions = [],
515
- references = [],
516
- substitutions = [],
517
- temporaryContext = new TemporaryContext(context, tokens, terms, frames, statements, assertions, references, substitutions);
518
-
519
- return temporaryContext;
520
- }
521
-
522
- static fromContextAndTokens(context, tokens) {
523
- const terms = [],
524
- frames = [],
525
- statements = [],
468
+ const statements = [],
526
469
  assertions = [],
527
470
  references = [],
528
471
  substitutions = [],
529
- temporaryContext = new TemporaryContext(context, tokens, terms, frames, statements, assertions, references, substitutions);
472
+ temporaryContext = new TemporaryContext(context, terms, frames, statements, assertions, references, substitutions);
530
473
 
531
474
  return temporaryContext;
532
475
  }
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../../ontology";
4
3
  import Assertion from "../assertion";
5
4
 
6
- import { define } from "../../ontology";
5
+ import { define } from "../../elements";
6
+ import { containedAssertionFromStatementNode } from "../../utilities/element";
7
7
  import { termFromTermAndSubstitutions, frameFromFrameAndSubstitutions, statementFromStatementAndSubstitutions } from "../../utilities/substitutions";
8
8
 
9
9
  export default define(class ContainedAssertion extends Assertion {
10
- constructor(string, node, tokens, term, frame, negated, statement) {
11
- super(string, node, tokens);
10
+ constructor(string, node, term, frame, negated, statement) {
11
+ super(string, node);
12
12
 
13
13
  this.term = term;
14
14
  this.frame = frame;
@@ -201,27 +201,6 @@ export default define(class ContainedAssertion extends Assertion {
201
201
  }
202
202
 
203
203
  static name = "ContainedAssertion";
204
-
205
- static fromStatementNode(statementNode, context) {
206
- let containedAssertion = null;
207
-
208
- const containedAssertionNode = statementNode.getContainedAssertionNode();
209
-
210
- if (containedAssertionNode !== null) {
211
- const { Term, Frame, Statement } = ontology,
212
- node = containedAssertionNode, ///
213
- string = context.nodeAsString(node),
214
- tokens = context.nodeAsTokens(node),
215
- negated = containedAssertionNode.isNegated(),
216
- term = Term.fromContainedAssertionNode(containedAssertionNode, context),
217
- frame = Frame.fromContainedAssertionNode(containedAssertionNode, context),
218
- statement = Statement.fromContainedAssertionNode(containedAssertionNode, context);
219
-
220
- containedAssertion = new ContainedAssertion(string, node, tokens, term, frame, negated, statement);
221
- }
222
-
223
- return containedAssertion;
224
- }
225
204
  });
226
205
 
227
206
  function verifyWhenDerived(term, frame, statement, negated, generalContext, specificContext) {
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../../ontology";
3
+ import elements from "../../elements";
4
4
  import Assertion from "../assertion";
5
5
 
6
- import { define } from "../../ontology";
6
+ import { define } from "../../elements";
7
+ import { definedAssertionFromStatementNode } from "../../utilities/element";
7
8
  import { termFromTermAndSubstitutions, frameFromFrameAndSubstitutions } from "../../utilities/substitutions";
8
9
 
9
10
  export default define(class DefinedAssertion extends Assertion {
10
- constructor(string, node, tokens, term, frame, negated) {
11
- super(string, node, tokens);
11
+ constructor(string, node, term, frame, negated) {
12
+ super(string, node);
12
13
 
13
14
  this.term = term;
14
15
  this.frame= frame;
@@ -172,26 +173,6 @@ export default define(class DefinedAssertion extends Assertion {
172
173
  }
173
174
 
174
175
  static name = "DefinedAssertion";
175
-
176
- static fromStatementNode(statementNode, context) {
177
- let definedAssertion = null;
178
-
179
- const definedAssertionNode = statementNode.getDefinedAssertionNode();
180
-
181
- if (definedAssertionNode !== null) {
182
- const { Term, Frame } = ontology,
183
- node = definedAssertionNode, ///
184
- string = context.nodeAsString(node),
185
- tokens = context.nodeAsTokens(node),
186
- negated = definedAssertionNode.isNegated(),
187
- term = Term.fromDefinedAssertionNode(definedAssertionNode, context),
188
- frame = Frame.fromDefinedAssertionNode(definedAssertionNode, context);
189
-
190
- definedAssertion = new DefinedAssertion(string, node, tokens, term, frame, negated);
191
- }
192
-
193
- return definedAssertion;
194
- }
195
176
  });
196
177
 
197
178
  function verifyWhenDerived(term, frame, negated, generalContext, specificContext) {
@@ -200,7 +181,7 @@ function verifyWhenDerived(term, frame, negated, generalContext, specificContext
200
181
  const context = specificContext; ///
201
182
 
202
183
  if (term !== null) {
203
- const { Variable } = ontology,
184
+ const { Variable } = elements,
204
185
  termNode = term.getNode(),
205
186
  variable = Variable.fromTermNode(termNode, context),
206
187
  generalContext = context, ///
@@ -216,7 +197,7 @@ function verifyWhenDerived(term, frame, negated, generalContext, specificContext
216
197
  }
217
198
 
218
199
  if (frame!== null) {
219
- const { Metavariable } = ontology,
200
+ const { Metavariable } = elements,
220
201
  frameNode = frame.getNode(),
221
202
  metavariable = Metavariable.fromFrameNode(frameNode, context),
222
203
  metavariableDefined = context.isMetavariableDefined(metavariable);
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../../ontology";
3
+ import elements from "../../elements";
4
4
  import Assertion from "../assertion";
5
- import VariableAssignment from "../../assignment/variable";
6
5
 
7
- import { define } from "../../ontology";
6
+ import { define } from "../../elements";
7
+ import { variableAssignmentFromVariable } from "../../process/assign";
8
8
 
9
9
  export default define(class PropertyAssertion extends Assertion {
10
- constructor(string, node, tokens, term, propertyRelation) {
11
- super(string, node, tokens);
10
+ constructor(string, node, term, propertyRelation) {
11
+ super(string, node);
12
12
 
13
13
  this.term = term;
14
14
  this.propertyRelation = propertyRelation;
@@ -164,7 +164,7 @@ export default define(class PropertyAssertion extends Assertion {
164
164
 
165
165
  let variable;
166
166
 
167
- const { Variable } = ontology,
167
+ const { Variable } = elements,
168
168
  termNode = this.term.getNode();
169
169
 
170
170
  variable = Variable.fromTermNode(termNode, context);
@@ -176,7 +176,7 @@ export default define(class PropertyAssertion extends Assertion {
176
176
 
177
177
  variable = Variable.fromVariableAndPropertyRelation(variable, this.propertyRelation);
178
178
 
179
- const variableAssignment = VariableAssignment.fromVariable(variable),
179
+ const variableAssignment = variableAssignmentFromVariable(variable),
180
180
  assignment = variableAssignment; ///
181
181
 
182
182
  assignments.push(assignment);
@@ -184,23 +184,4 @@ export default define(class PropertyAssertion extends Assertion {
184
184
  }
185
185
 
186
186
  static name = "PropertyAssertion";
187
-
188
- static fromStatementNode(statementNode, context) {
189
- let propertyAssertion = null;
190
-
191
- const propertyAssertionNode = statementNode.getPropertyAssertionNode();
192
-
193
- if (propertyAssertionNode !== null) {
194
- const { Term, PropertyRelation } = ontology,
195
- node = propertyAssertionNode, ///
196
- string = context.nodeAsString(node),
197
- tokens = context.nodeAsTokens(node),
198
- term = Term.fromPropertyAssertionNode(propertyAssertionNode, context),
199
- propertyRelation = PropertyRelation.fromPropertyAssertionNode(propertyAssertionNode, context);
200
-
201
- propertyAssertion = new PropertyAssertion(string, node, tokens, term, propertyRelation);
202
- }
203
-
204
- return propertyAssertion;
205
- }
206
187
  });
@@ -1,22 +1,18 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../../ontology";
3
+ import elements from "../../elements";
4
4
  import Assertion from "../assertion";
5
5
 
6
- import { define } from "../../ontology";
6
+ import { define } from "../../elements";
7
7
 
8
8
  export default define(class SatisfiesAssertion extends Assertion {
9
- constructor(string, node, tokens, signature, reference) {
10
- super(string, node, tokens);
9
+ constructor(string, node, signature, reference) {
10
+ super(string, node);
11
11
 
12
12
  this.signature = signature;
13
13
  this.reference = reference;
14
14
  }
15
15
 
16
- getTokens() {
17
- return this.tokens;
18
- }
19
-
20
16
  getSignature() {
21
17
  return this.signature;
22
18
  }
@@ -97,7 +93,7 @@ export default define(class SatisfiesAssertion extends Assertion {
97
93
  if (satisfiable) {
98
94
  let substitutions;
99
95
 
100
- const { Substitutions } = ontology;
96
+ const { Substitutions } = elements;
101
97
 
102
98
  substitutions = Substitutions.fromNothing();
103
99
 
@@ -134,48 +130,4 @@ export default define(class SatisfiesAssertion extends Assertion {
134
130
  }
135
131
 
136
132
  static name = "SatisfiesAssertion";
137
-
138
- static fromStepNode(stepNode, context) {
139
- let satisfiesAssertion = null;
140
-
141
- const satisfiesAssertionNode = stepNode.getSatisfiedAssertionNode();
142
-
143
- if (satisfiesAssertionNode !== null) {
144
- satisfiesAssertion = satisfiesAssertionFromSatisfiesAssertionNode(satisfiesAssertionNode, context);
145
- }
146
-
147
- return satisfiesAssertion;
148
- }
149
-
150
- static fromStatementNode(statementNode, context) {
151
- let satisfiesAssertion = null;
152
-
153
- const satisfiesAssertionNode = statementNode.getSatisfiedAssertionNode();
154
-
155
- if (satisfiesAssertionNode !== null) {
156
- satisfiesAssertion = satisfiesAssertionFromSatisfiesAssertionNode(satisfiesAssertionNode, context);
157
- }
158
-
159
- return satisfiesAssertion;
160
- }
161
133
  });
162
-
163
- function signatureFromSatisfiesAssertionNode(satisfiesAssertionNode, context) {
164
- const { Signature } = ontology,
165
- signatureNode = satisfiesAssertionNode.getSignatureNode(),
166
- signature = Signature.fromSignatureNode(signatureNode, context);
167
-
168
- return signature;
169
- }
170
-
171
- function satisfiesAssertionFromSatisfiesAssertionNode(satisfiesAssertionNode, context) {
172
- const { Reference, SatisfiesAssertion } = ontology,
173
- node = satisfiesAssertionNode, ///
174
- string = context.nodeAsString(node),
175
- tokens = context.nodeAsTokens(node),
176
- signature = signatureFromSatisfiesAssertionNode(satisfiesAssertionNode, context),
177
- reference = Reference.fromSatisfiesAssertionNode(satisfiesAssertionNode, context),
178
- satisfiesAssertion = new SatisfiesAssertion(string, node, tokens, signature, reference);
179
-
180
- return satisfiesAssertion;
181
- }
@@ -2,17 +2,16 @@
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
4
 
5
- import ontology from "../../ontology";
6
5
  import Assertion from "../assertion";
7
6
 
8
- import { define } from "../../ontology";
7
+ import { define } from "../../elements";
9
8
  import { unifyStatement } from "../../process/unify";
10
9
 
11
10
  const { match } = arrayUtilities;
12
11
 
13
12
  export default define(class SubproofAssertion extends Assertion {
14
- constructor(string, node, tokens, statements) {
15
- super(string, node, tokens);
13
+ constructor(string, node, statements) {
14
+ super(string, node);
16
15
 
17
16
  this.statements = statements;
18
17
  }
@@ -84,33 +83,5 @@ export default define(class SubproofAssertion extends Assertion {
84
83
  }
85
84
 
86
85
  static name = "SubproofAssertion";
87
-
88
- static fromStatementNode(statementNode, context) {
89
- let subproofAssertion = null;
90
-
91
- const subproofAssertionNode = statementNode.getSubproofAssertionNode();
92
-
93
- if (subproofAssertionNode !== null) {
94
- const node = subproofAssertionNode, ///
95
- tokens = null,
96
- string = context.nodeAsString(node),
97
- statements = statementsFromSubproofAssertionNode(subproofAssertionNode, context);
98
-
99
- subproofAssertion = new SubproofAssertion(string, node, tokens, statements);
100
- }
101
-
102
- return subproofAssertion;
103
- }
104
86
  });
105
87
 
106
- function statementsFromSubproofAssertionNode(subproofAssertionNode, context) {
107
- const { Statement } = ontology,
108
- statementNodes = subproofAssertionNode.getStatementNodes(),
109
- statements = statementNodes.map((statementNode) => {
110
- const statement = Statement.fromStatementNode(statementNode, context);
111
-
112
- return statement;
113
- });
114
-
115
- return statements;
116
- }
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import ontology from "../../ontology";
3
+ import elements from "../../elements";
4
4
  import Assertion from "../assertion";
5
- import VariableAssignment from "../../assignment/variable";
6
5
 
7
- import { define } from "../../ontology";
6
+ import { define } from "../../elements";
7
+ import { variableAssignmentFromVariable } from "../../process/assign";
8
8
 
9
9
  export default define(class TypeAssertion extends Assertion {
10
- constructor(string, node, tokens, term, type) {
11
- super(string, node, tokens);
10
+ constructor(string, node, term, type) {
11
+ super(string, node);
12
12
 
13
13
  this.term = term;
14
14
  this.type = type;
@@ -151,7 +151,7 @@ export default define(class TypeAssertion extends Assertion {
151
151
  return;
152
152
  }
153
153
 
154
- const { Type, Variable } = ontology,
154
+ const { Type, Variable } = elements,
155
155
  termNode = this.term.getNode();
156
156
 
157
157
  let type,
@@ -172,7 +172,7 @@ export default define(class TypeAssertion extends Assertion {
172
172
  if (singularVariableNode !== null) {
173
173
  const variableNode = singularVariableNode, ///
174
174
  variable = Variable.fromVariableNodeAndType(variableNode, type, context),
175
- variableAssignment = VariableAssignment.fromVariable(variable),
175
+ variableAssignment = variableAssignmentFromVariable(variable),
176
176
  assignment = variableAssignment; ///
177
177
 
178
178
  assignments.push(assignment);
@@ -180,23 +180,4 @@ export default define(class TypeAssertion extends Assertion {
180
180
  }
181
181
 
182
182
  static name = "TypeAssertion";
183
-
184
- static fromStatementNode(statementNode, context) {
185
- let typeAssertion = null;
186
-
187
- const typeAssertionNode = statementNode.getTypeAssertionNode();
188
-
189
- if (typeAssertionNode !== null) {
190
- const { Term, Type } = ontology,
191
- node = typeAssertionNode, ///
192
- tokens = null,
193
- string = context.nodeAsString(node),
194
- term = Term.fromTypeAssertionNode(typeAssertionNode, context),
195
- type = Type.fromTypeAssertionNode(typeAssertionNode, context);
196
-
197
- typeAssertion = new TypeAssertion(string, node, tokens, term, type);
198
- }
199
-
200
- return typeAssertion;
201
- }
202
183
  });
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  export default class Assertion {
4
- constructor(string, node, tokens) {
4
+ constructor(context, string, node) {
5
+ this.context = context;
5
6
  this.string = string;
6
7
  this.node = node;
7
- this.tokens = tokens;
8
+ }
9
+
10
+ getContext() {
11
+ return this.context;
8
12
  }
9
13
 
10
14
  getString() {
@@ -15,9 +19,5 @@ export default class Assertion {
15
19
  return this.node;
16
20
  }
17
21
 
18
- getTokens() {
19
- return this.tokens;
20
- }
21
-
22
22
  matchAssertionNode(assertionNode) { return this.node.match(assertionNode); }
23
23
  }
@@ -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 { unifyStatementIntrinsically } from "../process/unify";
7
7
  import { referenceFromJSON, referenceToReferenceJSON } from "../utilities/json";
8
8
 
@@ -291,7 +291,7 @@ export default define(class Assumption {
291
291
 
292
292
  context = metaLemmaMetatheorem.getContext(); ///
293
293
 
294
- const { Substitutions } = ontology,
294
+ const { Substitutions } = elements,
295
295
  specificContext = context, ///
296
296
  labelSubstitutions = Substitutions.fromNothing(),
297
297
  label = metaLemmaMetatheorem.getLabel(),
@@ -353,28 +353,4 @@ export default define(class Assumption {
353
353
 
354
354
  return assumption;
355
355
  }
356
-
357
- static fromJudgementNode(judgementNode, context) {
358
- const assumptionNode = judgementNode.getAssumptionNode(),
359
- assumption = assumptionFromAssumptionNode(assumptionNode, context);
360
-
361
- return assumption;
362
- }
363
-
364
- static fromAssumptionNode(assumptionNode, context) {
365
- const assumption = assumptionFromAssumptionNode(assumptionNode, context);
366
-
367
- return assumption;
368
- }
369
356
  });
370
-
371
- function assumptionFromAssumptionNode(assumptionNode, context) {
372
- const { Reference, Assumption, Statement } = ontology,
373
- node = assumptionNode, ///
374
- string = context.nodeAsString(node),
375
- statement = Statement.fromAssumptionNode(assumptionNode, context),
376
- reference = Reference.fromAssumptionNode(assumptionNode, context),
377
- assumption = new Assumption(string, node, statement, reference);
378
-
379
- return assumption;
380
- }
@@ -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 Axiom extends TopLevelAssertion {
7
+ export default define(class Axiom extends AxiomLemmaTheoremConjecture {
8
8
  isSatisfiable() {
9
9
  const signature = this.getSignature(),
10
10
  satisfiable = (signature !== null);
@@ -266,12 +266,5 @@ export default define(class Axiom extends TopLevelAssertion {
266
266
 
267
267
  static name = "Axiom";
268
268
 
269
- static fromJSON(json, context) { return TopLevelAssertion.fromJSON(Axiom, json, context); }
270
-
271
- static fromAxiomNode(axiomNode, context) {
272
- const node = axiomNode, ///
273
- axiom = TopLevelAssertion.fromNode(Axiom, node, context);
274
-
275
- return axiom;
276
- }
269
+ static fromJSON(json, context) { return AxiomLemmaTheoremConjecture.fromJSON(Axiom, json, context); }
277
270
  });