aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation')
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java2
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java12
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java12
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java11
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 */
6package tools.refinery.store.reasoning.representation; 6package tools.refinery.store.reasoning.representation;
7 7
8import tools.refinery.store.representation.AnyAbstractDomain; 8import tools.refinery.logic.AnyAbstractDomain;
9 9
10public sealed interface AnyPartialSymbol permits AnyPartialFunction, PartialSymbol { 10public 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 */
6package tools.refinery.store.reasoning.representation; 6package tools.refinery.store.reasoning.representation;
7 7
8import tools.refinery.store.representation.AbstractDomain; 8import tools.refinery.logic.AbstractDomain;
9import tools.refinery.logic.AbstractValue;
9 10
10public record PartialFunction<A, C>(String name, int arity, AbstractDomain<A, C> abstractDomain) 11public 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 */
6package tools.refinery.store.reasoning.representation; 6package tools.refinery.store.reasoning.representation;
7 7
8import tools.refinery.store.query.Constraint; 8import tools.refinery.logic.AbstractDomain;
9import tools.refinery.store.query.term.Parameter; 9import tools.refinery.logic.Constraint;
10import tools.refinery.store.representation.AbstractDomain; 10import tools.refinery.logic.term.Parameter;
11import tools.refinery.store.representation.TruthValue; 11import tools.refinery.logic.term.truthvalue.TruthValue;
12import tools.refinery.store.representation.TruthValueDomain; 12import tools.refinery.logic.term.truthvalue.TruthValueDomain;
13 13
14import java.util.Arrays; 14import java.util.Arrays;
15import java.util.List; 15import 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 */
6package tools.refinery.store.reasoning.representation; 6package tools.refinery.store.reasoning.representation;
7 7
8import tools.refinery.store.representation.AbstractDomain; 8import tools.refinery.logic.AbstractDomain;
9import tools.refinery.logic.AbstractValue;
9 10
10public sealed interface PartialSymbol<A, C> extends AnyPartialSymbol permits PartialFunction, PartialRelation { 11public 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}