occam-verify-cli 1.0.473 → 1.0.475

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 (159) hide show
  1. package/lib/context/file.js +7 -14
  2. package/lib/context/literal.js +4 -5
  3. package/lib/context/scoped.js +3 -9
  4. package/lib/element/assertion/contained.js +3 -3
  5. package/lib/element/assertion/defined.js +6 -46
  6. package/lib/element/assertion/property.js +5 -45
  7. package/lib/element/assertion/satisfies.js +5 -45
  8. package/lib/element/assertion/subproof.js +4 -4
  9. package/lib/element/assertion/type.js +5 -45
  10. package/lib/element/assertion.js +3 -8
  11. package/lib/element/assumption.js +6 -52
  12. package/lib/element/combinator/bracketed.js +3 -3
  13. package/lib/element/combinator.js +5 -10
  14. package/lib/element/conclusion.js +5 -10
  15. package/lib/element/constructor/bracketed.js +5 -45
  16. package/lib/element/constructor.js +5 -10
  17. package/lib/element/declaration/combinator.js +4 -3
  18. package/lib/element/declaration/complexType.js +4 -3
  19. package/lib/element/declaration/constructor.js +4 -3
  20. package/lib/element/declaration/metavariable.js +4 -3
  21. package/lib/element/declaration/simpleType.js +4 -3
  22. package/lib/element/declaration/typePrefix.js +4 -3
  23. package/lib/element/declaration/variable.js +4 -3
  24. package/lib/element/declaration.js +3 -8
  25. package/lib/element/deduction.js +5 -11
  26. package/lib/element/derivation.js +5 -6
  27. package/lib/element/equality.js +6 -52
  28. package/lib/element/equivalence.js +8 -14
  29. package/lib/element/equivalences.js +5 -11
  30. package/lib/element/error.js +5 -10
  31. package/lib/element/frame.js +6 -53
  32. package/lib/element/hypothesis.js +5 -5
  33. package/lib/element/judgement.js +6 -52
  34. package/lib/element/label.js +5 -10
  35. package/lib/element/metaType.js +5 -10
  36. package/lib/element/metavariable.js +8 -54
  37. package/lib/element/parameter.js +5 -10
  38. package/lib/element/procedureCall.js +4 -10
  39. package/lib/element/procedureReference.js +5 -10
  40. package/lib/element/proof.js +5 -10
  41. package/lib/element/proofAssertion/premise.js +4 -3
  42. package/lib/element/proofAssertion/step.js +5 -45
  43. package/lib/element/proofAssertion/supposition.js +4 -3
  44. package/lib/element/proofAssertion.js +3 -8
  45. package/lib/element/property.js +5 -10
  46. package/lib/element/propertyRelation.js +5 -10
  47. package/lib/element/reference.js +6 -52
  48. package/lib/element/rule.js +7 -54
  49. package/lib/element/section.js +5 -10
  50. package/lib/element/signature.js +6 -53
  51. package/lib/element/statement.js +5 -11
  52. package/lib/element/subDerivation.js +5 -6
  53. package/lib/element/subproof.js +6 -52
  54. package/lib/element/substitution/frame.js +4 -3
  55. package/lib/element/substitution/reference.js +4 -3
  56. package/lib/element/substitution/statement.js +5 -45
  57. package/lib/element/substitution/term.js +4 -3
  58. package/lib/element/substitution.js +3 -8
  59. package/lib/element/substitutions.js +5 -11
  60. package/lib/element/term.js +5 -11
  61. package/lib/element/topLevelAssertion/axiom.js +4 -3
  62. package/lib/element/topLevelAssertion/conjecture.js +4 -3
  63. package/lib/element/topLevelAssertion/lemma.js +4 -3
  64. package/lib/element/topLevelAssertion/theorem.js +4 -3
  65. package/lib/element/topLevelAssertion.js +3 -8
  66. package/lib/element/topLevelMetaAssertion/metaLemma.js +4 -3
  67. package/lib/element/topLevelMetaAssertion/metatheorem.js +4 -3
  68. package/lib/element/topLevelMetaAssertion.js +3 -8
  69. package/lib/element/type.js +5 -11
  70. package/lib/element/typePrefix.js +5 -10
  71. package/lib/element/variable.js +6 -52
  72. package/lib/metaTypes.js +5 -10
  73. package/lib/types.js +3 -8
  74. package/lib/utilities/element.js +57 -62
  75. package/lib/utilities/json.js +32 -37
  76. package/lib/utilities/unification.js +6 -11
  77. package/lib/utilities/validation.js +3 -8
  78. package/package.json +2 -2
  79. package/src/context/file.js +2 -4
  80. package/src/context/literal.js +3 -4
  81. package/src/context/scoped.js +1 -3
  82. package/src/element/assertion/contained.js +2 -1
  83. package/src/element/assertion/defined.js +4 -2
  84. package/src/element/assertion/property.js +4 -2
  85. package/src/element/assertion/satisfies.js +3 -2
  86. package/src/element/assertion/subproof.js +3 -2
  87. package/src/element/assertion/type.js +4 -2
  88. package/src/element/assertion.js +1 -1
  89. package/src/element/assumption.js +3 -3
  90. package/src/element/combinator/bracketed.js +1 -1
  91. package/src/element/combinator.js +3 -2
  92. package/src/element/conclusion.js +3 -2
  93. package/src/element/constructor/bracketed.js +3 -2
  94. package/src/element/constructor.js +3 -2
  95. package/src/element/declaration/combinator.js +3 -1
  96. package/src/element/declaration/complexType.js +3 -1
  97. package/src/element/declaration/constructor.js +4 -1
  98. package/src/element/declaration/metavariable.js +3 -1
  99. package/src/element/declaration/simpleType.js +3 -1
  100. package/src/element/declaration/typePrefix.js +3 -1
  101. package/src/element/declaration/variable.js +3 -1
  102. package/src/element/declaration.js +1 -1
  103. package/src/element/deduction.js +3 -3
  104. package/src/element/derivation.js +3 -4
  105. package/src/element/equality.js +3 -3
  106. package/src/element/equivalence.js +3 -4
  107. package/src/element/equivalences.js +3 -4
  108. package/src/element/error.js +2 -2
  109. package/src/element/frame.js +3 -5
  110. package/src/element/hypothesis.js +4 -2
  111. package/src/element/judgement.js +3 -3
  112. package/src/element/label.js +3 -2
  113. package/src/element/metaType.js +2 -2
  114. package/src/element/metavariable.js +3 -3
  115. package/src/element/parameter.js +2 -2
  116. package/src/element/procedureCall.js +3 -3
  117. package/src/element/procedureReference.js +2 -2
  118. package/src/element/proof.js +3 -2
  119. package/src/element/proofAssertion/premise.js +4 -1
  120. package/src/element/proofAssertion/step.js +4 -2
  121. package/src/element/proofAssertion/supposition.js +4 -1
  122. package/src/element/proofAssertion.js +1 -1
  123. package/src/element/property.js +2 -2
  124. package/src/element/propertyRelation.js +2 -2
  125. package/src/element/reference.js +3 -3
  126. package/src/element/rule.js +3 -5
  127. package/src/element/section.js +2 -2
  128. package/src/element/signature.js +3 -5
  129. package/src/element/statement.js +3 -4
  130. package/src/element/subDerivation.js +3 -4
  131. package/src/element/subproof.js +3 -3
  132. package/src/element/substitution/frame.js +4 -1
  133. package/src/element/substitution/reference.js +4 -1
  134. package/src/element/substitution/statement.js +4 -2
  135. package/src/element/substitution/term.js +4 -1
  136. package/src/element/substitution.js +1 -1
  137. package/src/element/substitutions.js +3 -4
  138. package/src/element/term.js +3 -4
  139. package/src/element/topLevelAssertion/axiom.js +3 -1
  140. package/src/element/topLevelAssertion/conjecture.js +3 -1
  141. package/src/element/topLevelAssertion/lemma.js +3 -1
  142. package/src/element/topLevelAssertion/theorem.js +3 -1
  143. package/src/element/topLevelAssertion.js +1 -2
  144. package/src/element/topLevelMetaAssertion/metaLemma.js +3 -1
  145. package/src/element/topLevelMetaAssertion/metatheorem.js +3 -1
  146. package/src/element/topLevelMetaAssertion.js +1 -1
  147. package/src/element/type.js +3 -4
  148. package/src/element/typePrefix.js +2 -2
  149. package/src/element/variable.js +3 -3
  150. package/src/metaTypes.js +1 -1
  151. package/src/types.js +1 -1
  152. package/src/utilities/element.js +1 -1
  153. package/src/utilities/json.js +1 -1
  154. package/src/utilities/unification.js +1 -2
  155. package/src/utilities/validation.js +1 -1
  156. package/lib/element.js +0 -91
  157. package/lib/elements.js +0 -27
  158. package/src/element.js +0 -43
  159. package/src/elements.js +0 -13
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Declaration from "../declaration";
4
6
 
