occam-verify-cli 1.0.361 → 1.0.362

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.
@@ -65,6 +65,7 @@ import MetatheoremHeaderNode from "./node/header/metatheorem";
65
65
  import PropertyAssertionNode from "./node/assertion/property";
66
66
  import SubproofAssertionNode from "./node/assertion/subproof";
67
67
  import FrameSubstitutionNode from "./node/substitution/frame";
68
+ import ProcedureReferenceNode from "./node/procedureReference";
68
69
  import ParenthesisedLabelNode from "./node/parenthesisedLabel";
69
70
  import ContainedAssertionNode from "./node/assertion/contained";
70
71
  import SatisfiesAssertionNode from "./node/assertion/satisfies";
@@ -79,85 +80,86 @@ import ComplexTypeDeclarationNode from "./node/declaration/complexType";
79
80
  import DonstructorDeclarationNode from "./node/declaration/constructor";
80
81
  import MetavariableDeclarationNode from "./node/declaration/metavariable";
81
82
 
82
- import { RULE_RULE_NAME,
83
- STEP_RULE_NAME,
84
- TERM_RULE_NAME,
85
- TYPE_RULE_NAME,
86
- TYPES_RULE_NAME,
87
- PROOF_RULE_NAME,
88
- ERROR_RULE_NAME,
89
- FRAME_RULE_NAME,
90
- AXIOM_RULE_NAME,
91
- LEMMA_RULE_NAME,
92
- LABEL_RULE_NAME,
93
- LABELS_RULE_NAME,
94
- THEOREM_RULE_NAME,
95
- PREMISE_RULE_NAME,
96
- SECTION_RULE_NAME,
97
- NONSENSE_RULE_NAME,
98
- ARGUMENT_RULE_NAME,
99
- SUBPROOF_RULE_NAME,
100
- PROPERTY_RULE_NAME,
101
- EQUALITY_RULE_NAME,
102
- VARIABLE_RULE_NAME,
103
- META_TYPE_RULE_NAME,
104
- SIGNATURE_RULE_NAME,
105
- DEDUCTION_RULE_NAME,
106
- JUDGEMENT_RULE_NAME,
107
- PARAMETER_RULE_NAME,
108
- REFERENCE_RULE_NAME,
109
- STATEMENT_RULE_NAME,
110
- RULE_BODY_RULE_NAME,
111
- META_LEMMA_RULE_NAME,
112
- DERIVATION_RULE_NAME,
113
- COMBINATOR_RULE_NAME,
114
- CONCLUSION_RULE_NAME,
115
- CONJECTURE_RULE_NAME,
116
- HYPOTHESIS_RULE_NAME,
117
- AXIOM_BODY_RULE_NAME,
118
- LEMMA_BODY_RULE_NAME,
119
- TYPE_PREFIX_RULE_NAME,
120
- SUPPOSITION_RULE_NAME,
121
- RULE_HEADER_RULE_NAME,
122
- CONSTRUCTOR_RULE_NAME,
123
- DECLARATION_RULE_NAME,
124
- METATHEOREM_RULE_NAME,
125
- AXIOM_HEADER_RULE_NAME,
126
- LEMMA_HEADER_RULE_NAME,
127
- THEOREM_BODY_RULE_NAME,
128
- METAVARIABLE_RULE_NAME,
129
- QUALIFICATION_RULE_NAME,
130
- META_ARGUMENT_RULE_NAME,
131
- THEOREM_HEADER_RULE_NAME,
132
- SUB_DERIVATION_RULE_NAME,
133
- TYPE_ASSERTION_RULE_NAME,
134
- PROCEDURE_CALL_RULE_NAME,
135
- CONJECTURE_BODY_RULE_NAME,
136
- META_LEMMA_BODY_RULE_NAME,
137
- METATHEOREM_BODY_RULE_NAME,
138
- SIMPLE_REFERENCE_RULE_NAME,
139
- CONJECTURE_HEADER_RULE_NAME,
140
- META_LEMMA_HEADER_RULE_NAME,
141
- PROPERTY_RELATION_RULE_NAME,
142
- DEFINED_ASSERTION_RULE_NAME,
143
- TERM_SUBSTITUTION_RULE_NAME,
144
- METATHEOREM_HEADER_RULE_NAME,
145
- SUBPROOF_ASSERTION_RULE_NAME,
146
- PROPERTY_ASSERTION_RULE_NAME,
147
- FRAME_SUBSTITUTION_RULE_NAME,
148
- CONTAINED_ASSERTION_RULE_NAME,
149
- SATISFIES_ASSERTION_RULE_NAME,
150
- PARENTHESISED_LABEL_RULE_NAME,
151
- PARENTHESISED_LABELS_RULE_NAME,
152
- PROPERTY_DECLARATION_RULE_NAME,
153
- VARIABLE_DECLARATION_RULE_NAME,
154
- STATEMENT_SUBSTITUTION_RULE_NAME,
155
- COMBINATOR_DECLARATION_RULE_NAME,
156
- SIMPLE_TYPE_DECLARATION_RULE_NAME,
157
- CONSTRUCTOR_DECLARATION_RULE_NAME,
158
- TYPE_PREFIX_DECLARATION_RULE_NAME,
159
- COMPLEX_TYPE_DECLARATION_RULE_NAME,
160
- METAVARIABLE_DECLARATION_RULE_NAME } from "./ruleNames";
83
+ import {
84
+ RULE_RULE_NAME,
85
+ STEP_RULE_NAME,
86
+ TERM_RULE_NAME,
87
+ TYPE_RULE_NAME,
88
+ TYPES_RULE_NAME,
89
+ PROOF_RULE_NAME,
90
+ ERROR_RULE_NAME,
91
+ FRAME_RULE_NAME,
92
+ AXIOM_RULE_NAME,
93
+ LEMMA_RULE_NAME,
94
+ LABEL_RULE_NAME,
95
+ LABELS_RULE_NAME,
96
+ THEOREM_RULE_NAME,
97
+ PREMISE_RULE_NAME,
98
+ SECTION_RULE_NAME,
99
+ NONSENSE_RULE_NAME,
100
+ ARGUMENT_RULE_NAME,
101
+ SUBPROOF_RULE_NAME,
102
+ PROPERTY_RULE_NAME,
103
+ EQUALITY_RULE_NAME,
104
+ VARIABLE_RULE_NAME,
105
+ META_TYPE_RULE_NAME,
106
+ SIGNATURE_RULE_NAME,
107
+ DEDUCTION_RULE_NAME,
108
+ JUDGEMENT_RULE_NAME,
109
+ PARAMETER_RULE_NAME,
110
+ REFERENCE_RULE_NAME,
111
+ STATEMENT_RULE_NAME,
112
+ RULE_BODY_RULE_NAME,
113
+ META_LEMMA_RULE_NAME,
114
+ DERIVATION_RULE_NAME,
115
+ COMBINATOR_RULE_NAME,
116
+ CONCLUSION_RULE_NAME,
117
+ CONJECTURE_RULE_NAME,
118
+ HYPOTHESIS_RULE_NAME,
119
+ AXIOM_BODY_RULE_NAME,
120
+ LEMMA_BODY_RULE_NAME,
121
+ TYPE_PREFIX_RULE_NAME,
122
+ SUPPOSITION_RULE_NAME,
123
+ RULE_HEADER_RULE_NAME,
124
+ CONSTRUCTOR_RULE_NAME,
125
+ DECLARATION_RULE_NAME,
126
+ METATHEOREM_RULE_NAME,
127
+ AXIOM_HEADER_RULE_NAME,
128
+ LEMMA_HEADER_RULE_NAME,
129
+ THEOREM_BODY_RULE_NAME,
130
+ METAVARIABLE_RULE_NAME,
131
+ QUALIFICATION_RULE_NAME,
132
+ META_ARGUMENT_RULE_NAME,
133
+ THEOREM_HEADER_RULE_NAME,
134
+ SUB_DERIVATION_RULE_NAME,
135
+ TYPE_ASSERTION_RULE_NAME,
136
+ PROCEDURE_CALL_RULE_NAME,
137
+ CONJECTURE_BODY_RULE_NAME,
138
+ META_LEMMA_BODY_RULE_NAME,
139
+ METATHEOREM_BODY_RULE_NAME,
140
+ CONJECTURE_HEADER_RULE_NAME,
141
+ META_LEMMA_HEADER_RULE_NAME,
142
+ PROPERTY_RELATION_RULE_NAME,
143
+ DEFINED_ASSERTION_RULE_NAME,
144
+ TERM_SUBSTITUTION_RULE_NAME,
145
+ METATHEOREM_HEADER_RULE_NAME,
146
+ SUBPROOF_ASSERTION_RULE_NAME,
147
+ PROPERTY_ASSERTION_RULE_NAME,
148
+ FRAME_SUBSTITUTION_RULE_NAME,
149
+ CONTAINED_ASSERTION_RULE_NAME,
150
+ SATISFIES_ASSERTION_RULE_NAME,
151
+ PARENTHESISED_LABEL_RULE_NAME,
152
+ PARENTHESISED_LABELS_RULE_NAME,
153
+ PROPERTY_DECLARATION_RULE_NAME,
154
+ VARIABLE_DECLARATION_RULE_NAME,
155
+ STATEMENT_SUBSTITUTION_RULE_NAME,
156
+ COMBINATOR_DECLARATION_RULE_NAME,
157
+ SIMPLE_TYPE_DECLARATION_RULE_NAME,
158
+ CONSTRUCTOR_DECLARATION_RULE_NAME,
159
+ TYPE_PREFIX_DECLARATION_RULE_NAME,
160
+ COMPLEX_TYPE_DECLARATION_RULE_NAME,
161
+ METAVARIABLE_DECLARATION_RULE_NAME, PROCEDURE_REFERENCE_RULE_NAME
162
+ } from "./ruleNames";
161
163
 
