occam-verify-cli 1.0.476 → 1.0.478

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 (143) hide show
  1. package/lib/context/file.js +8 -2
  2. package/lib/context/scoped.js +9 -3
  3. package/lib/element/assertion/contained.js +3 -3
  4. package/lib/element/assertion/defined.js +46 -6
  5. package/lib/element/assertion/property.js +45 -5
  6. package/lib/element/assertion/satisfies.js +45 -5
  7. package/lib/element/assertion/subproof.js +4 -4
  8. package/lib/element/assertion/type.js +45 -5
  9. package/lib/element/assumption.js +4 -4
  10. package/lib/element/combinator/bracketed.js +3 -3
  11. package/lib/element/combinator.js +3 -3
  12. package/lib/element/conclusion.js +3 -3
  13. package/lib/element/constructor/bracketed.js +45 -5
  14. package/lib/element/constructor.js +3 -3
  15. package/lib/element/declaration/combinator.js +3 -4
  16. package/lib/element/declaration/complexType.js +3 -4
  17. package/lib/element/declaration/constructor.js +3 -4
  18. package/lib/element/declaration/metavariable.js +3 -4
  19. package/lib/element/declaration/simpleType.js +3 -4
  20. package/lib/element/declaration/typePrefix.js +3 -4
  21. package/lib/element/declaration/variable.js +3 -4
  22. package/lib/element/deduction.js +3 -3
  23. package/lib/element/derivation.js +5 -4
  24. package/lib/element/equality.js +4 -4
  25. package/lib/element/equivalence.js +5 -4
  26. package/lib/element/equivalences.js +5 -4
  27. package/lib/element/error.js +3 -3
  28. package/lib/element/frame.js +6 -5
  29. package/lib/element/hypothesis.js +3 -3
  30. package/lib/element/judgement.js +4 -4
  31. package/lib/element/label.js +3 -3
  32. package/lib/element/metaType.js +3 -3
  33. package/lib/element/metavariable.js +47 -6
  34. package/lib/element/parameter.js +3 -3
  35. package/lib/element/procedureCall.js +3 -3
  36. package/lib/element/procedureReference.js +3 -3
  37. package/lib/element/proof.js +3 -3
  38. package/lib/element/proofAssertion/premise.js +3 -4
  39. package/lib/element/proofAssertion/step.js +45 -5
  40. package/lib/element/proofAssertion/supposition.js +3 -4
  41. package/lib/element/property.js +3 -3
  42. package/lib/element/propertyRelation.js +3 -3
  43. package/lib/element/reference.js +4 -4
  44. package/lib/element/rule.js +48 -6
  45. package/lib/element/section.js +3 -3
  46. package/lib/element/signature.js +6 -5
  47. package/lib/element/statement.js +5 -4
  48. package/lib/element/subDerivation.js +5 -4
  49. package/lib/element/subproof.js +4 -4
  50. package/lib/element/substitution/frame.js +3 -4
  51. package/lib/element/substitution/reference.js +3 -4
  52. package/lib/element/substitution/statement.js +45 -5
  53. package/lib/element/substitution/term.js +3 -4
  54. package/lib/element/substitutions.js +5 -4
  55. package/lib/element/term.js +5 -4
  56. package/lib/element/topLevelAssertion/axiom.js +3 -4
  57. package/lib/element/topLevelAssertion/conjecture.js +3 -4
  58. package/lib/element/topLevelAssertion/lemma.js +3 -4
  59. package/lib/element/topLevelAssertion/theorem.js +3 -4
  60. package/lib/element/topLevelMetaAssertion/metaLemma.js +3 -4
  61. package/lib/element/topLevelMetaAssertion/metatheorem.js +3 -4
  62. package/lib/element/type.js +5 -4
  63. package/lib/element/typePrefix.js +3 -3
  64. package/lib/element/variable.js +4 -4
  65. package/lib/elements.js +27 -0
  66. package/lib/metaTypes.js +10 -5
  67. package/lib/types.js +8 -3
  68. package/lib/utilities/element.js +62 -57
  69. package/lib/utilities/json.js +37 -32
  70. package/lib/utilities/unification.js +11 -6
  71. package/lib/utilities/validation.js +8 -3
  72. package/package.json +2 -2
  73. package/src/context/file.js +3 -1
  74. package/src/context/scoped.js +3 -1
  75. package/src/element/assertion/contained.js +1 -2
  76. package/src/element/assertion/defined.js +2 -4
  77. package/src/element/assertion/property.js +2 -4
  78. package/src/element/assertion/satisfies.js +2 -3
  79. package/src/element/assertion/subproof.js +2 -3
  80. package/src/element/assertion/type.js +2 -4
  81. package/src/element/assumption.js +2 -3
  82. package/src/element/combinator/bracketed.js +1 -1
  83. package/src/element/combinator.js +2 -3
  84. package/src/element/conclusion.js +2 -3
  85. package/src/element/constructor/bracketed.js +2 -3
  86. package/src/element/constructor.js +2 -3
  87. package/src/element/declaration/combinator.js +1 -3
  88. package/src/element/declaration/complexType.js +1 -3
  89. package/src/element/declaration/constructor.js +1 -4
  90. package/src/element/declaration/metavariable.js +1 -3
  91. package/src/element/declaration/simpleType.js +1 -3
  92. package/src/element/declaration/typePrefix.js +1 -3
  93. package/src/element/declaration/variable.js +1 -3
  94. package/src/element/deduction.js +2 -3
  95. package/src/element/derivation.js +4 -3
  96. package/src/element/equality.js +2 -3
  97. package/src/element/equivalence.js +3 -3
  98. package/src/element/equivalences.js +3 -3
  99. package/src/element/error.js +2 -2
  100. package/src/element/frame.js +3 -3
  101. package/src/element/hypothesis.js +2 -3
  102. package/src/element/judgement.js +2 -3
  103. package/src/element/label.js +2 -3
  104. package/src/element/metaType.js +2 -2
  105. package/src/element/metavariable.js +4 -3
  106. package/src/element/parameter.js +2 -2
  107. package/src/element/procedureCall.js +2 -3
  108. package/src/element/procedureReference.js +2 -2
  109. package/src/element/proof.js +2 -3
  110. package/src/element/proofAssertion/premise.js +1 -4
  111. package/src/element/proofAssertion/step.js +2 -4
  112. package/src/element/proofAssertion/supposition.js +1 -4
  113. package/src/element/property.js +2 -2
  114. package/src/element/propertyRelation.js +2 -2
  115. package/src/element/reference.js +2 -3
  116. package/src/element/rule.js +5 -3
  117. package/src/element/section.js +2 -2
  118. package/src/element/signature.js +3 -3
  119. package/src/element/statement.js +3 -3
  120. package/src/element/subDerivation.js +4 -3
  121. package/src/element/subproof.js +2 -3
  122. package/src/element/substitution/frame.js +1 -4
  123. package/src/element/substitution/reference.js +1 -4
  124. package/src/element/substitution/statement.js +2 -4
  125. package/src/element/substitution/term.js +1 -4
  126. package/src/element/substitutions.js +3 -3
  127. package/src/element/term.js +3 -3
  128. package/src/element/topLevelAssertion/axiom.js +1 -3
  129. package/src/element/topLevelAssertion/conjecture.js +1 -3
  130. package/src/element/topLevelAssertion/lemma.js +1 -3
  131. package/src/element/topLevelAssertion/theorem.js +1 -3
  132. package/src/element/topLevelMetaAssertion/metaLemma.js +1 -3
  133. package/src/element/topLevelMetaAssertion/metatheorem.js +1 -3
  134. package/src/element/type.js +3 -3
  135. package/src/element/typePrefix.js +2 -2
  136. package/src/element/variable.js +2 -3
  137. package/src/elements.js +13 -0
  138. package/src/metaTypes.js +1 -1
  139. package/src/types.js +1 -1
  140. package/src/utilities/element.js +1 -1
  141. package/src/utilities/json.js +1 -1
  142. package/src/utilities/unification.js +2 -1
  143. package/src/utilities/validation.js +1 -1
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
4
-
5
3
  import TopLevelAssertion from "../topLevelAssertion";
