occam-verify-cli 1.0.254 → 1.0.256
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.
- package/lib/dom/metavariable.js +8 -1
- package/lib/dom/parameter.js +13 -13
- package/lib/dom/property.js +18 -18
- package/lib/dom/substitution/frame.js +4 -4
- package/lib/dom/substitution/term.js +4 -4
- package/lib/dom/variable.js +23 -23
- package/lib/node/axiom.js +22 -36
- package/lib/node/conjecture.js +22 -43
- package/lib/node/header.js +8 -1
- package/lib/node/lemma.js +22 -50
- package/lib/node/metaLemma.js +22 -50
- package/lib/node/metatheorem.js +22 -50
- package/lib/node/parameter.js +7 -7
- package/lib/node/theorem.js +22 -50
- package/lib/node/topLevelAssertion.js +157 -0
- package/lib/node/topLevelMetaAssertion.js +136 -0
- package/package.json +6 -6
- package/src/dom/metavariable.js +6 -0
- package/src/dom/parameter.js +14 -14
- package/src/dom/property.js +22 -22
- package/src/dom/substitution/frame.js +1 -1
- package/src/dom/substitution/term.js +1 -1
- package/src/dom/variable.js +28 -28
- package/src/node/axiom.js +5 -30
- package/src/node/conjecture.js +5 -36
- package/src/node/header.js +8 -1
- package/src/node/lemma.js +5 -43
- package/src/node/metaLemma.js +5 -43
- package/src/node/metatheorem.js +5 -43
- package/src/node/parameter.js +6 -6
- package/src/node/theorem.js +5 -43
- package/src/node/topLevelAssertion.js +58 -0
- package/src/node/topLevelMetaAssertion.js +37 -0
package/src/node/lemma.js
CHANGED
|
@@ -1,51 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import TopLevelAssertionNode from "../node/topLevelAssertion";
|
|
4
4
|
|
|
5
5
|
import { LEMMA_BODY_RULE_NAME, LEMMA_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class LemmaNode extends
|
|
8
|
-
|
|
9
|
-
const ruleName = LEMMA_BODY_RULE_NAME,
|
|
10
|
-
lemmaBodyNode = this.getNodeByRuleName(ruleName);
|
|
7
|
+
export default class LemmaNode extends TopLevelAssertionNode {
|
|
8
|
+
static bodyRuleName = LEMMA_BODY_RULE_NAME;
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
}
|
|
10
|
+
static headerRuleName = LEMMA_HEADER_RULE_NAME;
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
const ruleName = LEMMA_HEADER_RULE_NAME,
|
|
17
|
-
lemmaHeaderNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return lemmaHeaderNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLabelNodes() {
|
|
23
|
-
const lemmaHeaderNode = this.getLemmaHeaderNode(),
|
|
24
|
-
labelNodes = lemmaHeaderNode.getLabelNodes();
|
|
25
|
-
|
|
26
|
-
return labelNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getSuppositionNodes() {
|
|
30
|
-
const lemmaBodyNode = this.getLemmaBodyNode(),
|
|
31
|
-
suppositionNodes = lemmaBodyNode.getSuppositionNodes();
|
|
32
|
-
|
|
33
|
-
return suppositionNodes;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getDeductionNode() {
|
|
37
|
-
const lemmaBodyNode = this.getLemmaBodyNode(),
|
|
38
|
-
deductionNode = lemmaBodyNode.getDeductionNode();
|
|
39
|
-
|
|
40
|
-
return deductionNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getProofNode() {
|
|
44
|
-
const lemmaBodyNode = this.getLemmaBodyNode(),
|
|
45
|
-
proofNode = lemmaBodyNode.getProofNode();
|
|
46
|
-
|
|
47
|
-
return proofNode;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(LemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(LemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
51
13
|
}
|
package/src/node/metaLemma.js
CHANGED
|
@@ -1,51 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import TopLevelMetaAssertionNode from "../node/topLevelMetaAssertion";
|
|
4
4
|
|
|
5
5
|
import { META_LEMMA_BODY_RULE_NAME, META_LEMMA_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class MetaLemmaNode extends
|
|
8
|
-
|
|
9
|
-
const ruleName = META_LEMMA_BODY_RULE_NAME,
|
|
10
|
-
metaLemmaBodyNode = this.getNodeByRuleName(ruleName);
|
|
7
|
+
export default class MetaLemmaNode extends TopLevelMetaAssertionNode {
|
|
8
|
+
static bodyRuleName = META_LEMMA_BODY_RULE_NAME;
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
}
|
|
10
|
+
static headerRuleName = META_LEMMA_HEADER_RULE_NAME;
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
const ruleName = META_LEMMA_HEADER_RULE_NAME,
|
|
17
|
-
metaLemmaHeaderNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return metaLemmaHeaderNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLabelNode() {
|
|
23
|
-
const metaLemmaHeaderNode = this.getMetaLemmaHeaderNode(),
|
|
24
|
-
labelNode = metaLemmaHeaderNode.getLabelNode();
|
|
25
|
-
|
|
26
|
-
return labelNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getSuppositionNodes() {
|
|
30
|
-
const metaLemmaBodyNode = this.getMetaLemmaBodyNode(),
|
|
31
|
-
suppositionNodes = metaLemmaBodyNode.getSuppositionNodes();
|
|
32
|
-
|
|
33
|
-
return suppositionNodes;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getDeductionNode() {
|
|
37
|
-
const metaLemmaBodyNode = this.getMetaLemmaBodyNode(),
|
|
38
|
-
deductionNode = metaLemmaBodyNode.getDeductionNode();
|
|
39
|
-
|
|
40
|
-
return deductionNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getProofNode() {
|
|
44
|
-
const metaLemmaBodyNode = this.getMetaLemmaBodyNode(),
|
|
45
|
-
proofNode = metaLemmaBodyNode.getProofNode();
|
|
46
|
-
|
|
47
|
-
return proofNode;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(MetaLemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelMetaAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(MetaLemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
51
13
|
}
|
package/src/node/metatheorem.js
CHANGED
|
@@ -1,51 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import TopLevelMetaAssertionNode from "../node/topLevelMetaAssertion";
|
|
4
4
|
|
|
5
5
|
import { METATHEOREM_BODY_RULE_NAME, METATHEOREM_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class MetatheoremNode extends
|
|
8
|
-
|
|
9
|
-
const ruleName = METATHEOREM_BODY_RULE_NAME,
|
|
10
|
-
metatheoremBodyNode = this.getNodeByRuleName(ruleName);
|
|
7
|
+
export default class MetatheoremNode extends TopLevelMetaAssertionNode {
|
|
8
|
+
static bodyRuleName = METATHEOREM_BODY_RULE_NAME;
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
}
|
|
10
|
+
static headerRuleName = METATHEOREM_HEADER_RULE_NAME;
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
const ruleName = METATHEOREM_HEADER_RULE_NAME,
|
|
17
|
-
metatheoremHeaderNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return metatheoremHeaderNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLabelNode() {
|
|
23
|
-
const metatheoremHeaderNode = this.getMetatheoremHeaderNode(),
|
|
24
|
-
labelNode = metatheoremHeaderNode.getLabelNode();
|
|
25
|
-
|
|
26
|
-
return labelNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getSuppositionNodes() {
|
|
30
|
-
const metatheoremBodyNode = this.getMetatheoremBodyNode(),
|
|
31
|
-
suppositionNodes = metatheoremBodyNode.getSuppositionNodes();
|
|
32
|
-
|
|
33
|
-
return suppositionNodes;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getConclusionNode() {
|
|
37
|
-
const metatheoremBodyNode = this.getMetatheoremBodyNode(),
|
|
38
|
-
conclusionNode = metatheoremBodyNode.getConclusionNode();
|
|
39
|
-
|
|
40
|
-
return conclusionNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getProofNode() {
|
|
44
|
-
const metatheoremBodyNode = this.getMetatheoremBodyNode(),
|
|
45
|
-
proofNode = metatheoremBodyNode.getProofNode();
|
|
46
|
-
|
|
47
|
-
return proofNode;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(MetatheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelMetaAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(MetatheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
51
13
|
}
|
package/src/node/parameter.js
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
import NonTerminalNode from "../node/nonTerminal";
|
|
4
4
|
|
|
5
5
|
export default class ParameterNode extends NonTerminalNode {
|
|
6
|
-
|
|
7
|
-
let
|
|
6
|
+
getParameterValue() {
|
|
7
|
+
let parameterValue;
|
|
8
8
|
|
|
9
9
|
this.someChildNode((childNode, index) => {
|
|
10
|
-
const
|
|
11
|
-
content =
|
|
10
|
+
const terminalNode = childNode, ///
|
|
11
|
+
content = terminalNode.getContent();
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
parameterValue = content; ///
|
|
14
14
|
|
|
15
15
|
if (index === 0) {
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
-
return
|
|
20
|
+
return parameterValue;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ParameterNode, ruleName, childNodes, opacity, precedence); }
|
package/src/node/theorem.js
CHANGED
|
@@ -1,51 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import TopLevelAssertionNode from "../node/topLevelAssertion";
|
|
4
4
|
|
|
5
5
|
import { THEOREM_BODY_RULE_NAME, THEOREM_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class TheoremNode extends
|
|
8
|
-
|
|
9
|
-
const ruleName = THEOREM_BODY_RULE_NAME,
|
|
10
|
-
theoremBodyNode = this.getNodeByRuleName(ruleName);
|
|
7
|
+
export default class TheoremNode extends TopLevelAssertionNode {
|
|
8
|
+
static bodyRuleName = THEOREM_BODY_RULE_NAME;
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
}
|
|
10
|
+
static headerRuleName = THEOREM_HEADER_RULE_NAME;
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
const ruleName = THEOREM_HEADER_RULE_NAME,
|
|
17
|
-
theoremHeaderNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return theoremHeaderNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLabelsNode() {
|
|
23
|
-
const theoremHeaderNode = this.getTheoremHeaderNode(),
|
|
24
|
-
labelNodes = theoremHeaderNode.getLabelNodes();
|
|
25
|
-
|
|
26
|
-
return labelNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getSuppositionNodes() {
|
|
30
|
-
const theoremBodyNode = this.getTheoremBodyNode(),
|
|
31
|
-
suppositionNodes = theoremBodyNode.getSuppositionNodes();
|
|
32
|
-
|
|
33
|
-
return suppositionNodes;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getDeductionNode() {
|
|
37
|
-
const theoremBodyNode = this.getTheoremBodyNode(),
|
|
38
|
-
deductionNode = theoremBodyNode.getDeductionNode();
|
|
39
|
-
|
|
40
|
-
return deductionNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getProofNode() {
|
|
44
|
-
const theoremBodyNode = this.getTheoremBodyNode(),
|
|
45
|
-
proofNode = theoremBodyNode.getProofNode();
|
|
46
|
-
|
|
47
|
-
return proofNode;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(TheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
51
13
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NonTerminalNode from "../node/nonTerminal";
|
|
4
|
+
|
|
5
|
+
export default class TopLevelAssertionNode extends NonTerminalNode {
|
|
6
|
+
getBodyNode() {
|
|
7
|
+
const { bodyRuleName } = this.constructor,
|
|
8
|
+
ruleName = bodyRuleName, ///
|
|
9
|
+
axiomBodyNode = this.getNodeByRuleName(ruleName);
|
|
10
|
+
|
|
11
|
+
return axiomBodyNode;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
getHeaderNode() {
|
|
15
|
+
const { headerRuleName } = this.constructor,
|
|
16
|
+
ruleName = headerRuleName, ///
|
|
17
|
+
headerNode = this.getNodeByRuleName(ruleName);
|
|
18
|
+
|
|
19
|
+
return headerNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getSignatureNode() {
|
|
23
|
+
const headerNode = this.getHeaderNode(),
|
|
24
|
+
signatureNode = headerNode.getSignatureNode();
|
|
25
|
+
|
|
26
|
+
return signatureNode;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
getLabelNodes() {
|
|
30
|
+
const headerNode = this.getHeaderNode(),
|
|
31
|
+
labelNodes = headerNode.getLabelNodes();
|
|
32
|
+
|
|
33
|
+
return labelNodes;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
getSuppositionNodes() {
|
|
37
|
+
const bodyNode = this.getBodyNode(),
|
|
38
|
+
suppositionNodes = bodyNode.getSuppositionNodes();
|
|
39
|
+
|
|
40
|
+
return suppositionNodes;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
getDeductionNode() {
|
|
44
|
+
const bodyNode = this.getBodyNode(),
|
|
45
|
+
deductionNode = bodyNode.getDeductionNode();
|
|
46
|
+
|
|
47
|
+
return deductionNode;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
getProofNode() {
|
|
51
|
+
const bodyNode = this.getBodyNode(),
|
|
52
|
+
proofNode = bodyNode.getProofNode();
|
|
53
|
+
|
|
54
|
+
return proofNode;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
58
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NonTerminalNode from "../node/nonTerminal";
|
|
4
|
+
|
|
5
|
+
export default class TopLevelMetaAssertionNode extends NonTerminalNode {
|
|
6
|
+
getBodyNode() {
|
|
7
|
+
const { bodyRuleName } = this.constructor,
|
|
8
|
+
ruleName = bodyRuleName, ///
|
|
9
|
+
axiomBodyNode = this.getNodeByRuleName(ruleName);
|
|
10
|
+
|
|
11
|
+
return axiomBodyNode;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
getHeaderNode() {
|
|
15
|
+
const { headerRuleName } = this.constructor,
|
|
16
|
+
ruleName = headerRuleName, ///
|
|
17
|
+
headerNode = this.getNodeByRuleName(ruleName);
|
|
18
|
+
|
|
19
|
+
return headerNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getLabelNode() {
|
|
23
|
+
const headerNode = this.getHeaderNode(),
|
|
24
|
+
labelNode = headerNode.getLabelNode();
|
|
25
|
+
|
|
26
|
+
return labelNode;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
getProofNode() {
|
|
30
|
+
const bodyNode = this.getBodyNode(),
|
|
31
|
+
proofNode = bodyNode.getProofNode();
|
|
32
|
+
|
|
33
|
+
return proofNode;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
37
|
+
}
|