diff options
Diffstat (limited to 'subprojects/logic/src/main/java/tools/refinery/logic/term/truthvalue/TruthValueDomain.java')
-rw-r--r-- | subprojects/logic/src/main/java/tools/refinery/logic/term/truthvalue/TruthValueDomain.java | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/subprojects/logic/src/main/java/tools/refinery/logic/term/truthvalue/TruthValueDomain.java b/subprojects/logic/src/main/java/tools/refinery/logic/term/truthvalue/TruthValueDomain.java index 443f744f..de8a89be 100644 --- a/subprojects/logic/src/main/java/tools/refinery/logic/term/truthvalue/TruthValueDomain.java +++ b/subprojects/logic/src/main/java/tools/refinery/logic/term/truthvalue/TruthValueDomain.java | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> | 2 | * SPDX-FileCopyrightText: 2021-2024 The Refinery Authors <https://refinery.tools/> |
3 | * | 3 | * |
4 | * SPDX-License-Identifier: EPL-2.0 | 4 | * SPDX-License-Identifier: EPL-2.0 |
5 | */ | 5 | */ |
@@ -7,8 +7,6 @@ package tools.refinery.logic.term.truthvalue; | |||
7 | 7 | ||
8 | import tools.refinery.logic.AbstractDomain; | 8 | import tools.refinery.logic.AbstractDomain; |
9 | 9 | ||
10 | import java.util.Optional; | ||
11 | |||
12 | // Singleton pattern, because there is only one domain for truth values. | 10 | // Singleton pattern, because there is only one domain for truth values. |
13 | @SuppressWarnings("squid:S6548") | 11 | @SuppressWarnings("squid:S6548") |
14 | public final class TruthValueDomain implements AbstractDomain<TruthValue, Boolean> { | 12 | public final class TruthValueDomain implements AbstractDomain<TruthValue, Boolean> { |
@@ -28,42 +26,17 @@ public final class TruthValueDomain implements AbstractDomain<TruthValue, Boolea | |||
28 | } | 26 | } |
29 | 27 | ||
30 | @Override | 28 | @Override |
31 | public TruthValue toAbstract(Boolean concreteValue) { | 29 | public TruthValue unknown() { |
32 | return TruthValue.toTruthValue(concreteValue); | 30 | return TruthValue.UNKNOWN; |
33 | } | ||
34 | |||
35 | @Override | ||
36 | public Optional<Boolean> toConcrete(TruthValue abstractValue) { | ||
37 | return switch (abstractValue) { | ||
38 | case TRUE -> Optional.of(true); | ||
39 | case FALSE -> Optional.of(false); | ||
40 | default -> Optional.empty(); | ||
41 | }; | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | public boolean isConcrete(TruthValue abstractValue) { | ||
46 | return abstractValue.isConcrete(); | ||
47 | } | ||
48 | |||
49 | @Override | ||
50 | public TruthValue commonRefinement(TruthValue leftValue, TruthValue rightValue) { | ||
51 | return leftValue.merge(rightValue); | ||
52 | } | 31 | } |
53 | 32 | ||
54 | @Override | 33 | @Override |
55 | public TruthValue commonAncestor(TruthValue leftValue, TruthValue rightValue) { | 34 | public TruthValue error() { |
56 | return leftValue.join(rightValue); | 35 | return TruthValue.ERROR; |
57 | } | 36 | } |
58 | 37 | ||
59 | @Override | 38 | @Override |
60 | public TruthValue unknown() { | 39 | public TruthValue toAbstract(Boolean concreteValue) { |
61 | return TruthValue.UNKNOWN; | 40 | return TruthValue.toTruthValue(concreteValue); |
62 | } | ||
63 | |||
64 | @Override | ||
65 | public boolean isError(TruthValue abstractValue) { | ||
66 | return !abstractValue.isConsistent(); | ||
67 | } | 41 | } |
68 | } | 42 | } |
69 | |||