occam-verify-cli 0.0.879 → 0.0.881
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/judgement.js +62 -0
- package/lib/context/file.js +8 -8
- package/lib/context/local.js +16 -10
- package/lib/context/localMeta.js +33 -33
- package/lib/frame.js +66 -0
- package/lib/judgement.js +68 -0
- package/lib/metaLemma.js +4 -4
- package/lib/metaLemmaMetatheorem.js +25 -9
- package/lib/metaType/{label.js → frame.js} +12 -12
- package/lib/metaType/{context.js → reference.js} +12 -12
- package/lib/metaTypeNames.js +7 -7
- package/lib/metaTypes.js +5 -5
- package/lib/metatheorem.js +4 -4
- package/lib/substitution/metastatementForMetavariable.js +20 -1
- package/lib/utilities/name.js +3 -11
- package/lib/verifier/nodes/metaLevel.js +2 -2
- package/lib/verify/declaration.js +5 -5
- package/lib/verify/frame.js +34 -0
- package/lib/verify/judgement.js +80 -21
- package/lib/verify/metaConsequent.js +2 -2
- package/lib/verify/metaDerivation.js +12 -12
- package/lib/verify/metaLemma.js +5 -5
- package/lib/verify/metaSuppositions.js +2 -2
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/metastatement/qualified.js +11 -4
- package/lib/verify/metastatement.js +5 -21
- package/lib/verify/metatheorem.js +5 -5
- package/lib/verify/metavariable.js +3 -3
- package/lib/verify/metavariableAgainstMetastatement.js +2 -2
- package/lib/verify/ruleDerivation.js +3 -3
- package/package.json +4 -4
- package/src/assignment/judgement.js +30 -0
- package/src/context/file.js +6 -6
- package/src/context/local.js +5 -3
- package/src/context/localMeta.js +33 -37
- package/src/frame.js +27 -0
- package/src/judgement.js +28 -0
- package/src/metaLemma.js +1 -1
- package/src/metaLemmaMetatheorem.js +27 -5
- package/src/metaType/frame.js +18 -0
- package/src/metaType/reference.js +18 -0
- package/src/metaTypeNames.js +2 -2
- package/src/metaTypes.js +4 -4
- package/src/metatheorem.js +1 -1
- package/src/substitution/metastatementForMetavariable.js +28 -0
- package/src/utilities/name.js +5 -15
- package/src/verifier/nodes/metaLevel.js +1 -1
- package/src/verify/declaration.js +5 -5
- package/src/verify/frame.js +30 -0
- package/src/verify/judgement.js +96 -26
- package/src/verify/metaConsequent.js +1 -1
- package/src/verify/metaDerivation.js +10 -11
- package/src/verify/metaLemma.js +6 -5
- package/src/verify/metaSuppositions.js +1 -1
- package/src/verify/metaproof.js +2 -2
- package/src/verify/metastatement/qualified.js +15 -6
- package/src/verify/metastatement.js +4 -30
- package/src/verify/metatheorem.js +6 -5
- package/src/verify/metavariable.js +2 -2
- package/src/verify/metavariableAgainstMetastatement.js +1 -1
- package/src/verify/ruleDerivation.js +2 -2
- package/lib/assignment/metaEquality.js +0 -62
- package/lib/metaEquality.js +0 -101
- package/lib/utilities/metaEquivalences.js +0 -15
- package/lib/verify/context.js +0 -34
- package/lib/verify/metaEquality.js +0 -69
- package/src/assignment/metaEquality.js +0 -30
- package/src/metaEquality.js +0 -84
- package/src/metaType/context.js +0 -18
- package/src/metaType/label.js +0 -18
- package/src/utilities/metaEquivalences.js +0 -5
- package/src/verify/context.js +0 -30
- package/src/verify/metaEquality.js +0 -83
|
@@ -73,8 +73,8 @@ function verifyChild(childNode, localMetaContext) {
|
|
|
73
73
|
case _ruleNames.QUALIFIED_METASTATEMENT_RULE_NAME:
|
|
74
74
|
{
|
|
75
75
|
var qualifiedMetastatementVerified;
|
|
76
|
-
var derived = true, assignments = [],
|
|
77
|
-
qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode,
|
|
76
|
+
var derived = true, assignments = [], substitutions = null, qualifiedMetastatementNode = childNode; ///
|
|
77
|
+
qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, substitutions, assignments, derived, localMetaContext);
|
|
78
78
|
if (qualifiedMetastatementVerified) {
|
|
79
79
|
var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localMetaContext);
|
|
80
80
|
qualifiedMetastatementVerified = assignmentAssigned; ///
|
|
@@ -106,4 +106,4 @@ function verifyChild(childNode, localMetaContext) {
|
|
|
106
106
|
return childVerified;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi9zdGVwL21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVByZW1pc2VzIGZyb20gXCIuLi92ZXJpZnkvcHJlbWlzZXNcIjtcbmltcG9ydCBMb2NhbE1ldGFDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsTWV0YVwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFJVTEVfU1VCUFJPT0ZfUlVMRV9OQU1FLCBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBjaGlsZE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVEZXJpdmF0aW9ufHJ1bGVTdWJEZXJpdmF0aW9uLypcIiksXG4gICAgICBwcmVtaXNlTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZVN1YnByb29mL3ByZW1pc2VcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcnVsZVN1YkRlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVN1YnByb29mL3J1bGVTdWJEZXJpdmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlRGVyaXZhdGlvbihydWxlRGVyaXZhdGlvbk5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNRdWVyeShydWxlRGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJ1bGVEZXJpdmF0aW9uVmVyaWZpZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZFZlcmlmaWVkID0gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChjaGlsZFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBydWxlRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbihydWxlU3ViRGVyaXZhdGlvbk5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNRdWVyeShydWxlU3ViRGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZFZlcmlmaWVkID0gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChjaGlsZFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBydWxlU3ViRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlSdWxlU3VicHJvb2YocnVsZVN1YnByb29mTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZVN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBsb2NhbE1ldGFDb250ZXh0ID0gTG9jYWxNZXRhQ29udGV4dC5mcm9tTG9jYWxNZXRhQ29udGV4dChsb2NhbE1ldGFDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcHJlbWlzZXMgPSBbXSxcbiAgICAgICAgcHJlbWlzZU5vZGVzID0gcHJlbWlzZU5vZGVzUXVlcnkocnVsZVN1YnByb29mTm9kZSksXG4gICAgICAgIHByZW1pc2VzVmVyaWZpZWQgPSB2ZXJpZnlQcmVtaXNlcyhwcmVtaXNlTm9kZXMsIHByZW1pc2VzLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAocHJlbWlzZXNWZXJpZmllZCkge1xuICAgIGNvbnN0IHJ1bGVTdWJEZXJpdmF0aW9uTm9kZSA9IHJ1bGVTdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5KHJ1bGVTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbihydWxlU3ViRGVyaXZhdGlvbk5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJ1bGVTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcnVsZVN1YnByb29mVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUNoaWxkKGNoaWxkTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgY2hpbGRWZXJpZmllZDtcblxuICBjb25zdCBjaGlsZE5vZGVSdWxlTmFtZSA9IGNoaWxkTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIHN3aXRjaCAoY2hpbGROb2RlUnVsZU5hbWUpIHtcbiAgICBjYXNlIFJVTEVfU1VCUFJPT0ZfUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCBydWxlU3VicHJvb2ZOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVTdWJwcm9vZihydWxlU3VicHJvb2ZOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKHJ1bGVTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21SdWxlU3VicHJvb2ZOb2RlKHJ1bGVTdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgICBjaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZVJlZmVyZW5jZXMgPSB0cnVlLFxuICAgICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlUmVmZXJlbmNlcywgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IGNoaWxkTm9kZTsgIC8vL1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2hpbGRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlRGVyaXZhdGlvbiIsImNoaWxkTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJwcmVtaXNlTm9kZXNRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlU3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsInJ1bGVEZXJpdmF0aW9uTm9kZSIsImxvY2FsTWV0YUNvbnRleHQiLCJydWxlRGVyaXZhdGlvblZlcmlmaWVkIiwiY2hpbGROb2RlcyIsImV2ZXJ5IiwiY2hpbGROb2RlIiwiY2hpbGRWZXJpZmllZCIsInZlcmlmeUNoaWxkIiwidmVyaWZ5UnVsZVN1YkRlcml2YXRpb24iLCJydWxlU3ViRGVyaXZhdGlvbk5vZGUiLCJydWxlU3ViRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5UnVsZVN1YnByb29mIiwicnVsZVN1YnByb29mTm9kZSIsInJ1bGVTdWJwcm9vZlZlcmlmaWVkIiwiTG9jYWxNZXRhQ29udGV4dCIsImZyb21Mb2NhbE1ldGFDb250ZXh0IiwicHJlbWlzZXMiLCJwcmVtaXNlTm9kZXMiLCJwcmVtaXNlc1ZlcmlmaWVkIiwidmVyaWZ5UHJlbWlzZXMiLCJjaGlsZE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiUlVMRV9TVUJQUk9PRl9SVUxFX05BTUUiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21SdWxlU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsIlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsIm1ldGF2YXJpYWJsZVJlZmVyZW5jZXMiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7Z0VBZkU7K0RBQ0M7Z0VBQ0U7Z0VBQ1k7a0VBQ0U7MkJBRVY7cUJBQ0s7eUJBQzBFOzs7Ozs7QUFFaEgsSUFBTUMsa0JBQWtCQyxJQUFBQSxp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
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi9zdGVwL21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVByZW1pc2VzIGZyb20gXCIuLi92ZXJpZnkvcHJlbWlzZXNcIjtcbmltcG9ydCBMb2NhbE1ldGFDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsTWV0YVwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFJVTEVfU1VCUFJPT0ZfUlVMRV9OQU1FLCBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBjaGlsZE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVEZXJpdmF0aW9ufHJ1bGVTdWJEZXJpdmF0aW9uLypcIiksXG4gICAgICBwcmVtaXNlTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZVN1YnByb29mL3ByZW1pc2VcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcnVsZVN1YkRlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVN1YnByb29mL3J1bGVTdWJEZXJpdmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlRGVyaXZhdGlvbihydWxlRGVyaXZhdGlvbk5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNRdWVyeShydWxlRGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJ1bGVEZXJpdmF0aW9uVmVyaWZpZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZFZlcmlmaWVkID0gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChjaGlsZFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBydWxlRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbihydWxlU3ViRGVyaXZhdGlvbk5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNRdWVyeShydWxlU3ViRGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZFZlcmlmaWVkID0gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChjaGlsZFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBydWxlU3ViRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlSdWxlU3VicHJvb2YocnVsZVN1YnByb29mTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZVN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBsb2NhbE1ldGFDb250ZXh0ID0gTG9jYWxNZXRhQ29udGV4dC5mcm9tTG9jYWxNZXRhQ29udGV4dChsb2NhbE1ldGFDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcHJlbWlzZXMgPSBbXSxcbiAgICAgICAgcHJlbWlzZU5vZGVzID0gcHJlbWlzZU5vZGVzUXVlcnkocnVsZVN1YnByb29mTm9kZSksXG4gICAgICAgIHByZW1pc2VzVmVyaWZpZWQgPSB2ZXJpZnlQcmVtaXNlcyhwcmVtaXNlTm9kZXMsIHByZW1pc2VzLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAocHJlbWlzZXNWZXJpZmllZCkge1xuICAgIGNvbnN0IHJ1bGVTdWJEZXJpdmF0aW9uTm9kZSA9IHJ1bGVTdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5KHJ1bGVTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbihydWxlU3ViRGVyaXZhdGlvbk5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHJ1bGVTdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJ1bGVTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcnVsZVN1YnByb29mVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUNoaWxkKGNoaWxkTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgY2hpbGRWZXJpZmllZDtcblxuICBjb25zdCBjaGlsZE5vZGVSdWxlTmFtZSA9IGNoaWxkTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIHN3aXRjaCAoY2hpbGROb2RlUnVsZU5hbWUpIHtcbiAgICBjYXNlIFJVTEVfU1VCUFJPT0ZfUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCBydWxlU3VicHJvb2ZOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVTdWJwcm9vZihydWxlU3VicHJvb2ZOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKHJ1bGVTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21SdWxlU3VicHJvb2ZOb2RlKHJ1bGVTdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgICBjaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBudWxsLFxuICAgICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IGNoaWxkTm9kZTsgIC8vL1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2hpbGRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlRGVyaXZhdGlvbiIsImNoaWxkTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJwcmVtaXNlTm9kZXNRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlU3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsInJ1bGVEZXJpdmF0aW9uTm9kZSIsImxvY2FsTWV0YUNvbnRleHQiLCJydWxlRGVyaXZhdGlvblZlcmlmaWVkIiwiY2hpbGROb2RlcyIsImV2ZXJ5IiwiY2hpbGROb2RlIiwiY2hpbGRWZXJpZmllZCIsInZlcmlmeUNoaWxkIiwidmVyaWZ5UnVsZVN1YkRlcml2YXRpb24iLCJydWxlU3ViRGVyaXZhdGlvbk5vZGUiLCJydWxlU3ViRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5UnVsZVN1YnByb29mIiwicnVsZVN1YnByb29mTm9kZSIsInJ1bGVTdWJwcm9vZlZlcmlmaWVkIiwiTG9jYWxNZXRhQ29udGV4dCIsImZyb21Mb2NhbE1ldGFDb250ZXh0IiwicHJlbWlzZXMiLCJwcmVtaXNlTm9kZXMiLCJwcmVtaXNlc1ZlcmlmaWVkIiwidmVyaWZ5UHJlbWlzZXMiLCJjaGlsZE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiUlVMRV9TVUJQUk9PRl9SVUxFX05BTUUiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21SdWxlU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsIlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInN1YnN0aXR1dGlvbnMiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7Z0VBZkU7K0RBQ0M7Z0VBQ0U7Z0VBQ1k7a0VBQ0U7MkJBRVY7cUJBQ0s7eUJBQzBFOzs7Ozs7QUFFaEgsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLHdDQUM3QkMsb0JBQW9CRCxJ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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.881",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"necessary": "^14.0.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-entities": "^1.0.
|
|
17
|
-
"occam-file-system": "^6.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.787",
|
|
16
|
+
"occam-entities": "^1.0.135",
|
|
17
|
+
"occam-file-system": "^6.0.177",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.205",
|
|
19
19
|
"occam-query": "^3.1.174"
|
|
20
20
|
},
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default class JudgementAssignment {
|
|
4
|
+
constructor(judgement) {
|
|
5
|
+
this.judgement = judgement;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
getJudgement() {
|
|
9
|
+
return this.judgement;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
assign(localMetaContext) {
|
|
13
|
+
const judgementAdded = localMetaContext.addJudgement(this.judgement),
|
|
14
|
+
judgementNode = this.judgement.getNode(),
|
|
15
|
+
judgementString = localMetaContext.nodeAsString(judgementNode),
|
|
16
|
+
judgementAssigned = judgementAdded; ///
|
|
17
|
+
|
|
18
|
+
judgementAssigned ?
|
|
19
|
+
localMetaContext.trace(`Assigned the '${judgementString}' judgement.`, judgementNode) :
|
|
20
|
+
localMetaContext.debug(`Unable to assign the '${judgementString}' judgement.`, judgementNode);
|
|
21
|
+
|
|
22
|
+
return judgementAssigned;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static fromJudgement(judgement) {
|
|
26
|
+
const judgementAssignment = new JudgementAssignment(judgement);
|
|
27
|
+
|
|
28
|
+
return judgementAssignment;
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/context/file.js
CHANGED
|
@@ -71,6 +71,12 @@ export default class FileContext {
|
|
|
71
71
|
return proofSteps;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
getJudgements() {
|
|
75
|
+
const judgements = [];
|
|
76
|
+
|
|
77
|
+
return judgements;
|
|
78
|
+
}
|
|
79
|
+
|
|
74
80
|
getEquivalences() {
|
|
75
81
|
const equivalences = []; ///
|
|
76
82
|
|
|
@@ -83,12 +89,6 @@ export default class FileContext {
|
|
|
83
89
|
return metaproofSteps;
|
|
84
90
|
}
|
|
85
91
|
|
|
86
|
-
getMetaEquivalences() {
|
|
87
|
-
const metaEquivalences = []; ///
|
|
88
|
-
|
|
89
|
-
return metaEquivalences;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
92
|
getLabels(includeRelease = true) {
|
|
93
93
|
const labels = [];
|
|
94
94
|
|
package/src/context/local.js
CHANGED
|
@@ -53,7 +53,11 @@ class LocalContext {
|
|
|
53
53
|
return equivalences;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
getJudgements() { return this.context.getJudgements(); }
|
|
57
|
+
|
|
58
|
+
getMetavariables() { return this.context.getMetavariables(); }
|
|
59
|
+
|
|
60
|
+
getMetaproofSteps() { return this.context.getMetaproofSteps(); }
|
|
57
61
|
|
|
58
62
|
getLastProofStep() {
|
|
59
63
|
let lastProofStep = null;
|
|
@@ -67,8 +71,6 @@ class LocalContext {
|
|
|
67
71
|
return lastProofStep;
|
|
68
72
|
}
|
|
69
73
|
|
|
70
|
-
getMetavariables() { return this.context.getMetavariables(); }
|
|
71
|
-
|
|
72
74
|
getTermType(term) {
|
|
73
75
|
let termType;
|
|
74
76
|
|
package/src/context/localMeta.js
CHANGED
|
@@ -3,24 +3,39 @@
|
|
|
3
3
|
import contextMixins from "../mixins/context";
|
|
4
4
|
|
|
5
5
|
import { last } from "../utilities/array";
|
|
6
|
-
import { mergeMetaEquivalences } from "../utilities/metaEquivalences";
|
|
7
6
|
|
|
8
7
|
class LocalMetaContext {
|
|
9
|
-
constructor(context, metavariables, metaproofSteps
|
|
8
|
+
constructor(context, judgements, metavariables, metaproofSteps) {
|
|
10
9
|
this.context = context;
|
|
10
|
+
this.judgements = judgements;
|
|
11
11
|
this.metavariables = metavariables;
|
|
12
12
|
this.metaproofSteps = metaproofSteps;
|
|
13
|
-
this.metaEquivalences = metaEquivalences;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
getContext() {
|
|
17
16
|
return this.context;
|
|
18
17
|
}
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
getJudgements() {
|
|
20
|
+
let judgements = this.context.getJudgements();
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
judgements = [ ///
|
|
23
|
+
...this.judgements,
|
|
24
|
+
...judgements
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
return judgements;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getMetavariables() {
|
|
31
|
+
let metavariables = this.context.getMetavariables();
|
|
32
|
+
|
|
33
|
+
metavariables = [ ///
|
|
34
|
+
...this.metavariables,
|
|
35
|
+
...metavariables
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
return metavariables;
|
|
24
39
|
}
|
|
25
40
|
|
|
26
41
|
getMetaproofSteps() {
|
|
@@ -34,31 +49,16 @@ class LocalMetaContext {
|
|
|
34
49
|
return metaproofSteps;
|
|
35
50
|
}
|
|
36
51
|
|
|
37
|
-
getMetaEquivalences() {
|
|
38
|
-
let metaEquivalences = this.context.getMetaEquivalences();
|
|
39
|
-
|
|
40
|
-
const metaEquivalencesA = this.metaEquivalences, ///
|
|
41
|
-
metaEquivalencesB = metaEquivalences,
|
|
42
|
-
localMetaContext = this; ///
|
|
43
|
-
|
|
44
|
-
metaEquivalences = mergeMetaEquivalences(metaEquivalencesA, metaEquivalencesB, localMetaContext); ///
|
|
45
|
-
|
|
46
|
-
return metaEquivalences;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
52
|
getVariables() { return this.context.getVariables(); }
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
getProofSteps() { return this.context.getProofSteps(); }
|
|
52
55
|
|
|
53
|
-
|
|
54
|
-
let metavariables = this.context.getMetavariables();
|
|
56
|
+
getEquivalences() { return this.context.getEquivalences(); }
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
...metavariables
|
|
59
|
-
]
|
|
58
|
+
getTermType(term) {
|
|
59
|
+
const termType = term.getType();
|
|
60
60
|
|
|
61
|
-
return
|
|
61
|
+
return termType;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
getLastMetaproofStep() {
|
|
@@ -73,8 +73,8 @@ class LocalMetaContext {
|
|
|
73
73
|
return lastMetaproofStep;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
addJudgement(judgement) {
|
|
77
|
+
this.judgements.push(judgement);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
addMetavariable(metavariable) {
|
|
@@ -102,10 +102,6 @@ class LocalMetaContext {
|
|
|
102
102
|
this.metaproofSteps.push(metaproofStep);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
addMetaEquivalence(metaEquivalence) {
|
|
106
|
-
this.metaEquivalences.push(metaEquivalence);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
105
|
matchMetastatement(metastatementNode) {
|
|
110
106
|
let metastatementMatches = false;
|
|
111
107
|
|
|
@@ -172,21 +168,21 @@ class LocalMetaContext {
|
|
|
172
168
|
|
|
173
169
|
static fromFileContext(fileContext) {
|
|
174
170
|
const context = fileContext, ///
|
|
171
|
+
judgements = [],
|
|
175
172
|
metavariables = [],
|
|
176
173
|
metaproofSteps = [],
|
|
177
|
-
|
|
178
|
-
localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps, metaEquivalences);
|
|
174
|
+
localMetaContext = new LocalMetaContext(context, judgements, metavariables, metaproofSteps);
|
|
179
175
|
|
|
180
176
|
return localMetaContext;
|
|
181
177
|
}
|
|
182
178
|
|
|
183
179
|
static fromLocalMetaContext(localMetaContext) {
|
|
184
180
|
const context = localMetaContext, ///
|
|
181
|
+
judgements = [],
|
|
185
182
|
metavariables = [],
|
|
186
|
-
metaproofSteps = []
|
|
187
|
-
metaEquivalences = [];
|
|
183
|
+
metaproofSteps = [];
|
|
188
184
|
|
|
189
|
-
localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps
|
|
185
|
+
localMetaContext = new LocalMetaContext(context, judgements, metavariables, metaproofSteps); ///
|
|
190
186
|
|
|
191
187
|
return localMetaContext;
|
|
192
188
|
}
|
package/src/frame.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default class Frame {
|
|
4
|
+
constructor(node, declarations) {
|
|
5
|
+
this.node = node;
|
|
6
|
+
this.declarations = declarations;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
getNode() {
|
|
10
|
+
return this.node;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getDeclarations() {
|
|
14
|
+
return this.declarations;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
addDeclarations(declarations) {
|
|
18
|
+
push(this.declarations, declarations);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
fromFrameNodeAndDeclarations(frameNode, declarations) {
|
|
22
|
+
const node = frameNode, ///
|
|
23
|
+
frame = new Frame(node, declarations);
|
|
24
|
+
|
|
25
|
+
return frame;
|
|
26
|
+
}
|
|
27
|
+
}
|
package/src/judgement.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default class Judgement {
|
|
4
|
+
constructor(node, frame, metavariable) {
|
|
5
|
+
this.node = node;
|
|
6
|
+
this.frame = frame;
|
|
7
|
+
this.metavariable = metavariable;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
getNode() {
|
|
11
|
+
return this.node;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
getFrame() {
|
|
15
|
+
return this.frame;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getMetavariable() {
|
|
19
|
+
return this.metavariable;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static fromJudgementNodeFrameAndMetavariable(judgementNode, frame, metavariable) {
|
|
23
|
+
const node = judgementNode,
|
|
24
|
+
judgement = new Judgement(node, frame, metavariable);
|
|
25
|
+
|
|
26
|
+
return judgement;
|
|
27
|
+
}
|
|
28
|
+
}
|
package/src/metaLemma.js
CHANGED
|
@@ -5,5 +5,5 @@ import MetalemmaMetatheorem from "./metalemmaMetatheorem";
|
|
|
5
5
|
export default class MetaLemma extends MetalemmaMetatheorem {
|
|
6
6
|
static fromJSONAndFileContext(json, fileContext) { return MetalemmaMetatheorem.fromJSONAndFileContext(MetaLemma, json, fileContext); }
|
|
7
7
|
|
|
8
|
-
static
|
|
8
|
+
static fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, metaSuppositions, metaConsequent, substitutions, fileContext) { return MetalemmaMetatheorem.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(MetaLemma, labels, metaSuppositions, metaConsequent, substitutions, fileContext); }
|
|
9
9
|
}
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
import Label from "./label";
|
|
4
4
|
import MetaConsequent from "./metaConsequent";
|
|
5
5
|
import MetaSupposition from "./metaSupposition";
|
|
6
|
-
import LocalMetaContext from "./context/localMeta";
|
|
7
6
|
|
|
8
7
|
import { prune } from "./utilities/array";
|
|
9
8
|
import { someSubArray } from "./utilities/array";
|
|
9
|
+
import MetastatementForMetavariableSubstitution from "./substitution/metastatementForMetavariable";
|
|
10
10
|
|
|
11
11
|
export default class MetaLemmaMetatheorem {
|
|
12
|
-
constructor(labels, metaSuppositions, metaConsequent, fileContext) {
|
|
12
|
+
constructor(labels, metaSuppositions, metaConsequent, substitutions, fileContext) {
|
|
13
13
|
this.labels = labels;
|
|
14
14
|
this.metaSuppositions = metaSuppositions;
|
|
15
15
|
this.metaConsequent = metaConsequent;
|
|
16
|
+
this.substitutions = substitutions;
|
|
16
17
|
this.fileContext = fileContext;
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -28,6 +29,10 @@ export default class MetaLemmaMetatheorem {
|
|
|
28
29
|
return this.metaConsequent;
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
getSubstitutions() {
|
|
33
|
+
return this.substitutions;
|
|
34
|
+
}
|
|
35
|
+
|
|
31
36
|
getFileContext() {
|
|
32
37
|
return this.fileContext;
|
|
33
38
|
}
|
|
@@ -91,15 +96,22 @@ export default class MetaLemmaMetatheorem {
|
|
|
91
96
|
return metaSuppositionJSON;
|
|
92
97
|
}),
|
|
93
98
|
metaConsequentJSON = this.metaConsequent.toJSON(tokens),
|
|
99
|
+
substitutionsJSON = this.substitutions.map((substitution) => {
|
|
100
|
+
const substitutionJSON = substitution.toJSON();
|
|
101
|
+
|
|
102
|
+
return substitutionJSON;
|
|
103
|
+
}),
|
|
94
104
|
localContextJSON = this.fileContext.toJSON(tokens),
|
|
95
105
|
labels = labelsJSON, ///
|
|
96
106
|
metaSuppositions = metaSuppositionsJSON, ///
|
|
97
107
|
metaConsequent = metaConsequentJSON, ///
|
|
108
|
+
substitutions = substitutionsJSON, ///
|
|
98
109
|
fileContext = localContextJSON, ///
|
|
99
110
|
json = {
|
|
100
111
|
labels,
|
|
101
112
|
metaSuppositions,
|
|
102
113
|
metaConsequent,
|
|
114
|
+
substitutions,
|
|
103
115
|
fileContext
|
|
104
116
|
};
|
|
105
117
|
|
|
@@ -118,7 +130,7 @@ export default class MetaLemmaMetatheorem {
|
|
|
118
130
|
return label;
|
|
119
131
|
});
|
|
120
132
|
|
|
121
|
-
let { metaSuppositions, metaConsequent } = json;
|
|
133
|
+
let { metaSuppositions, metaConsequent, substitutions } = json;
|
|
122
134
|
|
|
123
135
|
const metaSuppositionsJSON = metaSuppositions; ///
|
|
124
136
|
|
|
@@ -135,10 +147,20 @@ export default class MetaLemmaMetatheorem {
|
|
|
135
147
|
|
|
136
148
|
metaConsequent = MetaConsequent.fromJSONAndFileContext(json, fileContext);
|
|
137
149
|
|
|
138
|
-
|
|
150
|
+
const substitutionsJSON = substitutions; ///
|
|
151
|
+
|
|
152
|
+
substitutions = substitutionsJSON.map((substitutionJSON) => {
|
|
153
|
+
const json = substitutionJSON, ///
|
|
154
|
+
metastatementForMetavariableSubstitution = MetastatementForMetavariableSubstitution.fromJSONAndFileContext(json, fileContext),
|
|
155
|
+
substitution = metastatementForMetavariableSubstitution; ///
|
|
156
|
+
|
|
157
|
+
return substitution;
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
return new Class(labels, metaSuppositions, metaConsequent, substitutions, fileContext); ///
|
|
139
161
|
}
|
|
140
162
|
|
|
141
|
-
static
|
|
163
|
+
static fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(Class, labels, metaSuppositions, metaConsequent, substitutions, fileContext) { return new Class(labels, metaSuppositions, metaConsequent, substitutions, fileContext); }
|
|
142
164
|
}
|
|
143
165
|
|
|
144
166
|
function matchMetaSupposition(metaSupposition, metaproofSteps, substitutions, fileContext, metastatementLocalContext) {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MetaType from "../metaType";
|
|
4
|
+
|
|
5
|
+
import { FRAME_META_TYPE_NAME } from "../metaTypeNames";
|
|
6
|
+
|
|
7
|
+
class FrameMetaType extends MetaType {
|
|
8
|
+
static fromNothing() {
|
|
9
|
+
const name = FRAME_META_TYPE_NAME,
|
|
10
|
+
frameMetaType = new FrameMetaType(name);
|
|
11
|
+
|
|
12
|
+
return frameMetaType;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const frameMetaType = FrameMetaType.fromNothing();
|
|
17
|
+
|
|
18
|
+
export default frameMetaType;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MetaType from "../metaType";
|
|
4
|
+
|
|
5
|
+
import { REFERENCE_META_TYPE_NAME } from "../metaTypeNames";
|
|
6
|
+
|
|
7
|
+
class ReferenceMetaType extends MetaType {
|
|
8
|
+
static fromNothing() {
|
|
9
|
+
const name = REFERENCE_META_TYPE_NAME,
|
|
10
|
+
referenceMetaType = new ReferenceMetaType(name);
|
|
11
|
+
|
|
12
|
+
return referenceMetaType;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const referenceMetaType = ReferenceMetaType.fromNothing();
|
|
17
|
+
|
|
18
|
+
export default referenceMetaType;
|
package/src/metaTypeNames.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export const FRAME_META_TYPE_NAME = "Frame";
|
|
4
|
+
export const REFERENCE_META_TYPE_NAME = "Reference";
|
|
3
5
|
export const STATEMENT_META_TYPE_NAME = "Statement";
|
|
4
|
-
export const CONTEXT_META_TYPE_NAME = "Context";
|
|
5
|
-
export const LABEL_META_TYPE_NAME = "Label";
|
package/src/metaTypes.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import frameMetaType from "./metaType/frame";
|
|
4
|
+
import referenceMetaType from "./metaType/reference";
|
|
5
5
|
import statementMetaType from "./metaType/statement";
|
|
6
6
|
|
|
7
7
|
const metaTypes = [
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
frameMetaType,
|
|
9
|
+
referenceMetaType,
|
|
10
10
|
statementMetaType
|
|
11
11
|
];
|
|
12
12
|
|
package/src/metatheorem.js
CHANGED
|
@@ -5,5 +5,5 @@ import MetaLemmaMetatheorem from "./metaLemmaMetatheorem";
|
|
|
5
5
|
export default class Metatheorem extends MetaLemmaMetatheorem {
|
|
6
6
|
static fromJSONAndFileContext(json, fileContext) { return MetaLemmaMetatheorem.fromJSONAndFileContext(Metatheorem, json, fileContext); }
|
|
7
7
|
|
|
8
|
-
static
|
|
8
|
+
static fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, fileContext) { return MetaLemmaMetatheorem.fromLabelsMetaSuppositionsMetaConsequentSubstitutionsAndFileContext(Metatheorem, labels, suppositions, consequent, fileContext); }
|
|
9
9
|
}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import Substitution from "../substitution";
|
|
4
4
|
|
|
5
5
|
import { bracketedMetastatementChildNodeFromMetastatementNode } from "../utilities/metaproof";
|
|
6
|
+
import {nodeAsString} from "../utilities/string";
|
|
7
|
+
import {metastatementNodeFromMetastatementString, metavariableNodeFromMetavariableString} from "../utilities/node";
|
|
6
8
|
|
|
7
9
|
export default class MetastatementForMetavariableSubstitution extends Substitution {
|
|
8
10
|
constructor(metavariableNode, metastatementNode) {
|
|
@@ -44,6 +46,32 @@ export default class MetastatementForMetavariableSubstitution extends Substituti
|
|
|
44
46
|
return metastatementNodeMatches;
|
|
45
47
|
}
|
|
46
48
|
|
|
49
|
+
toJSON(tokens) {
|
|
50
|
+
const metavariableString = nodeAsString(this.metavariableNode, tokens),
|
|
51
|
+
metastatementString = nodeAsString(this.metastatementNode, tokens),
|
|
52
|
+
metavariable = metavariableString, ///
|
|
53
|
+
metastatement = metastatementString, ///
|
|
54
|
+
json = {
|
|
55
|
+
metavariable,
|
|
56
|
+
metastatement
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return json;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static fromJSONAndFileContext(json, fileContext) {
|
|
63
|
+
const { metavariable, metastatement } = json,
|
|
64
|
+
metavariableString = metavariable, ///
|
|
65
|
+
metastatementString = metastatement, ///
|
|
66
|
+
lexer = fileContext.getLexer(),
|
|
67
|
+
parser = fileContext.getParser(),
|
|
68
|
+
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
69
|
+
metavariableNode = metavariableNodeFromMetavariableString(metavariableString, lexer, parser),
|
|
70
|
+
metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metastatementNode, metavariableNode);
|
|
71
|
+
|
|
72
|
+
return metastatementForMetavariableSubstitution;
|
|
73
|
+
}
|
|
74
|
+
|
|
47
75
|
static fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode) {
|
|
48
76
|
let metastatementForMetavariableSubstitution;
|
|
49
77
|
|
package/src/utilities/name.js
CHANGED
|
@@ -7,14 +7,9 @@ const typeTerminalNodeQuery = nodeQuery("/type/@type"),
|
|
|
7
7
|
metaTypeTerminalNodeQuery = nodeQuery("/metaType/@meta-type");
|
|
8
8
|
|
|
9
9
|
export function typeNameFromTypeNode(typeNode) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const typeTerminalNode = typeTerminalNodeQuery(typeNode),
|
|
14
|
-
typeTerminalNodeContent = typeTerminalNode.getContent();
|
|
15
|
-
|
|
16
|
-
typeName = typeTerminalNodeContent; ///
|
|
17
|
-
}
|
|
10
|
+
const typeTerminalNode = typeTerminalNodeQuery(typeNode),
|
|
11
|
+
typeTerminalNodeContent = typeTerminalNode.getContent(),
|
|
12
|
+
typeName = typeTerminalNodeContent; ///
|
|
18
13
|
|
|
19
14
|
return typeName;
|
|
20
15
|
}
|
|
@@ -28,14 +23,9 @@ export function nameFromMetavariableNode(metavariableNode) {
|
|
|
28
23
|
}
|
|
29
24
|
|
|
30
25
|
export function metaTypeNameFromMetaTypeNode(metaTypeNode) {
|
|
31
|
-
let metaTypeName = null;
|
|
32
|
-
|
|
33
|
-
if (metaTypeNode !== null) {
|
|
34
26
|
const metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode),
|
|
35
|
-
metaTypeTerminalNodeContent = metaTypeTerminalNode.getContent()
|
|
36
|
-
|
|
37
|
-
metaTypeName = metaTypeTerminalNodeContent; ///
|
|
38
|
-
}
|
|
27
|
+
metaTypeTerminalNodeContent = metaTypeTerminalNode.getContent(),
|
|
28
|
+
metaTypeName = metaTypeTerminalNodeContent; ///
|
|
39
29
|
|
|
40
30
|
return metaTypeName;
|
|
41
31
|
}
|
|
@@ -47,7 +47,7 @@ class MetaLevelNodesVerifier extends NodesVerifier {
|
|
|
47
47
|
|
|
48
48
|
const metavariableNode = metastatementMetavariableNodeA, ///
|
|
49
49
|
metastatementNode = metastatementNodeB, ///
|
|
50
|
-
metavariableVerifiedAgainstMetastatement = verifyMetavariableAgainstMetastatement(metavariableNode, metastatementNode, substitutions,
|
|
50
|
+
metavariableVerifiedAgainstMetastatement = verifyMetavariableAgainstMetastatement(metavariableNode, metastatementNode, substitutions, verifyAhead);
|
|
51
51
|
|
|
52
52
|
metastatementMetavariableNodeVerifiedAgainstMetastatementNode = metavariableVerifiedAgainstMetastatement; ///
|
|
53
53
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import referenceMetaType from "../metaType/reference";
|
|
4
4
|
import metastatementNodeVerifier from "../verifier/node/metastatement";
|
|
5
5
|
|
|
6
6
|
import { nodeQuery } from "../utilities/query";
|
|
@@ -21,7 +21,7 @@ export default function verifyDeclaration(declarationNode, derived, localMetaCon
|
|
|
21
21
|
if (metavariable !== null) {
|
|
22
22
|
const metaType = metavariable.getMetaType();
|
|
23
23
|
|
|
24
|
-
if (metaType ===
|
|
24
|
+
if (metaType === referenceMetaType) {
|
|
25
25
|
const metastatementNode = metastatementNodeQuery(declarationNode);
|
|
26
26
|
|
|
27
27
|
if (metastatementNode !== null) {
|
|
@@ -36,11 +36,11 @@ export default function verifyDeclaration(declarationNode, derived, localMetaCon
|
|
|
36
36
|
declarationVerified = metastatementVerified; ///
|
|
37
37
|
}
|
|
38
38
|
} else {
|
|
39
|
-
const
|
|
40
|
-
|
|
39
|
+
const referenceMetaTypeName = referenceMetaType.getName(),
|
|
40
|
+
metavariableString = localMetaContext.nodeAsString(metavariableNode),
|
|
41
41
|
metaTypeString = metaType.asString();
|
|
42
42
|
|
|
43
|
-
localMetaContext.debug(`The '${metavariableString}' metavariable's meta-type is '${metaTypeString}' when it should be '${
|
|
43
|
+
localMetaContext.debug(`The '${metavariableString}' metavariable's meta-type is '${metaTypeString}' when it should be '${referenceMetaTypeName}'.`, declarationNode);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|