occam-verify-cli 1.0.396 → 1.0.404
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/assignment/equality.js +2 -2
- package/lib/context/file.js +4 -5
- package/lib/context/local.js +17 -6
- package/lib/context/partial.js +10 -10
- package/lib/context/temporary.js +102 -52
- package/lib/mixins/step/unify.js +5 -6
- package/lib/node/argument.js +4 -4
- package/lib/node/assertion/contained.js +6 -6
- package/lib/node/assertion/defined.js +6 -6
- package/lib/node/assertion/property.js +6 -6
- package/lib/node/assertion/satisfies.js +6 -6
- package/lib/node/assertion/subproof.js +6 -6
- package/lib/node/assertion/type.js +6 -6
- package/lib/node/assertion.js +107 -0
- package/lib/node/assumption.js +134 -0
- package/lib/node/axiom.js +6 -6
- package/lib/node/{topLevelAssertion.js → axiomLemmaTheoremConjecture.js} +12 -12
- package/lib/node/body.js +4 -5
- package/lib/node/combinator.js +4 -4
- package/lib/node/conclusion.js +4 -4
- package/lib/node/conjecture.js +6 -6
- package/lib/node/constructor.js +4 -4
- package/lib/node/declaration/combinator.js +6 -6
- package/lib/node/declaration/complexType.js +6 -6
- package/lib/node/declaration/constructor.js +6 -6
- package/lib/node/declaration/metavariable.js +6 -6
- package/lib/node/declaration/property.js +6 -6
- package/lib/node/declaration/simpleType.js +6 -6
- package/lib/node/declaration/typePrefix.js +6 -6
- package/lib/node/declaration/variable.js +6 -6
- package/lib/node/declaration.js +6 -22
- package/lib/node/deduction.js +4 -4
- package/lib/node/derivation.js +4 -4
- package/lib/node/document.js +107 -0
- package/lib/node/equality.js +4 -4
- package/lib/node/error.js +4 -4
- package/lib/node/frame.js +25 -14
- package/lib/node/header.js +4 -4
- package/lib/node/hypothesis.js +4 -4
- package/lib/node/judgement.js +8 -8
- package/lib/node/label.js +4 -4
- package/lib/node/labels.js +4 -4
- package/lib/node/lemma.js +6 -6
- package/lib/node/metaArgument.js +4 -4
- package/lib/node/metaLemma.js +6 -6
- package/lib/node/{topLevelMetaAssertion.js → metaLemmaMetaTheorem.js} +12 -12
- package/lib/node/metaType.js +4 -4
- package/lib/node/metatheorem.js +6 -6
- package/lib/node/metavariable.js +4 -4
- package/lib/node/nonsense.js +4 -4
- package/lib/node/parameter.js +4 -4
- package/lib/node/parenthesisedLabel.js +4 -4
- package/lib/node/parenthesisedLabels.js +4 -4
- package/lib/node/placeholder.js +107 -0
- package/lib/node/premise.js +4 -4
- package/lib/node/procedureCall.js +4 -4
- package/lib/node/procedureReference.js +4 -4
- package/lib/node/proof.js +4 -4
- package/lib/node/property.js +4 -4
- package/lib/node/propertyRelation.js +4 -4
- package/lib/node/qualification.js +4 -4
- package/lib/node/reference.js +4 -4
- package/lib/node/rule.js +4 -4
- package/lib/node/section.js +4 -4
- package/lib/node/signature.js +4 -4
- package/lib/node/statement.js +15 -4
- package/lib/node/step.js +4 -4
- package/lib/node/subDerivation.js +4 -4
- package/lib/node/subproof.js +4 -4
- package/lib/node/substitution/frame.js +6 -6
- package/lib/node/substitution/statement.js +6 -6
- package/lib/node/substitution/term.js +6 -6
- package/lib/node/substitution.js +107 -0
- package/lib/node/supposition.js +4 -4
- package/lib/node/term.js +27 -4
- package/lib/node/theorem.js +6 -6
- package/lib/node/type.js +4 -4
- package/lib/node/typePrefix.js +4 -4
- package/lib/node/types.js +4 -4
- package/lib/node/variable.js +4 -4
- package/lib/nominal/parser.js +3 -3
- package/lib/nonTerminalNode.js +222 -0
- package/lib/nonTerminalNodeMap.js +5 -3
- package/lib/ontology/assertion/contained.js +8 -9
- package/lib/ontology/assertion/defined.js +9 -10
- package/lib/ontology/assertion/satisfies.js +4 -4
- package/lib/ontology/assumption.js +379 -0
- package/lib/ontology/declaration/combinator.js +75 -33
- package/lib/ontology/declaration/complexType.js +110 -63
- package/lib/ontology/declaration/constructor.js +81 -38
- package/lib/ontology/declaration/metavariable.js +87 -39
- package/lib/ontology/declaration/simpleType.js +95 -48
- package/lib/ontology/declaration/typePrefix.js +87 -40
- package/lib/ontology/declaration/variable.js +87 -39
- package/lib/ontology/declaration.js +13 -338
- package/lib/ontology/equivalence.js +295 -0
- package/lib/ontology/equivalences.js +264 -0
- package/lib/ontology/frame.js +49 -54
- package/lib/ontology/judgement.js +8 -8
- package/lib/ontology/metavariable.js +4 -4
- package/lib/ontology/premise.js +14 -5
- package/lib/ontology/reference.js +3 -9
- package/lib/ontology/rule.js +3 -4
- package/lib/ontology/statement.js +28 -24
- package/lib/ontology/step.js +2 -3
- package/lib/ontology/subproof.js +2 -3
- package/lib/ontology/substitution/statement.js +77 -36
- package/lib/ontology/substitution/term.js +14 -34
- package/lib/ontology/substitution.js +18 -19
- package/lib/ontology/substitutions.js +425 -0
- package/lib/ontology/supposition.js +14 -5
- package/lib/ontology/term.js +33 -36
- package/lib/ontology/topLevelAssertion.js +2 -3
- package/lib/ontology/topLevelMetaAssertion.js +2 -3
- package/lib/ontology/variable.js +1 -34
- package/lib/preamble.js +7 -4
- package/lib/ruleNames.js +20 -12
- package/lib/unifier/intrinsicLevel.js +4 -12
- package/lib/unifier/metaLevel.js +14 -22
- package/lib/utilities/frame.js +18 -0
- package/lib/utilities/statement.js +18 -0
- package/lib/utilities/substitutions.js +43 -30
- package/lib/utilities/variable.js +5 -17
- package/package.json +10 -10
- package/src/assignment/equality.js +1 -1
- package/src/context/file.js +5 -4
- package/src/context/local.js +28 -5
- package/src/context/partial.js +9 -14
- package/src/context/temporary.js +120 -51
- package/src/mixins/step/unify.js +4 -4
- package/src/node/argument.js +1 -1
- package/src/node/assertion/contained.js +3 -3
- package/src/node/assertion/defined.js +3 -3
- package/src/node/assertion/property.js +3 -3
- package/src/node/assertion/satisfies.js +3 -3
- package/src/node/assertion/subproof.js +3 -3
- package/src/node/assertion/type.js +3 -3
- package/src/node/assertion.js +7 -0
- package/src/node/assumption.js +35 -0
- package/src/node/axiom.js +3 -3
- package/src/node/{topLevelAssertion.js → axiomLemmaTheoremConjecture.js} +2 -2
- package/src/node/body.js +1 -3
- package/src/node/combinator.js +1 -1
- package/src/node/conclusion.js +1 -1
- package/src/node/conjecture.js +3 -3
- package/src/node/constructor.js +1 -1
- package/src/node/declaration/combinator.js +3 -3
- package/src/node/declaration/complexType.js +3 -3
- package/src/node/declaration/constructor.js +3 -3
- package/src/node/declaration/metavariable.js +3 -3
- package/src/node/declaration/property.js +3 -3
- package/src/node/declaration/simpleType.js +3 -3
- package/src/node/declaration/typePrefix.js +3 -3
- package/src/node/declaration/variable.js +3 -3
- package/src/node/declaration.js +2 -18
- package/src/node/deduction.js +1 -1
- package/src/node/derivation.js +1 -1
- package/src/node/document.js +7 -0
- package/src/node/equality.js +1 -1
- package/src/node/error.js +1 -1
- package/src/node/frame.js +23 -11
- package/src/node/header.js +1 -1
- package/src/node/hypothesis.js +1 -1
- package/src/node/judgement.js +6 -6
- package/src/node/label.js +1 -1
- package/src/node/labels.js +1 -1
- package/src/node/lemma.js +3 -3
- package/src/node/metaArgument.js +1 -1
- package/src/node/metaLemma.js +3 -3
- package/src/node/{topLevelMetaAssertion.js → metaLemmaMetaTheorem.js} +2 -2
- package/src/node/metaType.js +1 -1
- package/src/node/metatheorem.js +3 -3
- package/src/node/metavariable.js +1 -1
- package/src/node/nonsense.js +1 -1
- package/src/node/parameter.js +1 -1
- package/src/node/parenthesisedLabel.js +1 -1
- package/src/node/parenthesisedLabels.js +1 -1
- package/src/node/placeholder.js +7 -0
- package/src/node/premise.js +1 -1
- package/src/node/procedureCall.js +1 -1
- package/src/node/procedureReference.js +1 -1
- package/src/node/proof.js +1 -1
- package/src/node/property.js +1 -1
- package/src/node/propertyRelation.js +1 -1
- package/src/node/qualification.js +1 -1
- package/src/node/reference.js +1 -1
- package/src/node/rule.js +2 -2
- package/src/node/section.js +1 -1
- package/src/node/signature.js +1 -1
- package/src/node/statement.js +13 -1
- package/src/node/step.js +1 -1
- package/src/node/subDerivation.js +1 -1
- package/src/node/subproof.js +1 -1
- package/src/node/substitution/frame.js +3 -3
- package/src/node/substitution/statement.js +3 -3
- package/src/node/substitution/term.js +3 -3
- package/src/node/substitution.js +7 -0
- package/src/node/supposition.js +1 -1
- package/src/node/term.js +27 -1
- package/src/node/theorem.js +3 -3
- package/src/node/type.js +1 -1
- package/src/node/typePrefix.js +1 -1
- package/src/node/types.js +1 -1
- package/src/node/variable.js +1 -1
- package/src/nominal/parser.js +2 -2
- package/src/{node/nonTerminal.js → nonTerminalNode.js} +31 -25
- package/src/nonTerminalNodeMap.js +10 -5
- package/src/ontology/assertion/contained.js +14 -14
- package/src/ontology/assertion/defined.js +13 -13
- package/src/ontology/assertion/satisfies.js +2 -1
- package/src/ontology/assumption.js +385 -0
- package/src/ontology/declaration/combinator.js +15 -24
- package/src/ontology/declaration/complexType.js +57 -53
- package/src/ontology/declaration/constructor.js +25 -31
- package/src/ontology/declaration/metavariable.js +25 -30
- package/src/ontology/declaration/simpleType.js +34 -38
- package/src/ontology/declaration/typePrefix.js +23 -31
- package/src/ontology/declaration/variable.js +26 -31
- package/src/ontology/declaration.js +8 -372
- package/src/{equivalence.js → ontology/equivalence.js} +4 -3
- package/src/{equivalences.js → ontology/equivalences.js} +14 -12
- package/src/ontology/frame.js +53 -63
- package/src/ontology/judgement.js +8 -8
- package/src/ontology/metavariable.js +2 -2
- package/src/ontology/premise.js +18 -4
- package/src/ontology/reference.js +4 -3
- package/src/ontology/rule.js +4 -3
- package/src/ontology/statement.js +31 -27
- package/src/ontology/step.js +2 -2
- package/src/ontology/subproof.js +2 -2
- package/src/ontology/substitution/statement.js +56 -53
- package/src/ontology/substitution/term.js +9 -35
- package/src/ontology/substitution.js +11 -15
- package/src/{substitutions.js → ontology/substitutions.js} +4 -3
- package/src/ontology/supposition.js +18 -4
- package/src/ontology/term.js +27 -39
- package/src/ontology/topLevelAssertion.js +2 -2
- package/src/ontology/topLevelMetaAssertion.js +2 -2
- package/src/ontology/variable.js +0 -54
- package/src/preamble.js +6 -3
- package/src/ruleNames.js +10 -8
- package/src/unifier/intrinsicLevel.js +3 -14
- package/src/unifier/metaLevel.js +14 -25
- package/src/utilities/frame.js +13 -0
- package/src/utilities/statement.js +13 -0
- package/src/utilities/substitutions.js +59 -31
- package/src/utilities/variable.js +1 -10
- package/lib/equivalence.js +0 -294
- package/lib/equivalences.js +0 -263
- package/lib/node/nonTerminal.js +0 -218
- package/lib/substitutions.js +0 -424
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import AssertionNode from "../../node/assertion";
|
|
4
4
|
|
|
5
5
|
import { STATEMENT_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class SubproofAssertionNode extends
|
|
7
|
+
export default class SubproofAssertionNode extends AssertionNode {
|
|
8
8
|
getStatementNodes() {
|
|
9
9
|
const ruleName = STATEMENT_RULE_NAME,
|
|
10
10
|
statementNodes = this.getNodesByRuleName(ruleName);
|
|
@@ -12,5 +12,5 @@ export default class SubproofAssertionNode extends NonTerminalNode {
|
|
|
12
12
|
return statementNodes;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
15
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return AssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(SubproofAssertionNode, ruleName, childNodes, opacity, precedence); }
|
|
16
16
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import AssertionNode from "../../node/assertion";
|
|
4
4
|
|
|
5
5
|
import { TERM_RULE_NAME, TYPE_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class TypeAssertionNode extends
|
|
7
|
+
export default class TypeAssertionNode extends AssertionNode {
|
|
8
8
|
getTermNode() {
|
|
9
9
|
const ruleName = TERM_RULE_NAME,
|
|
10
10
|
termNode = this.getNodeByRuleName(ruleName);
|
|
@@ -19,5 +19,5 @@ export default class TypeAssertionNode extends NonTerminalNode {
|
|
|
19
19
|
return typeNode;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
22
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return AssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(TypeAssertionNode, ruleName, childNodes, opacity, precedence); }
|
|
23
23
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
|
+
|
|
5
|
+
export default class AssertionNode extends NonTerminalNode {
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import DocumentNode from "../nonTerminalNode";
|
|
4
|
+
|
|
5
|
+
import { STATEMENT_RULE_NAME, METAVARIABLE_RULE_NAME } from "../ruleNames";
|
|
6
|
+
|
|
7
|
+
export default class AssumptionpNode extends DocumentNode {
|
|
8
|
+
isSimple() {
|
|
9
|
+
let simple = false;
|
|
10
|
+
|
|
11
|
+
const statementNode = this.getStatementNode();
|
|
12
|
+
|
|
13
|
+
if (statementNode === null) {
|
|
14
|
+
simple = true;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return simple;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getStatementNode() {
|
|
21
|
+
const ruleName = STATEMENT_RULE_NAME,
|
|
22
|
+
statementNode = this.getNodeByRuleName(ruleName);
|
|
23
|
+
|
|
24
|
+
return statementNode;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getMetavariableNode() {
|
|
28
|
+
const ruleName = METAVARIABLE_RULE_NAME,
|
|
29
|
+
metavariableNode = this.getNodeByRuleName(ruleName);
|
|
30
|
+
|
|
31
|
+
return metavariableNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DocumentNode.fromRuleNameChildNodesOpacityAndPrecedence(AssumptionpNode, ruleName, childNodes, opacity, precedence); }
|
|
35
|
+
}
|
package/src/node/axiom.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import AxiomLemmaTheoremConjectureNode from "../node/axiomLemmaTheoremConjecture";
|
|
4
4
|
|
|
5
5
|
import { AXIOM_BODY_RULE_NAME, AXIOM_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class AxiomNode extends
|
|
7
|
+
export default class AxiomNode extends AxiomLemmaTheoremConjectureNode {
|
|
8
8
|
static bodyRuleName = AXIOM_BODY_RULE_NAME;
|
|
9
9
|
|
|
10
10
|
static headerRuleName = AXIOM_HEADER_RULE_NAME;
|
|
11
11
|
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return AxiomLemmaTheoremConjectureNode.fromRuleNameChildNodesOpacityAndPrecedence(AxiomNode, ruleName, childNodes, opacity, precedence); }
|
|
13
13
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class AxiomLemmaTheoremConjectureNode extends NonTerminalNode {
|
|
6
6
|
getBodyNode() {
|
|
7
7
|
const { bodyRuleName } = this.constructor,
|
|
8
8
|
ruleName = bodyRuleName, ///
|
package/src/node/body.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
4
|
-
|
|
5
|
-
import { PROOF_RULE_NAME, DEDUCTION_RULE_NAME, SUPPOSITION_RULE_NAME } from "../ruleNames";
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
6
4
|
|
|
7
5
|
export default class BodyNode extends NonTerminalNode {
|
|
8
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
package/src/node/combinator.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
5
|
export default class CombinatorNode extends NonTerminalNode {
|
|
6
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(CombinatorNode, ruleName, childNodes, opacity, precedence); }
|
package/src/node/conclusion.js
CHANGED
package/src/node/conjecture.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import AxiomLemmaTheoremConjectureNode from "../node/axiomLemmaTheoremConjecture";
|
|
4
4
|
|
|
5
5
|
import { CONJECTURE_BODY_RULE_NAME, CONJECTURE_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class ConjectureNode extends
|
|
7
|
+
export default class ConjectureNode extends AxiomLemmaTheoremConjectureNode {
|
|
8
8
|
static bodyRuleName = CONJECTURE_BODY_RULE_NAME;
|
|
9
9
|
|
|
10
10
|
static headerRuleName = CONJECTURE_HEADER_RULE_NAME;
|
|
11
11
|
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return AxiomLemmaTheoremConjectureNode.fromRuleNameChildNodesOpacityAndPrecedence(ConjectureNode, ruleName, childNodes, opacity, precedence); }
|
|
13
13
|
}
|
package/src/node/constructor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
5
|
export default class ConstructorNode extends NonTerminalNode {
|
|
6
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ConstructorNode, ruleName, childNodes, opacity, precedence); }
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { STATEMENT_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class ContainedDeclarationNode extends
|
|
7
|
+
export default class ContainedDeclarationNode extends DeclarationNode {
|
|
8
8
|
getStatementNode() {
|
|
9
9
|
const ruleName = STATEMENT_RULE_NAME,
|
|
10
10
|
statementNode = this.getNodeByRuleName(ruleName);
|
|
@@ -12,5 +12,5 @@ export default class ContainedDeclarationNode extends NonTerminalNode {
|
|
|
12
12
|
return statementNode;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
15
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(ContainedDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
16
16
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { PROVISIONAL } from "../../constants";
|
|
6
6
|
import { TYPE_RULE_NAME, TYPES_RULE_NAME, PROPERTY_DECLARATION_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
|
-
export default class ComplexTypeDeclarationNode extends
|
|
8
|
+
export default class ComplexTypeDeclarationNode extends DeclarationNode {
|
|
9
9
|
isProvisional() {
|
|
10
10
|
let provisional = false;
|
|
11
11
|
|
|
@@ -91,5 +91,5 @@ export default class ComplexTypeDeclarationNode extends NonTerminalNode {
|
|
|
91
91
|
return propertyDeclarationNodes;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
94
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(ComplexTypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
95
95
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { PROVISIONALLY } from "../../constants";
|
|
6
6
|
import { TERM_RULE_NAME, TYPE_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
|
-
export default class ConstructorDeclarationNode extends
|
|
8
|
+
export default class ConstructorDeclarationNode extends DeclarationNode {
|
|
9
9
|
isProvisional() {
|
|
10
10
|
let provisional = false;
|
|
11
11
|
|
|
@@ -42,5 +42,5 @@ export default class ConstructorDeclarationNode extends NonTerminalNode {
|
|
|
42
42
|
return typeNode;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
45
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(ConstructorDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
46
46
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { META_TYPE_RULE_NAME, METAVARIABLE_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class MetavariableDeclarationNode extends
|
|
7
|
+
export default class MetavariableDeclarationNode extends DeclarationNode {
|
|
8
8
|
getTypeNode() {
|
|
9
9
|
const metavariableNode = this.getMetavariableNode(),
|
|
10
10
|
typeNode = metavariableNode.getTypeNode();
|
|
@@ -26,5 +26,5 @@ export default class MetavariableDeclarationNode extends NonTerminalNode {
|
|
|
26
26
|
return metavariableNode;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
29
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(MetavariableDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
30
30
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { TYPE_RULE_NAME, PROPERTY_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class PropertyDeclarationNode extends
|
|
7
|
+
export default class PropertyDeclarationNode extends DeclarationNode {
|
|
8
8
|
getTypeNode() {
|
|
9
9
|
const ruleName = TYPE_RULE_NAME,
|
|
10
10
|
typeNode = this.getNodeByRuleName(ruleName);
|
|
@@ -38,5 +38,5 @@ export default class PropertyDeclarationNode extends NonTerminalNode {
|
|
|
38
38
|
return nominalTypeName;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
41
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(PropertyDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
42
42
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { PROVISIONAL } from "../../constants";
|
|
6
6
|
import { TYPE_RULE_NAME, TYPES_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
|
-
export default class SimpleTypeDeclarationNode extends
|
|
8
|
+
export default class SimpleTypeDeclarationNode extends DeclarationNode {
|
|
9
9
|
isProvisional() {
|
|
10
10
|
let provisional = false;
|
|
11
11
|
|
|
@@ -89,6 +89,6 @@ export default class SimpleTypeDeclarationNode extends NonTerminalNode {
|
|
|
89
89
|
return nominalTypeName;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
92
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(SimpleTypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
93
93
|
}
|
|
94
94
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { TYPE_PREFIX_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class TypePrefixDeclarationNode extends
|
|
7
|
+
export default class TypePrefixDeclarationNode extends DeclarationNode {
|
|
8
8
|
getTypePrefix() {
|
|
9
9
|
const typePrefixNode = this.getTypePrefixNode(),
|
|
10
10
|
typePrefixName = typePrefixNode.getTypePrefixName();
|
|
@@ -19,6 +19,6 @@ export default class TypePrefixDeclarationNode extends NonTerminalNode {
|
|
|
19
19
|
return typePrefixNode;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
22
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(TypePrefixDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import DeclarationNode from "../../node/declaration";
|
|
4
4
|
|
|
5
5
|
import { PROVISIONALLY } from "../../constants";
|
|
6
6
|
import { TYPE_RULE_NAME, VARIABLE_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
|
-
export default class VariableDeclarationNode extends
|
|
8
|
+
export default class VariableDeclarationNode extends DeclarationNode {
|
|
9
9
|
isProvisional() {
|
|
10
10
|
let provisional = false;
|
|
11
11
|
|
|
@@ -49,5 +49,5 @@ export default class VariableDeclarationNode extends NonTerminalNode {
|
|
|
49
49
|
return variableIdentifier;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
52
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return DeclarationNode.fromRuleNameChildNodesOpacityAndPrecedence(VariableDeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
53
53
|
}
|
package/src/node/declaration.js
CHANGED
|
@@ -1,23 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
4
|
-
|
|
5
|
-
import { STATEMENT_RULE_NAME, METAVARIABLE_RULE_NAME } from "../ruleNames";
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
6
4
|
|
|
7
5
|
export default class DeclarationNode extends NonTerminalNode {
|
|
8
|
-
|
|
9
|
-
const ruleName = STATEMENT_RULE_NAME,
|
|
10
|
-
statementNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return statementNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getMetavariableNode() {
|
|
16
|
-
const ruleName = METAVARIABLE_RULE_NAME,
|
|
17
|
-
metavariableNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return metavariableNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(DeclarationNode, ruleName, childNodes, opacity, precedence); }
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
23
7
|
}
|
package/src/node/deduction.js
CHANGED
package/src/node/derivation.js
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
|
+
|
|
5
|
+
export default class DocumentNode extends NonTerminalNode {
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
7
|
+
}
|
package/src/node/equality.js
CHANGED
package/src/node/error.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
5
|
export default class ErrorNode extends NonTerminalNode {
|
|
6
6
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ErrorNode, ruleName, childNodes, opacity, precedence); }
|
package/src/node/frame.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { ASSUMPTION_RULE_NAME, METAVARIABLE_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class FrameNode extends NonTerminalNode {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
isSimple() {
|
|
9
|
+
let simple = false;
|
|
10
|
+
|
|
11
|
+
const singularAssumptionNode = this.getSingularAssumptionNode();
|
|
12
|
+
|
|
13
|
+
if (singularAssumptionNode !== null) {
|
|
14
|
+
simple = singularAssumptionNode.isSimple();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return simple;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getAssumptionNodes() {
|
|
21
|
+
const ruleName = ASSUMPTION_RULE_NAME,
|
|
10
22
|
declarationNodes = this.getNodesByRuleName(ruleName);
|
|
11
23
|
|
|
12
24
|
return declarationNodes;
|
|
@@ -19,20 +31,20 @@ export default class FrameNode extends NonTerminalNode {
|
|
|
19
31
|
return metavariableNodes;
|
|
20
32
|
}
|
|
21
33
|
|
|
22
|
-
|
|
23
|
-
const ruleName =
|
|
24
|
-
|
|
34
|
+
getSingularAssumptionNode() {
|
|
35
|
+
const ruleName = ASSUMPTION_RULE_NAME,
|
|
36
|
+
singularAssumptionNode = this.getSingularTNodeByRuleName(ruleName);
|
|
25
37
|
|
|
26
|
-
return
|
|
38
|
+
return singularAssumptionNode;
|
|
27
39
|
}
|
|
28
40
|
|
|
29
41
|
getSingularMetavariableNode() {
|
|
30
42
|
let singularMetavariableNode = null;
|
|
31
43
|
|
|
32
|
-
const
|
|
44
|
+
const singularAssumptionNode = this.getSingularAssumptionNode();
|
|
33
45
|
|
|
34
|
-
if (
|
|
35
|
-
const metavariableNode =
|
|
46
|
+
if (singularAssumptionNode !== null) {
|
|
47
|
+
const metavariableNode = singularAssumptionNode.getMetavariableNode();
|
|
36
48
|
|
|
37
49
|
singularMetavariableNode = metavariableNode; ///
|
|
38
50
|
}
|
package/src/node/header.js
CHANGED
package/src/node/hypothesis.js
CHANGED
package/src/node/judgement.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
-
import { FRAME_RULE_NAME,
|
|
5
|
+
import { FRAME_RULE_NAME, ASSUMPTION_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class JudgementNode extends NonTerminalNode {
|
|
8
8
|
getFrameNode() {
|
|
@@ -12,11 +12,11 @@ export default class JudgementNode extends NonTerminalNode {
|
|
|
12
12
|
return frameNode;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
const ruleName =
|
|
17
|
-
|
|
15
|
+
getAssumptionNode() {
|
|
16
|
+
const ruleName = ASSUMPTION_RULE_NAME,
|
|
17
|
+
assumptionNodes = this.getNodeByRuleName(ruleName);
|
|
18
18
|
|
|
19
|
-
return
|
|
19
|
+
return assumptionNodes;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(JudgementNode, ruleName, childNodes, opacity, precedence); }
|
package/src/node/label.js
CHANGED
package/src/node/labels.js
CHANGED
package/src/node/lemma.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import AxiomLemmaTheoremConjectureNode from "../node/axiomLemmaTheoremConjecture";
|
|
4
4
|
|
|
5
5
|
import { LEMMA_BODY_RULE_NAME, LEMMA_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class LemmaNode extends
|
|
7
|
+
export default class LemmaNode extends AxiomLemmaTheoremConjectureNode {
|
|
8
8
|
static bodyRuleName = LEMMA_BODY_RULE_NAME;
|
|
9
9
|
|
|
10
10
|
static headerRuleName = LEMMA_HEADER_RULE_NAME;
|
|
11
11
|
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return AxiomLemmaTheoremConjectureNode.fromRuleNameChildNodesOpacityAndPrecedence(LemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
13
13
|
}
|
package/src/node/metaArgument.js
CHANGED
package/src/node/metaLemma.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import MetaLemmaMetaTheoremNode from "../node/metaLemmaMetaTheorem";
|
|
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
|
|
7
|
+
export default class MetaLemmaNode extends MetaLemmaMetaTheoremNode {
|
|
8
8
|
static bodyRuleName = META_LEMMA_BODY_RULE_NAME;
|
|
9
9
|
|
|
10
10
|
static headerRuleName = META_LEMMA_HEADER_RULE_NAME;
|
|
11
11
|
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MetaLemmaMetaTheoremNode.fromRuleNameChildNodesOpacityAndPrecedence(MetaLemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
13
13
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import NonTerminalNode from "../
|
|
3
|
+
import NonTerminalNode from "../nonTerminalNode";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class MetaLemmaMetaTheoremNode extends NonTerminalNode {
|
|
6
6
|
getBodyNode() {
|
|
7
7
|
const { bodyRuleName } = this.constructor,
|
|
8
8
|
ruleName = bodyRuleName, ///
|
package/src/node/metaType.js
CHANGED
package/src/node/metatheorem.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import MetaLemmaMetaTheoremNode from "../node/metaLemmaMetaTheorem";
|
|
4
4
|
|
|
5
5
|
import { METATHEOREM_BODY_RULE_NAME, METATHEOREM_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
6
|
|
|
7
|
-
export default class MetatheoremNode extends
|
|
7
|
+
export default class MetatheoremNode extends MetaLemmaMetaTheoremNode {
|
|
8
8
|
static bodyRuleName = METATHEOREM_BODY_RULE_NAME;
|
|
9
9
|
|
|
10
10
|
static headerRuleName = METATHEOREM_HEADER_RULE_NAME;
|
|
11
11
|
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return
|
|
12
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MetaLemmaMetaTheoremNode.fromRuleNameChildNodesOpacityAndPrecedence(MetatheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
13
13
|
}
|