diff options
author | Kristóf Marussy <kristof@marussy.com> | 2023-12-01 19:19:12 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2024-04-07 14:55:44 +0200 |
commit | bc1be69d88600d87df55d84f4591292d4c7656c1 (patch) | |
tree | 77aed2a45394e182603d2b36700384132da33655 /subprojects | |
parent | chore(z3): bump to z3 4.12.6 (diff) | |
download | refinery-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.kts | 15 | ||||
-rw-r--r-- | subprojects/store-reasoning-smt/src/main/java/tools/refinery/store/reasoning/smt/SmtPropagator.java | 19 |
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 | |||
7 | plugins { | ||
8 | id("tools.refinery.gradle.java-library") | ||
9 | } | ||
10 | |||
11 | dependencies { | ||
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 | */ | ||
6 | package tools.refinery.store.reasoning.smt; | ||
7 | |||
8 | import com.microsoft.z3.Context; | ||
9 | import tools.refinery.z3.Z3SolverLoader; | ||
10 | |||
11 | public 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 | } | ||