occam-verify-cli 1.0.823 → 1.0.825

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.
@@ -6,7 +6,6 @@ import { Element, asynchronousUtilities } from "occam-languages";
6
6
  import { define } from "../elements";
7
7
  import { enclose } from "../utilities/context";
8
8
  import { labelsFromJSON, premisesFromJSON, conclusionFromJSON, labelsToLabelsJSON, premisesToPremisesJSON, conclusionToConclusionJSON } from "../utilities/json";
9
- import {rulsStringFromLabelsPremisesAndConclusion} from "../utilities/string";
10
9
 
11
10
  const { reverse } = arrayUtilities,
12
11
  { asyncExtract, asyncForwardsEvery, asyncBackwardsEvery } = asynchronousUtilities;
@@ -344,7 +343,6 @@ export default define(class Rule extends Element {
344
343
  labels = labelsFromJSON(json, context),
345
344
  premises = premisesFromJSON(json, context),
346
345
  conclusion = conclusionFromJSON(json, context),
347
- ruleString = rulsStringFromLabelsPremisesAndConclusion(labels, premises, conclusion),
348
346
  rule = new Rule(context, string, node, proof, labels, premises, conclusion);
349
347
 
350
348
  return rule;
@@ -273,11 +273,8 @@ export function deductionFromDeductionNode(deductionNode, context) {
273
273
  const { Deduction } = elements,
274
274
  node = deductionNode, ///
275
275
  string = context.nodeAsString(node),
276
- statement = statementFromDeductionNode(deductionNode, context);
277
-
278
- context = null;
279
-
280
- const deduction = new Deduction(context, string, node, statement);
276
+ statement = statementFromDeductionNode(deductionNode, context),
277
+ deduction = new Deduction(context, string, node, statement);
281
278
 
282
279
  return deduction;
283
280
  }
@@ -419,11 +416,8 @@ export function conclusionFromConclusionNode(conclusionNode, context) {
419
416
  const { Conclusion } = elements,
420
417
  node = conclusionNode, ///
421
418
  string = context.nodeAsString(node),
422
- statement = statementFromConclusionNode(conclusionNode, context);
423
-
424
- context = null;
425
-
426
- const conclusion = new Conclusion(context, string, node, statement);
419
+ statement = statementFromConclusionNode(conclusionNode, context),
420
+ conclusion = new Conclusion(context, string, node, statement);
427
421
 
428
422
  return conclusion;
429
423
  }
@@ -267,6 +267,22 @@ export function termsFromJSON(json, context) {
267
267
  return terms;
268
268
  }
269
269
 
270
+ export function rulesFromJSON(json, context) {
271
+ let { rules } = json;
272
+
273
+ const { Rule } = elements,
274
+ rulesJSON = rules; ///
275
+
276
+ rules = rulesJSON.map((ruleJSON) => {
277
+ const json = ruleJSON, ///
278
+ rule = Rule.fromJSON(json, context);
279
+
280
+ return rule;
281
+ });
282
+
283
+ return rules;
284
+ }
285
+
270
286
  export function framesFromJSON(json, context) {
271
287
  let { frames } = json;
272
288
 
@@ -299,6 +315,22 @@ export function labelsFromJSON(json, context) {
299
315
  return labels;
300
316
  }
301
317
 
318
+ export function axiomsFromJSON(json, context) {
319
+ let { axioms } = json;
320
+
321
+ const { Axiom } = elements,
322
+ axiomsJSON = axioms; ///
323
+
324
+ axioms = axiomsJSON.map((axiomJSON) => {
325
+ const json = axiomJSON, ///
326
+ axiom = Axiom.fromJSON(json, context);
327
+
328
+ return axiom;
329
+ });
330
+
331
+ return axioms;
332
+ }
333
+
302
334
  export function premisesFromJSON(json, context) {
303
335
  let { premises } = json;
304
336
 
@@ -315,6 +347,22 @@ export function premisesFromJSON(json, context) {
315
347
  return premises;
316
348
  }
317
349
 
350
+ export function theoremsFromJSON(json, context) {
351
+ let { theorems } = json;
352
+
353
+ const { Theorem } = elements,
354
+ theoremsJSON = theorems; ///
355
+
356
+ theorems = theoremsJSON.map((theoremJSON) => {
357
+ const json = theoremJSON, ///
358
+ theorem = Theorem.fromJSON(json, context);
359
+
360
+ return theorem;
361
+ });
362
+
363
+ return theorems;
364
+ }
365
+
318
366
  export function variablesFromJSON(json, context) {
319
367
  let { variables } = json;
320
368
 
@@ -480,6 +528,22 @@ export function referencesFromJSON(json, context) {
480
528
  return references;
481
529
  }
482
530
 
531
+ export function conjecturesFromJSON(json, context) {
532
+ let { conjectures } = json;
533
+
534
+ const { Conjecture } = elements,
535
+ conjecturesJSON = conjectures; ///
536
+
537
+ conjectures = conjecturesJSON.map((conjectureJSON) => {
538
+ const json = conjectureJSON, ///
539
+ conjecture = Conjecture.fromJSON(json, context);
540
+
541
+ return conjecture;
542
+ });
543
+
544
+ return conjectures;
545
+ }
546
+
483
547
  export function combinatorsFromJSON(json, context) {
484
548
  let { combinators } = json;
485
549
 
@@ -857,6 +921,16 @@ export function typesToTypesJSON(types) {
857
921
  return typesJSON;
858
922
  }
859
923
 
924
+ export function rulesToRulesJSON(rules) {
925
+ const rulesJSON = rules.map((rule) => {
926
+ const ruleJSON = rule.toJSON();
927
+
928
+ return ruleJSON;
929
+ });
930
+
931
+ return rulesJSON;
932
+ }
933
+
860
934
  export function labelsToLabelsJSON(labels) {
861
935
  const labelsJSON = labels.map((label) => {
862
936
  const labelJSON = label.toJSON();
@@ -877,6 +951,16 @@ export function framesToFramesJSON(frames) {
877
951
  return framesJSON;
878
952
  }
879
953
 
954
+ export function axiomsToAxiomsJSON(axioms) {
955
+ const axiomsJSON = axioms.map((axiom) => {
956
+ const axiomJSON = axiom.toJSON();
957
+
958
+ return axiomJSON;
959
+ });
960
+
961
+ return axiomsJSON;
962
+ }
963
+
880
964
  export function premisesToPremisesJSON(premises) {
881
965
  const premisesJSON = premises.map((premise) => {
882
966
  const premiseJSON = premise.toJSON();
@@ -887,6 +971,16 @@ export function premisesToPremisesJSON(premises) {
887
971
  return premisesJSON;
888
972
  }
889
973
 
974
+ export function theoremsToTheoremsJSON(theorems) {
975
+ const theoremsJSON = theorems.map((theorem) => {
976
+ const theoremJSON = theorem.toJSON();
977
+
978
+ return theoremJSON;
979
+ });
980
+
981
+ return theoremsJSON;
982
+ }
983
+
890
984
  export function variablesToVariablesJSON(variables) {
891
985
  const variablesJSON = variables.map((variable) => {
892
986
  const variableJSON = variable.toJSON();
@@ -987,6 +1081,16 @@ export function referencesToReferencesJSON(references) {
987
1081
  return referencesJSON;
988
1082
  }
989
1083
 
1084
+ export function conjecturesToConjecturesJSON(conjectures) {
1085
+ const conjecturesJSON = conjectures.map((conjecture) => {
1086
+ const conjectureJSON = conjecture.toJSON();
1087
+
1088
+ return conjectureJSON;
1089
+ });
1090
+
1091
+ return conjecturesJSON;
1092
+ }
1093
+
990
1094
  export function combinatorsToCombinatorsJSON(combinators) {
991
1095
  const combinatorsJSON = combinators.map((combinator) => {
992
1096
  const combinatorJSON = combinator.toJSON();
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "initialiseFile", {
6
- enumerable: true,
7
- get: function() {
8
- return initialiseFile;
9
- }
10
- });
11
- const _occamlanguages = require("occam-languages");
12
- const _element = require("../utilities/element");
13
- const { nodeQuery } = _occamlanguages.queryUtilities;
14
- const ruleNodeQuery = nodeQuery("/rule"), axiomNodeQuery = nodeQuery("/axiom"), theoremNodeQuery = nodeQuery("/theorem"), conjectureNodeQuery = nodeQuery("/conjecture");
15
- class TopLevelPass extends _occamlanguages.SimplePass {
16
- static maps = [
17
- {
18
- nodeQuery: ruleNodeQuery,
19
- run: (ruleNode, context)=>{
20
- const success = true, rule = (0, _element.ruleFromRuleNode)(ruleNode, context);
21
- context.addRule(rule);
22
- return success;
23
- }
24
- },
25
- {
26
- nodeQuery: axiomNodeQuery,
27
- run: (axiomNode, context)=>{
28
- const success = true, axiom = (0, _element.axiomFromAxiomNode)(axiomNode, context);
29
- context.addAxiom(axiom);
30
- return success;
31
- }
32
- },
33
- {
34
- nodeQuery: theoremNodeQuery,
35
- run: (theoremNode, context)=>{
36
- const success = true, theorem = (0, _element.theoremFromTheoremNode)(theoremNode, context);
37
- context.addTheorem(theorem);
38
- return success;
39
- }
40
- },
41
- {
42
- nodeQuery: conjectureNodeQuery,
43
- run: (conjectureNode, context)=>{
44
- const success = true, conjecture = (0, _element.conjectureFromConjectureNode)(conjectureNode, context);
45
- context.addConjecture(conjecture);
46
- return success;
47
- }
48
- }
49
- ];
50
- }
51
- const topLevelPass = new TopLevelPass();
52
- function initialiseFile(fileNode, context) {
53
- const node = fileNode; ///
54
- topLevelPass.run(node, context);
55
- }
56
-
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL2luaXRpYWxpc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNpbXBsZVBhc3MsIHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiXG5cbmltcG9ydCB7IHJ1bGVGcm9tUnVsZU5vZGUsXG4gICAgICAgICBheGlvbUZyb21BeGlvbU5vZGUsXG4gICAgICAgICB0aGVvcmVtRnJvbVRoZW9yZW1Ob2RlLFxuICAgICAgICAgY29uamVjdHVyZUZyb21Db25qZWN0dXJlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuXG5jb25zdCB7IG5vZGVRdWVyeSB9ID0gcXVlcnlVdGlsaXRpZXM7XG5cbmNvbnN0IHJ1bGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVwiKSxcbiAgICAgIGF4aW9tTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgY29uamVjdHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlXCIpO1xuXG5jbGFzcyBUb3BMZXZlbFBhc3MgZXh0ZW5kcyBTaW1wbGVQYXNzIHtcbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBydWxlTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAocnVsZU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3Qgc3VjY2VzcyA9IHRydWUsXG4gICAgICAgICAgICAgIHJ1bGUgPSBydWxlRnJvbVJ1bGVOb2RlKHJ1bGVOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICBjb250ZXh0LmFkZFJ1bGUocnVsZSk7XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoYXhpb21Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlLFxuICAgICAgICAgICAgICBheGlvbSA9IGF4aW9tRnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnRleHQuYWRkQXhpb20oYXhpb20pO1xuXG4gICAgICAgIHJldHVybiBzdWNjZXNzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAodGhlb3JlbU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3Qgc3VjY2VzcyA9IHRydWUsXG4gICAgICAgICAgICAgIHRoZW9yZW0gPSB0aGVvcmVtRnJvbVRoZW9yZW1Ob2RlKHRoZW9yZW1Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICBjb250ZXh0LmFkZFRoZW9yZW0odGhlb3JlbSk7XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbmplY3R1cmVOb2RlUXVlcnksXG4gICAgICBydW46IChjb25qZWN0dXJlTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBzdWNjZXNzID0gdHJ1ZSxcbiAgICAgICAgICAgICAgY29uamVjdHVyZSA9IGNvbmplY3R1cmVGcm9tQ29uamVjdHVyZU5vZGUoY29uamVjdHVyZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnRleHQuYWRkQ29uamVjdHVyZShjb25qZWN0dXJlKTtcblxuICAgICAgICByZXR1cm4gc3VjY2VzcztcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRvcExldmVsUGFzcyA9IG5ldyBUb3BMZXZlbFBhc3MoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpc2VGaWxlKGZpbGVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IG5vZGUgPSBmaWxlTm9kZTsgLy8vXG5cbiAgdG9wTGV2ZWxQYXNzLnJ1bihub2RlLCBjb250ZXh0KTtcbn1cbiJdLCJuYW1lcyI6WyJpbml0aWFsaXNlRmlsZSIsIm5vZGVRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwicnVsZU5vZGVRdWVyeSIsImF4aW9tTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGVRdWVyeSIsImNvbmplY3R1cmVOb2RlUXVlcnkiLCJUb3BMZXZlbFBhc3MiLCJTaW1wbGVQYXNzIiwibWFwcyIsInJ1biIsInJ1bGVOb2RlIiwiY29udGV4dCIsInN1Y2Nlc3MiLCJydWxlIiwicnVsZUZyb21SdWxlTm9kZSIsImFkZFJ1bGUiLCJheGlvbU5vZGUiLCJheGlvbSIsImF4aW9tRnJvbUF4aW9tTm9kZSIsImFkZEF4aW9tIiwidGhlb3JlbU5vZGUiLCJ0aGVvcmVtIiwidGhlb3JlbUZyb21UaGVvcmVtTm9kZSIsImFkZFRoZW9yZW0iLCJjb25qZWN0dXJlTm9kZSIsImNvbmplY3R1cmUiLCJjb25qZWN0dXJlRnJvbUNvbmplY3R1cmVOb2RlIiwiYWRkQ29uamVjdHVyZSIsInRvcExldmVsUGFzcyIsImZpbGVOb2RlIiwibm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUVnQkE7OztlQUFBQTs7O2dDQWpFMkI7eUJBS0U7QUFFN0MsTUFBTSxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsOEJBQWM7QUFFcEMsTUFBTUMsZ0JBQWdCRixVQUFVLFVBQzFCRyxpQkFBaUJILFVBQVUsV0FDM0JJLG1CQUFtQkosVUFBVSxhQUM3Qkssc0JBQXNCTCxVQUFVO0FBRXRDLE1BQU1NLHFCQUFxQkMsMEJBQVU7SUFDbkMsT0FBT0MsT0FBTztRQUNaO1lBQ0VSLFdBQVdFO1lBQ1hPLEtBQUssQ0FBQ0MsVUFBVUM7Z0JBQ2QsTUFBTUMsVUFBVSxNQUNWQyxPQUFPQyxJQUFBQSx5QkFBZ0IsRUFBQ0osVUFBVUM7Z0JBRXhDQSxRQUFRSSxPQUFPLENBQUNGO2dCQUVoQixPQUFPRDtZQUNUO1FBQ0Y7UUFDQTtZQUNFWixXQUFXRztZQUNYTSxLQUFLLENBQUNPLFdBQVdMO2dCQUNmLE1BQU1DLFVBQVUsTUFDVkssUUFBUUMsSUFBQUEsMkJBQWtCLEVBQUNGLFdBQVdMO2dCQUU1Q0EsUUFBUVEsUUFBUSxDQUFDRjtnQkFFakIsT0FBT0w7WUFDVDtRQUNGO1FBQ0E7WUFDRVosV0FBV0k7WUFDWEssS0FBSyxDQUFDVyxhQUFhVDtnQkFDakIsTUFBTUMsVUFBVSxNQUNWUyxVQUFVQyxJQUFBQSwrQkFBc0IsRUFBQ0YsYUFBYVQ7Z0JBRXBEQSxRQUFRWSxVQUFVLENBQUNGO2dCQUVuQixPQUFPVDtZQUNUO1FBQ0Y7UUFDQTtZQUNFWixXQUFXSztZQUNYSSxLQUFLLENBQUNlLGdCQUFnQmI7Z0JBQ3BCLE1BQU1DLFVBQVUsTUFDVmEsYUFBYUMsSUFBQUEscUNBQTRCLEVBQUNGLGdCQUFnQmI7Z0JBRWhFQSxRQUFRZ0IsYUFBYSxDQUFDRjtnQkFFdEIsT0FBT2I7WUFDVDtRQUNGO0tBQ0QsQ0FBQztBQUNKO0FBRUEsTUFBTWdCLGVBQWUsSUFBSXRCO0FBRWxCLFNBQVNQLGVBQWU4QixRQUFRLEVBQUVsQixPQUFPO0lBQzlDLE1BQU1tQixPQUFPRCxVQUFVLEdBQUc7SUFFMUJELGFBQWFuQixHQUFHLENBQUNxQixNQUFNbkI7QUFDekIifQ==
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- import { SimplePass, queryUtilities } from "occam-languages"
4
-
5
- import { ruleFromRuleNode,
6
- axiomFromAxiomNode,
7
- theoremFromTheoremNode,
8
- conjectureFromConjectureNode } from "../utilities/element";
9
-
10
- const { nodeQuery } = queryUtilities;
11
-
12
- const ruleNodeQuery = nodeQuery("/rule"),
13
- axiomNodeQuery = nodeQuery("/axiom"),
14
- theoremNodeQuery = nodeQuery("/theorem"),
15
- conjectureNodeQuery = nodeQuery("/conjecture");
16
-
17
- class TopLevelPass extends SimplePass {
18
- static maps = [
19
- {
20
- nodeQuery: ruleNodeQuery,
21
- run: (ruleNode, context) => {
22
- const success = true,
23
- rule = ruleFromRuleNode(ruleNode, context);
24
-
25
- context.addRule(rule);
26
-
27
- return success;
28
- }
29
- },
30
- {
31
- nodeQuery: axiomNodeQuery,
32
- run: (axiomNode, context) => {
33
- const success = true,
34
- axiom = axiomFromAxiomNode(axiomNode, context);
35
-
36
- context.addAxiom(axiom);
37
-
38
- return success;
39
- }
40
- },
41
- {
42
- nodeQuery: theoremNodeQuery,
43
- run: (theoremNode, context) => {
44
- const success = true,
45
- theorem = theoremFromTheoremNode(theoremNode, context);
46
-
47
- context.addTheorem(theorem);
48
-
49
- return success;
50
- }
51
- },
52
- {
53
- nodeQuery: conjectureNodeQuery,
54
- run: (conjectureNode, context) => {
55
- const success = true,
56
- conjecture = conjectureFromConjectureNode(conjectureNode, context);
57
-
58
- context.addConjecture(conjecture);
59
-
60
- return success;
61
- }
62
- }
63
- ];
64
- }
65
-
66
- const topLevelPass = new TopLevelPass();
67
-
68
- export function initialiseFile(fileNode, context) {
69
- const node = fileNode; ///
70
-
71
- topLevelPass.run(node, context);
72
- }