diff options
Diffstat (limited to 'subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation')
4 files changed, 21 insertions, 16 deletions
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java index 788eef73..3e10c6c1 100644 --- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java | |||
@@ -5,7 +5,7 @@ | |||
5 | */ | 5 | */ |
6 | package tools.refinery.store.reasoning.representation; | 6 | package tools.refinery.store.reasoning.representation; |
7 | 7 | ||
8 | import tools.refinery.store.representation.AnyAbstractDomain; | 8 | import tools.refinery.logic.AnyAbstractDomain; |
9 | 9 | ||
10 | public sealed interface AnyPartialSymbol permits AnyPartialFunction, PartialSymbol { | 10 | public sealed interface AnyPartialSymbol permits AnyPartialFunction, PartialSymbol { |
11 | String name(); | 11 | String name(); |
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java index e59c8af8..88b98da8 100644 --- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java | |||
@@ -1,14 +1,16 @@ | |||
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 | */ |
6 | package tools.refinery.store.reasoning.representation; | 6 | package tools.refinery.store.reasoning.representation; |
7 | 7 | ||
8 | import tools.refinery.store.representation.AbstractDomain; | 8 | import tools.refinery.logic.AbstractDomain; |
9 | import tools.refinery.logic.AbstractValue; | ||
9 | 10 | ||
10 | public record PartialFunction<A, C>(String name, int arity, AbstractDomain<A, C> abstractDomain) | 11 | public record PartialFunction<A extends AbstractValue<A, C>, C>( |
11 | implements AnyPartialFunction, PartialSymbol<A, C> { | 12 | String name, int arity, AbstractDomain<A, C> abstractDomain) implements AnyPartialFunction, |
13 | PartialSymbol<A, C> { | ||
12 | @Override | 14 | @Override |
13 | public A defaultValue() { | 15 | public A defaultValue() { |
14 | return null; | 16 | return null; |
@@ -21,7 +23,7 @@ public record PartialFunction<A, C>(String name, int arity, AbstractDomain<A, C> | |||
21 | 23 | ||
22 | @Override | 24 | @Override |
23 | public int hashCode() { | 25 | public int hashCode() { |
24 | // Compare by identity to make hash table lookups more efficient. | 26 | // Compare by identity to make hash table look-ups more efficient. |
25 | return System.identityHashCode(this); | 27 | return System.identityHashCode(this); |
26 | } | 28 | } |
27 | 29 | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java index 4ccb7033..0f108247 100644 --- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java | |||
@@ -5,11 +5,11 @@ | |||
5 | */ | 5 | */ |
6 | package tools.refinery.store.reasoning.representation; | 6 | package tools.refinery.store.reasoning.representation; |
7 | 7 | ||
8 | import tools.refinery.store.query.Constraint; | 8 | import tools.refinery.logic.AbstractDomain; |
9 | import tools.refinery.store.query.term.Parameter; | 9 | import tools.refinery.logic.Constraint; |
10 | import tools.refinery.store.representation.AbstractDomain; | 10 | import tools.refinery.logic.term.Parameter; |
11 | import tools.refinery.store.representation.TruthValue; | 11 | import tools.refinery.logic.term.truthvalue.TruthValue; |
12 | import tools.refinery.store.representation.TruthValueDomain; | 12 | import tools.refinery.logic.term.truthvalue.TruthValueDomain; |
13 | 13 | ||
14 | import java.util.Arrays; | 14 | import java.util.Arrays; |
15 | import java.util.List; | 15 | import java.util.List; |
@@ -44,7 +44,7 @@ public record PartialRelation(String name, int arity) implements PartialSymbol<T | |||
44 | 44 | ||
45 | @Override | 45 | @Override |
46 | public int hashCode() { | 46 | public int hashCode() { |
47 | // Compare by identity to make hash table lookups more efficient. | 47 | // Compare by identity to make hash table look-ups more efficient. |
48 | return System.identityHashCode(this); | 48 | return System.identityHashCode(this); |
49 | } | 49 | } |
50 | 50 | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java index 38b2e466..21cbfefa 100644 --- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java | |||
@@ -1,13 +1,15 @@ | |||
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 | */ |
6 | package tools.refinery.store.reasoning.representation; | 6 | package tools.refinery.store.reasoning.representation; |
7 | 7 | ||
8 | import tools.refinery.store.representation.AbstractDomain; | 8 | import tools.refinery.logic.AbstractDomain; |
9 | import tools.refinery.logic.AbstractValue; | ||
9 | 10 | ||
10 | public sealed interface PartialSymbol<A, C> extends AnyPartialSymbol permits PartialFunction, PartialRelation { | 11 | public sealed interface PartialSymbol<A extends AbstractValue<A, C>, C> extends AnyPartialSymbol |
12 | permits PartialFunction, PartialRelation { | ||
11 | @Override | 13 | @Override |
12 | AbstractDomain<A, C> abstractDomain(); | 14 | AbstractDomain<A, C> abstractDomain(); |
13 | 15 | ||
@@ -17,7 +19,8 @@ public sealed interface PartialSymbol<A, C> extends AnyPartialSymbol permits Par | |||
17 | return new PartialRelation(name, arity); | 19 | return new PartialRelation(name, arity); |
18 | } | 20 | } |
19 | 21 | ||
20 | static <A, C> PartialFunction<A, C> of(String name, int arity, AbstractDomain<A, C> abstractDomain) { | 22 | static <A extends AbstractValue<A, C>, C> PartialFunction<A, C> of( |
23 | String name, int arity, AbstractDomain<A, C> abstractDomain) { | ||
21 | return new PartialFunction<>(name, arity, abstractDomain); | 24 | return new PartialFunction<>(name, arity, abstractDomain); |
22 | } | 25 | } |
23 | } | 26 | } |