occam-verify-cli 1.0.438 → 1.0.444
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/context/file.js +38 -35
- package/lib/context/local.js +10 -10
- package/lib/context/release.js +6 -6
- package/lib/context/temporary.js +14 -14
- package/lib/element/assertion/contained.js +45 -45
- package/lib/element/assertion/defined.js +13 -13
- package/lib/element/assertion/property.js +23 -22
- package/lib/element/assertion/satisfies.js +7 -6
- package/lib/element/assertion/subproof.js +20 -17
- package/lib/element/assertion/type.js +3 -2
- package/lib/element/assertion.js +1 -23
- package/lib/element/assumption.js +24 -22
- package/lib/element/axiom.js +9 -12
- package/lib/element/axiomLemmaTheoremConjecture.js +32 -32
- package/lib/element/{statement/combinator → combinator}/bracketed.js +16 -16
- package/lib/element/combinator.js +229 -0
- package/lib/element/conclusion.js +11 -9
- package/lib/element/{term/constructor → constructor}/bracketed.js +5 -5
- package/lib/element/constructor.js +232 -0
- package/lib/element/declaration/combinator.js +2 -16
- package/lib/element/declaration/complexType.js +12 -12
- package/lib/element/declaration/constructor.js +13 -11
- package/lib/element/declaration/simpleType.js +4 -4
- package/lib/element/declaration/typePrefix.js +2 -2
- package/lib/element/declaration/variable.js +3 -3
- package/lib/element/deduction.js +11 -9
- package/lib/element/derivation.js +7 -10
- package/lib/element/equivalence.js +10 -10
- package/lib/element/equivalences.js +5 -5
- package/lib/element/frame.js +32 -38
- package/lib/element/hypothesis.js +3 -3
- package/lib/element/judgement.js +6 -4
- package/lib/element/label.js +8 -8
- package/lib/element/metaLemmaMetatheorem.js +5 -5
- package/lib/element/metaType.js +17 -80
- package/lib/element/metavariable.js +34 -34
- package/lib/element/parameter.js +3 -3
- package/lib/element/premise.js +49 -58
- package/lib/element/property.js +9 -9
- package/lib/element/propertyRelation.js +13 -13
- package/lib/element/reference.js +14 -17
- package/lib/element/rule.js +21 -21
- package/lib/element/signature.js +11 -11
- package/lib/element/statement.js +18 -18
- package/lib/element/step.js +83 -55
- package/lib/element/subDerivation.js +7 -10
- package/lib/element/subproof.js +6 -14
- package/lib/element/substitution/frame.js +1 -7
- package/lib/element/substitution/reference.js +2 -3
- package/lib/element/substitution/statement.js +44 -15
- package/lib/element/substitution/term.js +10 -57
- package/lib/element/substitution.js +5 -11
- package/lib/element/substitutions.js +29 -29
- package/lib/element/supposition.js +63 -55
- package/lib/element/term.js +21 -34
- package/lib/element/type.js +47 -60
- package/lib/element/typePrefix.js +5 -5
- package/lib/element/variable.js +9 -9
- package/lib/element.js +9 -3
- package/lib/metaTypes.js +52 -0
- package/lib/node/axiomLemmaTheoremConjecture.js +9 -9
- package/lib/node/body/axiom.js +2 -25
- package/lib/node/body/conjecture.js +2 -25
- package/lib/node/body/lemma.js +2 -25
- package/lib/node/body/metaLemma.js +2 -25
- package/lib/node/body/metatheorem.js +2 -25
- package/lib/node/body/rule.js +15 -1
- package/lib/node/body/theorem.js +2 -25
- package/lib/node/body.js +25 -2
- package/lib/node/combinator.js +11 -2
- package/lib/node/constructor.js +11 -2
- package/lib/node/declaration/combinator.js +5 -5
- package/lib/node/declaration/constructor.js +8 -8
- package/lib/node/declaration/property.js +15 -15
- package/lib/node/declaration/simpleType.js +31 -31
- package/lib/node/declaration/variable.js +8 -8
- package/lib/node/equality.js +8 -8
- package/lib/node/frame.js +20 -20
- package/lib/node/header.js +22 -22
- package/lib/node/metaLemmaMetaTheorem.js +16 -16
- package/lib/node/metavariable.js +15 -15
- package/lib/node/property.js +8 -8
- package/lib/node/propertyRelation.js +8 -8
- package/lib/node/rule.js +16 -16
- package/lib/node/statement.js +12 -12
- package/lib/node/step.js +22 -22
- package/lib/node/subproof.js +8 -8
- package/lib/node/substitution/frame.js +19 -19
- package/lib/node/substitution/statement.js +19 -19
- package/lib/node/substitution/term.js +19 -19
- package/lib/node/term.js +35 -35
- package/lib/preamble.js +5 -5
- package/lib/process/instantiate.js +20 -2
- package/lib/process/unify.js +39 -42
- package/lib/process/validate.js +431 -0
- package/lib/process/verify.js +44 -135
- package/lib/types.js +27 -0
- package/lib/utilities/brackets.js +4 -4
- package/lib/utilities/element.js +91 -55
- package/lib/utilities/instance.js +18 -18
- package/lib/utilities/statement.js +2 -2
- package/lib/utilities/string.js +21 -10
- package/lib/utilities/unification.js +237 -0
- package/lib/utilities/validation.js +251 -0
- package/package.json +6 -6
- package/src/context/file.js +37 -31
- package/src/context/local.js +8 -8
- package/src/context/release.js +9 -6
- package/src/context/temporary.js +11 -11
- package/src/element/assertion/contained.js +19 -20
- package/src/element/assertion/defined.js +11 -12
- package/src/element/assertion/property.js +20 -20
- package/src/element/assertion/satisfies.js +6 -6
- package/src/element/assertion/subproof.js +17 -15
- package/src/element/assertion/type.js +2 -2
- package/src/element/assertion.js +0 -2
- package/src/element/assumption.js +22 -19
- package/src/element/axiom.js +7 -11
- package/src/element/axiomLemmaTheoremConjecture.js +36 -36
- package/src/element/{statement/combinator → combinator}/bracketed.js +7 -7
- package/src/element/combinator.js +90 -0
- package/src/element/conclusion.js +12 -10
- package/src/element/{term/constructor → constructor}/bracketed.js +5 -5
- package/src/element/{term/constructor.js → constructor.js} +17 -25
- package/src/element/declaration/combinator.js +1 -22
- package/src/element/declaration/complexType.js +11 -11
- package/src/element/declaration/constructor.js +13 -10
- package/src/element/declaration/simpleType.js +3 -3
- package/src/element/declaration/typePrefix.js +1 -1
- package/src/element/declaration/variable.js +2 -2
- package/src/element/deduction.js +12 -9
- package/src/element/derivation.js +6 -10
- package/src/element/equivalence.js +8 -8
- package/src/element/equivalences.js +4 -4
- package/src/element/frame.js +28 -30
- package/src/element/hypothesis.js +2 -2
- package/src/element/judgement.js +6 -3
- package/src/element/label.js +4 -4
- package/src/element/metaLemmaMetatheorem.js +4 -3
- package/src/element/metaType.js +9 -45
- package/src/element/metavariable.js +29 -31
- package/src/element/parameter.js +2 -2
- package/src/element/premise.js +55 -62
- package/src/element/property.js +6 -6
- package/src/element/propertyRelation.js +11 -11
- package/src/element/reference.js +12 -21
- package/src/element/rule.js +17 -16
- package/src/element/signature.js +10 -9
- package/src/element/statement.js +16 -18
- package/src/element/step.js +93 -55
- package/src/element/subDerivation.js +6 -10
- package/src/element/subproof.js +4 -12
- package/src/element/substitution/frame.js +0 -2
- package/src/element/substitution/reference.js +1 -5
- package/src/element/substitution/statement.js +44 -14
- package/src/element/substitution/term.js +10 -13
- package/src/element/substitution.js +3 -5
- package/src/element/substitutions.js +48 -30
- package/src/element/supposition.js +88 -70
- package/src/element/term.js +18 -28
- package/src/element/type.js +42 -36
- package/src/element/typePrefix.js +3 -3
- package/src/element/variable.js +7 -7
- package/src/element.js +3 -1
- package/src/metaTypes.js +42 -0
- package/src/node/axiomLemmaTheoremConjecture.js +6 -6
- package/src/node/body/axiom.js +0 -21
- package/src/node/body/conjecture.js +0 -23
- package/src/node/body/lemma.js +0 -23
- package/src/node/body/metaLemma.js +0 -23
- package/src/node/body/metatheorem.js +0 -23
- package/src/node/body/rule.js +12 -0
- package/src/node/body/theorem.js +0 -23
- package/src/node/body.js +23 -0
- package/src/node/combinator.js +9 -0
- package/src/node/constructor.js +9 -0
- package/src/node/declaration/combinator.js +5 -5
- package/src/node/declaration/constructor.js +8 -8
- package/src/node/declaration/property.js +14 -14
- package/src/node/declaration/simpleType.js +31 -31
- package/src/node/declaration/variable.js +7 -7
- package/src/node/equality.js +7 -7
- package/src/node/frame.js +21 -21
- package/src/node/header.js +22 -22
- package/src/node/metaLemmaMetaTheorem.js +14 -14
- package/src/node/metavariable.js +14 -14
- package/src/node/property.js +7 -7
- package/src/node/propertyRelation.js +7 -7
- package/src/node/rule.js +15 -15
- package/src/node/statement.js +12 -12
- package/src/node/step.js +21 -21
- package/src/node/subproof.js +7 -7
- package/src/node/substitution/frame.js +18 -18
- package/src/node/substitution/statement.js +18 -18
- package/src/node/substitution/term.js +18 -18
- package/src/node/term.js +34 -34
- package/src/preamble.js +4 -4
- package/src/process/instantiate.js +12 -0
- package/src/process/unify.js +53 -57
- package/src/process/validate.js +316 -0
- package/src/process/verify.js +50 -138
- package/src/types.js +18 -0
- package/src/utilities/brackets.js +10 -6
- package/src/utilities/element.js +125 -82
- package/src/utilities/instance.js +18 -18
- package/src/utilities/statement.js +2 -2
- package/src/utilities/string.js +34 -20
- package/src/{mixins/step/unify.js → utilities/unification.js} +82 -68
- package/src/{mixins/statement/validate.js → utilities/validation.js} +143 -69
- package/lib/element/statement/combinator.js +0 -105
- package/lib/element/term/constructor.js +0 -172
- package/lib/mixins/statement/validate.js +0 -198
- package/lib/mixins/step/unify.js +0 -228
- package/lib/mixins/term/verify.js +0 -65
- package/src/element/statement/combinator.js +0 -59
- package/src/mixins/term/verify.js +0 -81
|
@@ -2,29 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import BodyNode from "../../node/body";
|
|
4
4
|
|
|
5
|
-
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
5
|
export default class ConjectureBodyNode extends BodyNode {
|
|
8
|
-
getProofNode() {
|
|
9
|
-
const ruleName = PROOF_RULE_NAME,
|
|
10
|
-
proofNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return proofNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getDeductionNode() {
|
|
16
|
-
const ruleName = DEDUCTION_RULE_NAME,
|
|
17
|
-
deductionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return deductionNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSuppositionNodes() {
|
|
23
|
-
const ruleName = SUPPOSITION_RULE_NAME,
|
|
24
|
-
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return suppositionNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return BodyNode.fromRuleNameChildNodesOpacityAndPrecedence(ConjectureBodyNode, ruleName, childNodes, opacity, precedence); }
|
|
30
7
|
}
|
package/src/node/body/lemma.js
CHANGED
|
@@ -2,29 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import BodyNode from "../../node/body";
|
|
4
4
|
|
|
5
|
-
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
5
|
export default class LemmaBodyNode extends BodyNode {
|
|
8
|
-
getProofNode() {
|
|
9
|
-
const ruleName = PROOF_RULE_NAME,
|
|
10
|
-
proofNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return proofNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getDeductionNode() {
|
|
16
|
-
const ruleName = DEDUCTION_RULE_NAME,
|
|
17
|
-
deductionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return deductionNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSuppositionNodes() {
|
|
23
|
-
const ruleName = SUPPOSITION_RULE_NAME,
|
|
24
|
-
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return suppositionNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return BodyNode.fromRuleNameChildNodesOpacityAndPrecedence(LemmaBodyNode, ruleName, childNodes, opacity, precedence); }
|
|
30
7
|
}
|
|
@@ -2,29 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import BodyNode from "../../node/body";
|
|
4
4
|
|
|
5
|
-
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
5
|
export default class MetaLemmaBodyNode extends BodyNode {
|
|
8
|
-
getProofNode() {
|
|
9
|
-
const ruleName = PROOF_RULE_NAME,
|
|
10
|
-
proofNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return proofNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getDeductionNode() {
|
|
16
|
-
const ruleName = DEDUCTION_RULE_NAME,
|
|
17
|
-
deductionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return deductionNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSuppositionNodes() {
|
|
23
|
-
const ruleName = SUPPOSITION_RULE_NAME,
|
|
24
|
-
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return suppositionNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return BodyNode.fromRuleNameChildNodesOpacityAndPrecedence(MetaLemmaBodyNode, ruleName, childNodes, opacity, precedence); }
|
|
30
7
|
}
|
|
@@ -2,29 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import BodyNode from "../../node/body";
|
|
4
4
|
|
|
5
|
-
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
5
|
export default class MetatheoremBodyNode extends BodyNode {
|
|
8
|
-
getProofNode() {
|
|
9
|
-
const ruleName = PROOF_RULE_NAME,
|
|
10
|
-
proofNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return proofNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getDeductionNode() {
|
|
16
|
-
const ruleName = DEDUCTION_RULE_NAME,
|
|
17
|
-
deductionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return deductionNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSuppositionNodes() {
|
|
23
|
-
const ruleName = SUPPOSITION_RULE_NAME,
|
|
24
|
-
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return suppositionNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return BodyNode.fromRuleNameChildNodesOpacityAndPrecedence(MetatheoremBodyNode, ruleName, childNodes, opacity, precedence); }
|
|
30
7
|
}
|
package/src/node/body/rule.js
CHANGED
|
@@ -26,5 +26,17 @@ export default class RuleBodyNode extends BodyNode {
|
|
|
26
26
|
return conclusionNode;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
getDeductionNode() {
|
|
30
|
+
const deductionNode = null;
|
|
31
|
+
|
|
32
|
+
return deductionNode;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
getSuppositionNodes() {
|
|
36
|
+
const suppositionNodes = null;
|
|
37
|
+
|
|
38
|
+
return suppositionNodes;
|
|
39
|
+
}
|
|
40
|
+
|
|
29
41
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return BodyNode.fromRuleNameChildNodesOpacityAndPrecedence(RuleBodyNode, ruleName, childNodes, opacity, precedence); }
|
|
30
42
|
}
|
package/src/node/body/theorem.js
CHANGED
|
@@ -2,29 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import BodyNode from "../../node/body";
|
|
4
4
|
|
|
5
|
-
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
5
|
export default class TheoremBodyNode extends BodyNode {
|
|
8
|
-
getProofNode() {
|
|
9
|
-
const ruleName = PROOF_RULE_NAME,
|
|
10
|
-
proofNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return proofNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getDeductionNode() {
|
|
16
|
-
const ruleName = DEDUCTION_RULE_NAME,
|
|
17
|
-
deductionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return deductionNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSuppositionNodes() {
|
|
23
|
-
const ruleName = SUPPOSITION_RULE_NAME,
|
|
24
|
-
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return suppositionNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return BodyNode.fromRuleNameChildNodesOpacityAndPrecedence(TheoremBodyNode, ruleName, childNodes, opacity, precedence); }
|
|
30
7
|
}
|
package/src/node/body.js
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
+
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../ruleNames";
|
|
6
|
+
|
|
5
7
|
export default class BodyNode extends NonTerminalNode {
|
|
8
|
+
getProofNode() {
|
|
9
|
+
const ruleName = PROOF_RULE_NAME,
|
|
10
|
+
proofNode = this.getNodeByRuleName(ruleName);
|
|
11
|
+
|
|
12
|
+
return proofNode;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getDeductionNode() {
|
|
16
|
+
const ruleName = DEDUCTION_RULE_NAME,
|
|
17
|
+
deductionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
+
|
|
19
|
+
return deductionNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getSuppositionNodes() {
|
|
23
|
+
const ruleName = SUPPOSITION_RULE_NAME,
|
|
24
|
+
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
25
|
+
|
|
26
|
+
return suppositionNodes;
|
|
27
|
+
}
|
|
28
|
+
|
|
6
29
|
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
7
30
|
}
|
package/src/node/combinator.js
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
+
import { STATEMENT_RULE_NAME } from "../ruleNames";
|
|
6
|
+
|
|
5
7
|
export default class CombinatorNode extends NonTerminalNode {
|
|
8
|
+
getStatementNode() {
|
|
9
|
+
const ruleName = STATEMENT_RULE_NAME,
|
|
10
|
+
statementNode = this.getNodeByRuleName(ruleName);
|
|
11
|
+
|
|
12
|
+
return statementNode;
|
|
13
|
+
}
|
|
14
|
+
|
|
6
15
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(CombinatorNode, ruleName, childNodes, opacity, precedence); }
|
|
7
16
|
}
|
package/src/node/constructor.js
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
+
import { TERM_RULE_NAME } from "../ruleNames";
|
|
6
|
+
|
|
5
7
|
export default class ConstructorNode extends NonTerminalNode {
|
|
8
|
+
getTermNode() {
|
|
9
|
+
const ruleName = TERM_RULE_NAME,
|
|
10
|
+
termNode = this.getNodeByRuleName(ruleName);
|
|
11
|
+
|
|
12
|
+
return termNode;
|
|
13
|
+
}
|
|
14
|
+
|
|
6
15
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ConstructorNode, ruleName, childNodes, opacity, precedence); }
|
|
7
16
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { COMBINATOR_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class ContainedDeclarationNode extends DeclarationNode {
|
|
8
|
-
|
|
9
|
-
const ruleName =
|
|
10
|
-
|
|
8
|
+
getCombinatorNode() {
|
|
9
|
+
const ruleName = COMBINATOR_RULE_NAME,
|
|
10
|
+
combinatorNode = this.getNodeByRuleName(ruleName);
|
|
11
11
|
|
|
12
|
-
return
|
|
12
|
+
return combinatorNode;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(ContainedDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { PROVISIONALLY } from "../../constants";
|
|
6
|
-
import {
|
|
6
|
+
import { CONSTRUCTOR_RULE_NAME, TYPE_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
8
|
export default class ConstructorDeclarationNode extends DeclarationNode {
|
|
9
9
|
isProvisional() {
|
|
@@ -28,13 +28,6 @@ export default class ConstructorDeclarationNode extends DeclarationNode {
|
|
|
28
28
|
return provisional;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
getTermNode() {
|
|
32
|
-
const ruleName = TERM_RULE_NAME,
|
|
33
|
-
termNode = this.getNodeByRuleName(ruleName);
|
|
34
|
-
|
|
35
|
-
return termNode;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
31
|
getTypeNode() {
|
|
39
32
|
const ruleName = TYPE_RULE_NAME,
|
|
40
33
|
typeNode = this.getNodeByRuleName(ruleName);
|
|
@@ -42,5 +35,12 @@ export default class ConstructorDeclarationNode extends DeclarationNode {
|
|
|
42
35
|
return typeNode;
|
|
43
36
|
}
|
|
44
37
|
|
|
38
|
+
getConstructorNode() {
|
|
39
|
+
const ruleName = CONSTRUCTOR_RULE_NAME,
|
|
40
|
+
constructorNode = this.getNodeByRuleName(ruleName);
|
|
41
|
+
|
|
42
|
+
return constructorNode;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
45
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(ConstructorDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
46
46
|
}
|
|
@@ -5,20 +5,6 @@ import DeclarationNode from "../../node/declaration";
|
|
|
5
5
|
import { TYPE_RULE_NAME, PROPERTY_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class PropertyDeclarationNode extends DeclarationNode {
|
|
8
|
-
getTypeNode() {
|
|
9
|
-
const ruleName = TYPE_RULE_NAME,
|
|
10
|
-
typeNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return typeNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getPropertyNode() {
|
|
16
|
-
const ruleName = PROPERTY_RULE_NAME,
|
|
17
|
-
propertyNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return propertyNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
8
|
getPropertyName() {
|
|
23
9
|
const propertyNode = this.getPropertyNode(),
|
|
24
10
|
propertyName = propertyNode.getPropertyName();
|
|
@@ -38,5 +24,19 @@ export default class PropertyDeclarationNode extends DeclarationNode {
|
|
|
38
24
|
return nominalTypeName;
|
|
39
25
|
}
|
|
40
26
|
|
|
27
|
+
getTypeNode() {
|
|
28
|
+
const ruleName = TYPE_RULE_NAME,
|
|
29
|
+
typeNode = this.getNodeByRuleName(ruleName);
|
|
30
|
+
|
|
31
|
+
return typeNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
getPropertyNode() {
|
|
35
|
+
const ruleName = PROPERTY_RULE_NAME,
|
|
36
|
+
propertyNode = this.getNodeByRuleName(ruleName);
|
|
37
|
+
|
|
38
|
+
return propertyNode;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
41
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(PropertyDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
42
42
|
}
|
|
@@ -6,6 +6,13 @@ import { PROVISIONAL } from "../../constants";
|
|
|
6
6
|
import { TYPE_RULE_NAME, TYPES_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
8
|
export default class SimpleTypeDeclarationNode extends DeclarationNode {
|
|
9
|
+
isPrefixed() {
|
|
10
|
+
const typeNode = this.getTypeNode(),
|
|
11
|
+
prefixed = typeNode.isPrefixed();
|
|
12
|
+
|
|
13
|
+
return prefixed;
|
|
14
|
+
}
|
|
15
|
+
|
|
9
16
|
isProvisional() {
|
|
10
17
|
let provisional = false;
|
|
11
18
|
|
|
@@ -28,11 +35,32 @@ export default class SimpleTypeDeclarationNode extends DeclarationNode {
|
|
|
28
35
|
return provisional;
|
|
29
36
|
}
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
getTypePrefixName() {
|
|
32
39
|
const typeNode = this.getTypeNode(),
|
|
33
|
-
|
|
40
|
+
typePrefixName = typeNode.getTypePrefixName();
|
|
34
41
|
|
|
35
|
-
return
|
|
42
|
+
return typePrefixName;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
getSuperTypeNodes() {
|
|
46
|
+
let superTypeNodes = [];
|
|
47
|
+
|
|
48
|
+
const typesNode = this.getTypesNode();
|
|
49
|
+
|
|
50
|
+
if (typesNode !== null) {
|
|
51
|
+
const typeNodes = typesNode.getTypeNodes();
|
|
52
|
+
|
|
53
|
+
superTypeNodes = typeNodes; ///
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return superTypeNodes;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
getNominalTypeName() {
|
|
60
|
+
const typeNode = this.getTypeNode(),
|
|
61
|
+
nominalTypeName = typeNode.getNominalTypeName();
|
|
62
|
+
|
|
63
|
+
return nominalTypeName;
|
|
36
64
|
}
|
|
37
65
|
|
|
38
66
|
getTypeName() {
|
|
@@ -61,34 +89,6 @@ export default class SimpleTypeDeclarationNode extends DeclarationNode {
|
|
|
61
89
|
return typesNode;
|
|
62
90
|
}
|
|
63
91
|
|
|
64
|
-
getTypePrefixName() {
|
|
65
|
-
const typeNode = this.getTypeNode(),
|
|
66
|
-
typePrefixName = typeNode.getTypePrefixName();
|
|
67
|
-
|
|
68
|
-
return typePrefixName;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
getSuperTypeNodes() {
|
|
72
|
-
let superTypeNodes = [];
|
|
73
|
-
|
|
74
|
-
const typesNode = this.getTypesNode();
|
|
75
|
-
|
|
76
|
-
if (typesNode !== null) {
|
|
77
|
-
const typeNodes = typesNode.getTypeNodes();
|
|
78
|
-
|
|
79
|
-
superTypeNodes = typeNodes; ///
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return superTypeNodes;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
getNominalTypeName() {
|
|
86
|
-
const typeNode = this.getTypeNode(),
|
|
87
|
-
nominalTypeName = typeNode.getNominalTypeName();
|
|
88
|
-
|
|
89
|
-
return nominalTypeName;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
92
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(SimpleTypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
93
93
|
}
|
|
94
94
|
|
|
@@ -28,6 +28,13 @@ export default class VariableDeclarationNode extends DeclarationNode {
|
|
|
28
28
|
return provisional;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
getVariableIdentifier() {
|
|
32
|
+
const variableNode = this.getVariableNode(),
|
|
33
|
+
variableIdentifier = variableNode.getVariableIdentifier();
|
|
34
|
+
|
|
35
|
+
return variableIdentifier;
|
|
36
|
+
}
|
|
37
|
+
|
|
31
38
|
getTypeNode() {
|
|
32
39
|
const ruleName = TYPE_RULE_NAME,
|
|
33
40
|
typeNode = this.getNodeByRuleName(ruleName);
|
|
@@ -42,12 +49,5 @@ export default class VariableDeclarationNode extends DeclarationNode {
|
|
|
42
49
|
return variableNode;
|
|
43
50
|
}
|
|
44
51
|
|
|
45
|
-
getVariableIdentifier() {
|
|
46
|
-
const variableNode = this.getVariableNode(),
|
|
47
|
-
variableIdentifier = variableNode.getVariableIdentifier();
|
|
48
|
-
|
|
49
|
-
return variableIdentifier;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
52
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(VariableDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
53
53
|
}
|
package/src/node/equality.js
CHANGED
|
@@ -9,13 +9,6 @@ import { TERM_RULE_NAME } from "../ruleNames";
|
|
|
9
9
|
const { first, last } = arrayUtilities;
|
|
10
10
|
|
|
11
11
|
export default class EqualityNode extends NonTerminalNode {
|
|
12
|
-
getTermNodes() {
|
|
13
|
-
const ruleName = TERM_RULE_NAME,
|
|
14
|
-
termNodes = this.getNodesByRuleName(ruleName);
|
|
15
|
-
|
|
16
|
-
return termNodes;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
12
|
getLeftTermNode() {
|
|
20
13
|
const termNodes = this.getTermNodes(),
|
|
21
14
|
firstTermNode = first(termNodes),
|
|
@@ -32,5 +25,12 @@ export default class EqualityNode extends NonTerminalNode {
|
|
|
32
25
|
return rightTermNode;
|
|
33
26
|
}
|
|
34
27
|
|
|
28
|
+
getTermNodes() {
|
|
29
|
+
const ruleName = TERM_RULE_NAME,
|
|
30
|
+
termNodes = this.getNodesByRuleName(ruleName);
|
|
31
|
+
|
|
32
|
+
return termNodes;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
35
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(EqualityNode, ruleName, childNodes, opacity, precedence); }
|
|
36
36
|
}
|
package/src/node/frame.js
CHANGED
|
@@ -17,13 +17,6 @@ export default class FrameNode extends NonTerminalNode {
|
|
|
17
17
|
return singular;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
getAssumptionNodes() {
|
|
21
|
-
const ruleName = ASSUMPTION_RULE_NAME,
|
|
22
|
-
declarationNodes = this.getNodesByRuleName(ruleName);
|
|
23
|
-
|
|
24
|
-
return declarationNodes;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
20
|
getMetavariableName() {
|
|
28
21
|
let metavariableName = null;
|
|
29
22
|
|
|
@@ -43,20 +36,6 @@ export default class FrameNode extends NonTerminalNode {
|
|
|
43
36
|
return metavariableNode;
|
|
44
37
|
}
|
|
45
38
|
|
|
46
|
-
getMetavariableNodes() {
|
|
47
|
-
const ruleName = METAVARIABLE_RULE_NAME,
|
|
48
|
-
metavariableNodes = this.getNodesByRuleName(ruleName);
|
|
49
|
-
|
|
50
|
-
return metavariableNodes;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
getSingularAssumptionNode() {
|
|
54
|
-
const ruleName = ASSUMPTION_RULE_NAME,
|
|
55
|
-
singularAssumptionNode = this.getSingularNodeByRuleName(ruleName);
|
|
56
|
-
|
|
57
|
-
return singularAssumptionNode;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
39
|
getSingularMetavariableNode() {
|
|
61
40
|
let singularMetavariableNode = null;
|
|
62
41
|
|
|
@@ -71,5 +50,26 @@ export default class FrameNode extends NonTerminalNode {
|
|
|
71
50
|
return singularMetavariableNode;
|
|
72
51
|
}
|
|
73
52
|
|
|
53
|
+
getAssumptionNodes() {
|
|
54
|
+
const ruleName = ASSUMPTION_RULE_NAME,
|
|
55
|
+
declarationNodes = this.getNodesByRuleName(ruleName);
|
|
56
|
+
|
|
57
|
+
return declarationNodes;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
getMetavariableNodes() {
|
|
61
|
+
const ruleName = METAVARIABLE_RULE_NAME,
|
|
62
|
+
metavariableNodes = this.getNodesByRuleName(ruleName);
|
|
63
|
+
|
|
64
|
+
return metavariableNodes;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
getSingularAssumptionNode() {
|
|
68
|
+
const ruleName = ASSUMPTION_RULE_NAME,
|
|
69
|
+
singularAssumptionNode = this.getSingularNodeByRuleName(ruleName);
|
|
70
|
+
|
|
71
|
+
return singularAssumptionNode;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
74
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(FrameNode, ruleName, childNodes, opacity, precedence); }
|
|
75
75
|
}
|
package/src/node/header.js
CHANGED
|
@@ -2,30 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
-
import {SIGNATURE_RULE_NAME, PARENTHESISED_LABEL_RULE_NAME, PARENTHESISED_LABELS_RULE_NAME } from "../ruleNames";
|
|
5
|
+
import { SIGNATURE_RULE_NAME, PARENTHESISED_LABEL_RULE_NAME, PARENTHESISED_LABELS_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class HeaderNode extends NonTerminalNode {
|
|
8
|
-
getParenthesisedLabelsNode() {
|
|
9
|
-
const ruleName = PARENTHESISED_LABELS_RULE_NAME,
|
|
10
|
-
parenthesisedLabelsNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return parenthesisedLabelsNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getParenthesisedLabelNode() {
|
|
16
|
-
const ruleName = PARENTHESISED_LABEL_RULE_NAME,
|
|
17
|
-
parenthesisedLabelsNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return parenthesisedLabelsNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSignatureNode() {
|
|
23
|
-
const ruleName = SIGNATURE_RULE_NAME,
|
|
24
|
-
signatureNode = this.getNodeByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return signatureNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
8
|
getLabelNodes() {
|
|
30
9
|
let labelNodes = [];
|
|
31
10
|
|
|
@@ -50,5 +29,26 @@ export default class HeaderNode extends NonTerminalNode {
|
|
|
50
29
|
return labelNode;
|
|
51
30
|
}
|
|
52
31
|
|
|
32
|
+
getSignatureNode() {
|
|
33
|
+
const ruleName = SIGNATURE_RULE_NAME,
|
|
34
|
+
signatureNode = this.getNodeByRuleName(ruleName);
|
|
35
|
+
|
|
36
|
+
return signatureNode;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
getParenthesisedLabelNode() {
|
|
40
|
+
const ruleName = PARENTHESISED_LABEL_RULE_NAME,
|
|
41
|
+
parenthesisedLabelsNode = this.getNodeByRuleName(ruleName);
|
|
42
|
+
|
|
43
|
+
return parenthesisedLabelsNode;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
getParenthesisedLabelsNode() {
|
|
47
|
+
const ruleName = PARENTHESISED_LABELS_RULE_NAME,
|
|
48
|
+
parenthesisedLabelsNode = this.getNodeByRuleName(ruleName);
|
|
49
|
+
|
|
50
|
+
return parenthesisedLabelsNode;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
53
|
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
54
54
|
}
|
|
@@ -11,14 +11,6 @@ export default class MetaLemmaMetaTheoremNode extends NonTerminalNode {
|
|
|
11
11
|
return axiomBodyNode;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
getHeaderNode() {
|
|
15
|
-
const { headerRuleName } = this.constructor,
|
|
16
|
-
ruleName = headerRuleName, ///
|
|
17
|
-
headerNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return headerNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
14
|
getLabelNode() {
|
|
23
15
|
const headerNode = this.getHeaderNode(),
|
|
24
16
|
labelNode = headerNode.getLabelNode();
|
|
@@ -26,11 +18,19 @@ export default class MetaLemmaMetaTheoremNode extends NonTerminalNode {
|
|
|
26
18
|
return labelNode;
|
|
27
19
|
}
|
|
28
20
|
|
|
29
|
-
|
|
21
|
+
getProofNode() {
|
|
30
22
|
const bodyNode = this.getBodyNode(),
|
|
31
|
-
|
|
23
|
+
proofNode = bodyNode.getProofNode();
|
|
32
24
|
|
|
33
|
-
return
|
|
25
|
+
return proofNode;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
getHeaderNode() {
|
|
29
|
+
const { headerRuleName } = this.constructor,
|
|
30
|
+
ruleName = headerRuleName, ///
|
|
31
|
+
headerNode = this.getNodeByRuleName(ruleName);
|
|
32
|
+
|
|
33
|
+
return headerNode;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
getDeductionNode() {
|
|
@@ -40,11 +40,11 @@ export default class MetaLemmaMetaTheoremNode extends NonTerminalNode {
|
|
|
40
40
|
return deductionNode;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
getSuppositionNodes() {
|
|
44
44
|
const bodyNode = this.getBodyNode(),
|
|
45
|
-
|
|
45
|
+
suppositionNodes = bodyNode.getSuppositionNodes();
|
|
46
46
|
|
|
47
|
-
return
|
|
47
|
+
return suppositionNodes;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
package/src/node/metavariable.js
CHANGED
|
@@ -5,20 +5,6 @@ import NonTerminalNode from "../nonTerminalNode";
|
|
|
5
5
|
import { TERM_RULE_NAME, TYPE_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class MetavariableNode extends NonTerminalNode {
|
|
8
|
-
getTermNode() {
|
|
9
|
-
const ruleName = TERM_RULE_NAME,
|
|
10
|
-
termNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return termNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getTypeNode() {
|
|
16
|
-
const ruleName = TYPE_RULE_NAME,
|
|
17
|
-
typeNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return typeNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
8
|
getMetavariableName() {
|
|
23
9
|
let metaVariableName;
|
|
24
10
|
|
|
@@ -38,5 +24,19 @@ export default class MetavariableNode extends NonTerminalNode {
|
|
|
38
24
|
return metaVariableName;
|
|
39
25
|
}
|
|
40
26
|
|
|
27
|
+
getTermNode() {
|
|
28
|
+
const ruleName = TERM_RULE_NAME,
|
|
29
|
+
termNode = this.getNodeByRuleName(ruleName);
|
|
30
|
+
|
|
31
|
+
return termNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
getTypeNode() {
|
|
35
|
+
const ruleName = TYPE_RULE_NAME,
|
|
36
|
+
typeNode = this.getNodeByRuleName(ruleName);
|
|
37
|
+
|
|
38
|
+
return typeNode;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
41
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(MetavariableNode, ruleName, childNodes, opacity, precedence); }
|
|
42
42
|
}
|