aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-12-01 19:19:12 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-04-07 14:55:44 +0200
commitbc1be69d88600d87df55d84f4591292d4c7656c1 (patch)
tree77aed2a45394e182603d2b36700384132da33655 /subprojects
parentchore(z3): bump to z3 4.12.6 (diff)
downloadrefinery-bc1be69d88600d87df55d84f4591292d4c7656c1.tar.gz
refinery-bc1be69d88600d87df55d84f4591292d4c7656c1.tar.zst
refinery-bc1be69d88600d87df55d84f4591292d4c7656c1.zip
feat: subproject for z3 integration
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/store-reasoning-smt/build.gradle.kts15
-rw-r--r--subprojects/store-reasoning-smt/src/main/java/tools/refinery/store/reasoning/smt/SmtPropagator.java19
2 files changed, 34 insertions, 0 deletions
diff --git a/subprojects/store-reasoning-smt/build.gradle.kts b/subprojects/store-reasoning-smt/build.gradle.kts
new file mode 100644
index 00000000..4a784e42
--- /dev/null
+++ b/subprojects/store-reasoning-smt/build.gradle.kts
@@ -0,0 +1,15 @@
1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6
7plugins {
8 id("tools.refinery.gradle.java-library")
9}
10
11dependencies {
12 api(project(":refinery-store-reasoning"))
13 implementation(libs.refinery.z3)
14 testImplementation(project(":refinery-store-query-interpreter"))
15}
diff --git a/subprojects/store-reasoning-smt/src/main/java/tools/refinery/store/reasoning/smt/SmtPropagator.java b/subprojects/store-reasoning-smt/src/main/java/tools/refinery/store/reasoning/smt/SmtPropagator.java
new file mode 100644
index 00000000..b63ab561
--- /dev/null
+++ b/subprojects/store-reasoning-smt/src/main/java/tools/refinery/store/reasoning/smt/SmtPropagator.java
@@ -0,0 +1,19 @@
1/*
2 * SPDX-FileCopyrightText: 2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6package tools.refinery.store.reasoning.smt;
7
8import com.microsoft.z3.Context;
9import tools.refinery.z3.Z3SolverLoader;
10
11public class SmtPropagator {
12 public void propagate() {
13 Z3SolverLoader.loadNativeLibraries();
14 try (var context = new Context()) {
15 var solver = context.mkSolver();
16 solver.check();
17 }
18 }
19}