6
4
 
7
- const { define } = elements;
5
+ import { define } from "../../elements";
8
6
 
9
7
  export default define(class Lemma extends TopLevelAssertion {
10
8
  verify() {
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
4
-
5
3
  import TopLevelAssertion from "../topLevelAssertion";
6
4
 
7
- const { define } = elements;
5
+ import { define } from "../../elements";
8
6
 
9
7
  export default define(class Theorem extends TopLevelAssertion {
10
8
  verify() {
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
4
-
5
3
  import TopLevelMetaAssertion from "./../topLevelMetaAssertion";
6
4
 
7
- const { define } = elements;
5
+ import { define } from "../../elements";
8
6
 
9
7
  export default define(class MetaLemma extends TopLevelMetaAssertion {
10
8
  verify() {
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
4
-
5
3
  import TopLevelMetaAssertion from "../topLevelMetaAssertion";
6
4
 
7
- const { define } = elements;
5
+ import { define } from "../../elements";
8
6
 
9
7
  export default define(class Metatheorem extends TopLevelMetaAssertion {
10
8
  verify() {
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ import { Element } from "occam-furtle";
3
4
  import { arrayUtilities } from "necessary";
4
- import { Element, elements } from "occam-furtle";
5
5
 
6
+ import { define } from "../elements";
6
7
  import { baseTypeFromNothing } from "../types";
7
8
  import { typeStringFromTypeNameTypePrefixNameAndSuperTypes } from "../utilities/string";
8
9
  import { superTypesFromJSON, propertiesFromJSON, superTypesToSuperTypesJSON, propertiesToPropertiesJSON } from "../utilities/json";
9
10
 
10
- const { define } = elements,
11
- { push, first } = arrayUtilities;
11
+ const { push, first } = arrayUtilities;
12
12
 
13
13
  export default define(class Type extends Element {
14
14
  constructor(context, string, node, name, prefixName, superTypes, properties, provisional) {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { Element, elements } from "occam-furtle";
3
+ import { Element } from "occam-furtle";
4
4
 
5
- const { define } = elements;
5
+ import { define } from "../elements";
6
6
 
7
7
  export default define(class TypePrefix extends Element {
8
8
  constructor(context, string, node, name) {
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { Element, elements } from "occam-furtle";
3
+ import { Element } from "occam-furtle";
4
4
 
5
+ import { define } from "../elements";
5
6
  import { synthetically } from "../utilities/context";
6
7
  import { typeToTypeJSON } from "../utilities/json";
7
8
 
8
- const { define } = elements;
9
-
10
9
  export default define(class Variable extends Element {
11
10
  constructor(context, string, node, type, identifier, propertyRelations) {
12
11
  super(context, string, node);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ const elements = {};
4
+
5
+ export function define(Element) {
6
+ const { name } = Element;
7
+
8
+ elements[name] = Element;
9
+
10
+ return Element;
11
+ }
12
+
13
+ export default elements;
package/src/metaTypes.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
3
+ import elements from "./elements";
4
4
 
5
5
  import { FRAME_META_TYPE_NAME, REFERENCE_META_TYPE_NAME, STATEMENT_META_TYPE_NAME } from "./metaTypeNames";
6
6
 
package/src/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
3
+ import elements from "./elements";
4
4
 
5
5
  import { BASE_TYPE_SYMBOL } from "./constants";
6
6
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
3
+ import elements from "../elements";
4
4
 
5
5
  import { literally } from "../utilities/context";
6
6
  import { baseTypeFromNothing } from "../types";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
3
+ import elements from "../elements";
4
4
 
5
5
  import { findMetaTypeByMetaTypeName } from "../metaTypes";
6
6
 
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
4
3
  import { arrayUtilities } from "necessary";
5
4
 
5
+ import elements from "../elements";
6
+
6
7
  import { synthetically } from "../utilities/context";
7
8
  import { equalityFromStatement,
8
9
  judgementFromStatement,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { elements } from "occam-furtle";
3
+ import elements from "../elements";
4
4
 
5
5
  import { bracketedConstructorFromNothing, bracketedCombinatorFromNothing } from "../utilities/instance";
6
6
  import { equalityFromStatement,