5
- import { define } from "../../elements";
7
+ const { define } = elements;
6
8
 
7
9
  export default define(class ComplexTypeDeclaration extends Declaration {
8
10
  constructor(context, string, node, type, prefixed) {
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Declaration from "../declaration";
4
6
 
5
- import { define } from "../../elements";
6
7
  import { validateTerm } from "../../process/validate";
7
8
 
9
+ const { define } = elements;
10
+
8
11
  export default define(class ConstructorDeclaration extends Declaration {
9
12
  constructor(context, string, node, constructor) {
10
13
  super(context, string, node);
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Declaration from "../declaration";
4
6
 
5
- import { define } from "../../elements";
7
+ const { define } = elements;
6
8
 
7
9
  export default define(class MetavariableDeclaration extends Declaration {
8
10
  constructor(context, string, node, metavariable) {
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Declaration from "../declaration";
4
6
 
5
- import { define } from "../../elements";
7
+ const { define } = elements;
6
8
 
7
9
  export default define(class SimpleTypeDeclaration extends Declaration {
8
10
  constructor(context, string, node, type, prefixed) {
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Declaration from "../declaration";
4
6
 
5
- import { define } from "../../elements";
7
+ const { define } = elements;
6
8
 
7
9
  export default define(class TypePrefixDeclaration extends Declaration {
8
10
  constructor(context, string, node, typePrefix) {
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Declaration from "../declaration";
4
6
 
5
- import { define } from "../../elements";
7
+ const { define } = elements;
6
8
 
7
9
  export default define(class VariableDeclaration extends Declaration {
8
10
  constructor(context, string, node, variable) {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element } from "occam-furtle";
4
4
 
5
5
  export default class Declaration extends Element {
6
6
  constructor(context, string, node) {
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
4
- import EphemeralContext from "../context/ephemeral";
3
+ import { Element, elements } from "occam-furtle";
5
4
 
6
- import { define } from "../elements";
7
5
  import { attempt } from "../utilities/context";
8
6
  import { termsFromJSON, framesFromJSON, statementFromJSON, termsToTermsJSON, framesToFramesJSON, statementToStatementJSON } from "../utilities/json";
9
7
 
8
+ const { define } = elements;
9
+
10
10
  export default define(class Deduction extends Element {
11
11
  constructor(context, string, node, statement) {
12
12
  super(context, string, node);
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
6
  import assignAssignments from "../process/assign";
7
7
 
8
- import { define } from "../elements";
9
-
10
- const { last } = arrayUtilities;
8
+ const { last } = arrayUtilities,
9
+ { define } = elements;
11
10
 
12
11
  export default define(class Derivation extends Element {
13
12
  constructor(context, string, node, subproofOrProofAssertions) {
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
4
- import elements from "../elements";
3
+ import { Element, elements } from "occam-furtle";
5
4
 
6
- import { define } from "../elements";
7
5
  import { equateTerms } from "../process/equate";
8
6
  import { equalityAssignmentFromEquality, variableAssignmentFromVariable } from "../process/assign";
9
7
 
8
+ const { define } = elements;
9
+
10
10
  export default define(class Equality extends Element {
11
11
  constructor(context, string, node, leftTerm, rightTerm) {
12
12
  super(context, string, node);
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
-
7
- import { define } from "../elements";
8
6
  import { literally } from "../utilities/context";
9
7
  import { termsStringFromTerms } from "../utilities/string";
10
8
  import { instantiateEquivalence } from "../process/instantiate";
11
9
  import { stripBracketsFromTermNode } from "../utilities/brackets";
12
10
  import { equivalenceFromEquivalenceNode } from "../utilities/element";
13
11
 
14
- const { compress } = arrayUtilities;
12
+ const { define } = elements,
13
+ { compress } = arrayUtilities;
15
14
 
16
15
  export default define(class Equivalence extends Element {
17
16
  constructor(context, string, node, terms) {
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
-
7
- import { define } from "../elements";
8
6
  import { EMPTY_STRING } from "../constants";
9
7
  import { variablesFromTerm } from "./term";
10
8
 
11
- const { push, separate } = arrayUtilities;
9
+ const { define } = elements,
10
+ { push, separate } = arrayUtilities;
12
11
 
13
12
  export default define(class Equivalences extends Element {
14
13
  constructor(context, string, node, array) {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class Error extends Element {
8
8
  constructor(context, string, node) {
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
- import elements from "../elements";
7
-
8
- import { define } from "../elements";
9
6
  import { FRAME_META_TYPE_NAME } from "../metaTypeNames";
10
7
  import { assumptionsStringFromAssumptions } from "../utilities/string";
11
8
 
12
- const { first } = arrayUtilities;
9
+ const { first } = arrayUtilities,
10
+ { define } = elements;
13
11
 
14
12
  export default define(class Frame extends Element {
15
13
  constructor(context, string, node, assumptions) {
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
+
4
5
  import assignAssignments from "../process/assign";
5
6
 
6
- import { define } from "../elements";
7
7
  import { statementFromJSON, statementToStatementJSON } from "../utilities/json";
8
8
 
9
+ const { define } = elements;
10
+
9
11
  export default define(class Hypothesis extends Element {
10
12
  constructor(context, string, node, statement) {
11
13
  super(context, string, node);
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
4
- import elements from "../elements";
3
+ import { Element, elements } from "occam-furtle";
5
4
 
6
- import { define } from "../elements";
7
5
  import { judgementAssignmentFromJudgement } from "../process/assign";
8
6
 
7
+ const { define } = elements;
8
+
9
9
  export default define(class Judgement extends Element {
10
10
  constructor(context, string, node, frame, assumption) {
11
11
  super(context, string, node);
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
6
5
  import { metavariableFromJSON, metavariableToMetavariableJSON } from "../utilities/json";
7
6
 
7
+ const { define } = elements;
8
+
8
9
  export default define(class Label extends Element {
9
10
  constructor(context, string, node, metavariable) {
10
11
  super(context, string, node);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class MetaType extends Element {
8
8
  constructor(context, string, node, name) {
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
4
- import elements from "../elements";
3
+ import { Element, elements } from "occam-furtle";
5
4
 
6
- import { define } from "../elements";
7
5
  import { EMPTY_STRING } from "../constants";
8
6
  import { synthetically } from "../utilities/context";
9
7
  import { typeToTypeJSON } from "../utilities/json";
10
8
  import { metaTypeToMetaTypeJSON } from "../utilities/json";
11
9
  import { unifyMetavariable, unifyMetavariableIntrinsically } from "../process/unify";
12
10
 
11
+ const { define } = elements;
12
+
13
13
  export default define(class Metavariable extends Element {
14
14
  constructor(context, string, node, name, type, metaType) {
15
15
  super(context, string, node);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class Parameter extends Element {
8
8
  constructor(context, string, node, name, identifier) {
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  import { Expressions } from "occam-furtle";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
-
7
- import { define } from "../elements";
8
6
  import { parametersFromJSON, procedureReferenceFromJSON, parametersToParametersJSON, procedureReferenceToProcedureReferenceJSON } from "../utilities/json";
9
7
 
8
+ const { define } = elements;
9
+
10
10
  export default define(class ProcedureCall extends Element {
11
11
  constructor(context, string, node, parameters, procedureReference) {
12
12
  super(context, string, node);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class ProcedureReference extends Element {
8
8
  constructor(context, string, node, name) {
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
5
  import { scope } from "../utilities/context";
6
- import { define } from "../elements";
6
+
7
+ const { define } = elements;
7
8
 
8
9
  export default define(class Proof extends Element {
9
10
  constructor(context, string, node, derivation) {
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import ProofAssertion from "../proofAssertion";
4
6
  import assignAssignments from "../../process/assign";
5
7
 
6
- import { define } from "../../elements";
7
8
  import { attempt, synthetically } from "../../utilities/context";
8
9
  import { termsFromJSON,
9
10
  framesFromJSON,
@@ -14,6 +15,8 @@ import { termsFromJSON,
14
15
  statementToStatementJSON,
15
16
  procedureCallToProcedureCallJSON } from "../../utilities/json";
16
17
 
18
+ const { define } = elements;
19
+
17
20
  export default define(class Premise extends ProofAssertion {
18
21
  constructor(context, string, node, statement, procedureCall) {
19
22
  super(context, string, node, statement);
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import elements from "../../elements";
3
+ import { elements } from "occam-furtle";
4
+
4
5
  import ProofAssertion from "../proofAssertion";
5
6
 
6
- import { define } from "../../elements";
7
7
  import { unifyStatements } from "../../utilities/unification";
8
8
  import { attempt, liminally } from "../../utilities/context";
9
9
  import { propertyAssertionFromStatement } from "../../utilities/statement";
10
10
 
11
+ const { define } = elements;
12
+
11
13
  export default define(class Step extends ProofAssertion {
12
14
  constructor(context, string, node, statement, reference, satisfiesAssertion) {
13
15
  super(context, string, node, statement);
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import ProofAssertion from "../proofAssertion";
4
6
  import assignAssignments from "../../process/assign";
5
7
 
6
- import { define } from "../../elements";
7
8
  import { attempt, synthetically } from "../../utilities/context";
8
9
  import { termsFromJSON,
9
10
  framesFromJSON,
@@ -14,6 +15,8 @@ import { termsFromJSON,
14
15
  statementToStatementJSON,
15
16
  procedureCallToProcedureCallJSON } from "../../utilities/json";
16
17
 
18
+ const { define } = elements;
19
+
17
20
  export default define(class Supposition extends ProofAssertion {
18
21
  constructor(context, string, node, statement, procedureCall) {
19
22
  super(context, string, node, statement);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element } from "occam-furtle";
4
4
 
5
5
  import { equateStatements } from "../process/equate";
6
6
 
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class Property extends Element {
8
8
  constructor(context, string, node, name, nominalTypeName) {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class PropertyRelation extends Element {
8
8
  constructor(context, string, node, property, term) {
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
4
- import elements from "../elements";
3
+ import { Element, elements } from "occam-furtle";
5
4
 
6
- import { define } from "../elements";
7
5
  import { attempt } from "../utilities/context";
8
6
  import { REFERENCE_META_TYPE_NAME } from "../metaTypeNames";
9
7
  import { findMetaTypeByMetaTypeName } from "../metaTypes";
10
8
  import { unifyMetavariableIntrinsically } from "../process/unify";
11
9
  import { metavariableFromJSON, metavariableToMetavariableJSON } from "../utilities/json";
12
10
 
11
+ const { define } = elements;
12
+
13
13
  export default define(class Reference extends Element {
14
14
  constructor(context, string, node, metavariable) {
15
15
  super(context, string, node);
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
-
5
- import Element from "../element";
6
- import elements from "../elements";
4
+ import { Element, elements } from "occam-furtle";
7
5
 
8
6
  import { scope } from "../utilities/context";
9
- import { define } from "../elements";
10
7
  import { labelsFromJSON,
11
8
  premisesFromJSON,
12
9
  conclusionFromJSON,
@@ -14,7 +11,8 @@ import { labelsFromJSON,
14
11
  premisesToPremisesJSON,
15
12
  conclusionToConclusionJSON } from "../utilities/json";
16
13
 
17
- const { reverse, extract, backwardsEvery } = arrayUtilities;
14
+ const { define } = elements,
15
+ { reverse, extract, backwardsEvery } = arrayUtilities;
18
16
 
19
17
  export default define(class Rule extends Element {
20
18
  constructor(context, string, node, proof, labels, premises, conclusion) {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
3
+ import { Element, elements } from "occam-furtle";
4
4
 
5
- import { define } from "../elements";
5
+ const { define } = elements;
6
6
 
7
7
  export default define(class Section extends Element {
8
8
  constructor(context, string, node, hypotheses, axiom, lemma, theorem, conjecture) {
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
- import elements from "../elements";
7
-
8
- import { define } from "../elements";
9
6
  import { synthetically } from "../utilities/context";
10
7
  import { signatureStringFromTerms } from "../utilities/string";
11
8
  import { termsFromJSON, termsToTermsJSON } from "../utilities/json";
12
9
 
13
- const { match, compare, correlate } = arrayUtilities;
10
+ const { define } = elements,
11
+ { match, compare, correlate } = arrayUtilities;
14
12
 
15
13
  export default define(class Signature extends Element {
16
14
  constructor(context, string, node, terms) {
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
-
7
- import { define } from "../elements";
8
6
  import { unifyStatement } from "../process/unify";
9
7
  import { validateStatements } from "../utilities/validation";
10
8
  import { STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
11
9
 
12
- const { match, backwardsSome } = arrayUtilities;
10
+ const { define } = elements,
11
+ { match, backwardsSome } = arrayUtilities;
13
12
 
14
13
  export default define(class Statement extends Element {
15
14
  constructor(context, string, node) {
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
+ import { Element, elements } from "occam-furtle";
4
5
 
5
- import Element from "../element";
6
6
  import assignAssignments from "../process/assign";
7
7
 
8
- import { define } from "../elements";
9
-
10
- const { last } = arrayUtilities;
8
+ const { last } = arrayUtilities,
9
+ { define } = elements;
11
10
 
12
11
  export default define(class SubDerivation extends Element {
13
12
  constructor(context, string, node, subproofOrProofAssertions) {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import Element from "../element";
4
- import elements from "../elements";
3
+ import { Element, elements } from "occam-furtle";
5
4
 
6
5
  import { scope } from "../utilities/context";
7
- import { define } from "../elements";
6
+
7
+ const { define } = elements;
8
8
 
9
9
  export default define(class Subproof extends Element {
10
10
  constructor(context, string, node, suppositions, subDerivation) {
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Substitution from "../substitution";
4
6
 
5
- import { define } from "../../elements";
6
7
  import { literally } from "../../utilities/context";
7
8
  import { instantiateFrameSubstitution } from "../../process/instantiate";
8
9
  import { frameSubstitutionStringFromFrameAndMetavariable } from "../../utilities/string";
9
10
  import { frameSubstitutionFromStatementNode, frameSubstitutionFromFrameSubstitutionNode } from "../../utilities/element";
10
11
 
12
+ const { define } = elements;
13
+
11
14
  export default define(class FrameSubstitution extends Substitution {
12
15
  constructor(context, string, node, targetFrame, replacementFrame) {
13
16
  super(context, string, node);
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ import { elements } from "occam-furtle";
4
+
3
5
  import Substitution from "../substitution";
4
6
 
5
- import { define } from "../../elements";
6
7
  import { literally } from "../../utilities/context";
7
8
  import { instantiateReferenceSubstitution } from "../../process/instantiate";
8
9
  import { referenceSubstitutionFromReferenceSubstitutionNode } from "../../utilities/element";
9
10
  import { referenceSubstitutionStringFromReferenceAndMetavariable } from "../../utilities/string";
10
11
 
12
+ const { define } = elements;
13
+
11
14
  export default define(class ReferenceSubstitution extends Substitution {
12
15
  constructor(context, string, node, targetReference, replacementReference) {
13
16
  super(context, string, node);
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import elements from "../../elements";
3
+ import { elements } from "occam-furtle";
4
+
4
5
  import Substitution from "../substitution";
5
6
 
6
- import { define } from "../../elements";
7
7
  import { literally } from "../../utilities/context";
8
8
  import { unifySubstitution } from "../../process/unify";
9
9
  import { stripBracketsFromStatement } from "../../utilities/brackets";
@@ -12,6 +12,8 @@ import { statementSubstitutionFromStatementSubstitutionNode } from "../../utilit
12
12
  import { statementToStatementJSON, metavariableToMetavariableJSON } from "../../utilities/json";
13
13
  import { statementSubstitutionStringFromStatementAndMetavariable, statementSubstitutionStringFromStatementMetavariableAndSubstitution } from "../../utilities/string";
14
14
 
15
+ const { define } = elements;
16
+
15
17
  export default define(class StatementSubstitution extends Substitution {
16
18
  constructor(context, string, node, resolved, substitution, targetStatement, replacementStatement) {
17
19
  super(context, string, node);