aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-09-13 11:07:41 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-09-13 11:07:41 +0200
commite5b85c82c52263e39ada759a55a616dcf4a88186 (patch)
tree88572d66ce4a4681426e2cfcede84c02c202b8dc
parentfix: example Statechart specification (diff)
downloadrefinery-e5b85c82c52263e39ada759a55a616dcf4a88186.tar.gz
refinery-e5b85c82c52263e39ada759a55a616dcf4a88186.tar.zst
refinery-e5b85c82c52263e39ada759a55a616dcf4a88186.zip
fix: multiplicity error for non-existing objects
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/multiplicity/InvalidMultiplicityErrorTranslator.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/multiplicity/InvalidMultiplicityErrorTranslator.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/multiplicity/InvalidMultiplicityErrorTranslator.java
index ee982f4f..ba208156 100644
--- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/multiplicity/InvalidMultiplicityErrorTranslator.java
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/multiplicity/InvalidMultiplicityErrorTranslator.java
@@ -11,6 +11,7 @@ import tools.refinery.store.model.ModelStoreConfiguration;
11import tools.refinery.store.query.dnf.Query; 11import tools.refinery.store.query.dnf.Query;
12import tools.refinery.store.query.term.Variable; 12import tools.refinery.store.query.term.Variable;
13import tools.refinery.store.query.term.int_.IntTerms; 13import tools.refinery.store.query.term.int_.IntTerms;
14import tools.refinery.store.reasoning.ReasoningAdapter;
14import tools.refinery.store.reasoning.lifting.DnfLifter; 15import tools.refinery.store.reasoning.lifting.DnfLifter;
15import tools.refinery.store.reasoning.literal.*; 16import tools.refinery.store.reasoning.literal.*;
16import tools.refinery.store.reasoning.representation.PartialRelation; 17import tools.refinery.store.reasoning.representation.PartialRelation;
@@ -119,6 +120,7 @@ public class InvalidMultiplicityErrorTranslator implements ModelStoreConfigurati
119 )); 120 ));
120 missingBuilder.clause(Integer.class, existingContents -> List.of( 121 missingBuilder.clause(Integer.class, existingContents -> List.of(
121 candidateMust(nodeType.call(node)), 122 candidateMust(nodeType.call(node)),
123 candidateMust(ReasoningAdapter.EXISTS_SYMBOL.call(node)),
122 new CountCandidateUpperBoundLiteral(existingContents, linkType, arguments), 124 new CountCandidateUpperBoundLiteral(existingContents, linkType, arguments),
123 missingOutput.assign(sub(existingContents, constant(upperBound))), 125 missingOutput.assign(sub(existingContents, constant(upperBound))),
124 check(greater(missingOutput, constant(0))) 126 check(greater(missingOutput, constant(0)))