162
164
  const NonTerminalNodeMap = {
163
165
  [RULE_RULE_NAME]: RuleNode,
@@ -225,6 +227,7 @@ const NonTerminalNodeMap = {
225
227
  [SUBPROOF_ASSERTION_RULE_NAME]: SubproofAssertionNode,
226
228
  [PROPERTY_ASSERTION_RULE_NAME]: PropertyAssertionNode,
227
229
  [FRAME_SUBSTITUTION_RULE_NAME]: FrameSubstitutionNode,
230
+ [PROCEDURE_REFERENCE_RULE_NAME]: ProcedureReferenceNode,
228
231
  [PARENTHESISED_LABEL_RULE_NAME]: ParenthesisedLabelNode,
229
232
  [SATISFIES_ASSERTION_RULE_NAME]: SatisfiesAssertionNode,
230
233
  [CONTAINED_ASSERTION_RULE_NAME]: ContainedAssertionNode,
package/src/ruleNames.js CHANGED
@@ -65,6 +65,7 @@ export const METATHEOREM_HEADER_RULE_NAME = "metatheoremHeader";
65
65
  export const PROPERTY_ASSERTION_RULE_NAME = "propertyAssertion";
66
66
  export const SUBPROOF_ASSERTION_RULE_NAME = "subproofAssertion";
67
67
  export const FRAME_SUBSTITUTION_RULE_NAME = "frameSubstitution";
68
+ export const PROCEDURE_REFERENCE_RULE_NAME = "procedureReference";
68
69
  export const CONTAINED_ASSERTION_RULE_NAME = "containedAssertion";
69
70
  export const SATISFIES_ASSERTION_RULE_NAME = "satisfiesAssertion";
70
71
  export const PARENTHESISED_LABEL_RULE_NAME = "parenthesisedLabel";
@@ -145,6 +145,12 @@ export function procedureCallFromJSON(json, context) {
145
145
  return procedureCall;
146
146
  }
147
147
 
148
+ export function procedureNameFromJSON(json, context) {
149
+ const { procedureName } = json;
150
+
151
+ return procedureName;
152
+ }
153
+
148
154
  export function typesFromJSON(json, types, context) {
149
155
  const { types: typesJSON } = json;
150
156