1414| [ External process runner] ( #external-process-runner ) | Done |
1515| [ Portfolio solver] ( #portfolio-solver ) | Done |
1616| [ Solver configuration API] ( #solver-configuration-api ) | Done |
17- | [ Deployment] ( #deployment ) | Done partially |
17+ | [ Deployment] ( #deployment ) | Done |
1818| [ Expression simplification / evaluation] ( #expression-simplification--evaluation ) | Done |
1919| [ Performance tests] ( #performance-tests ) | TODO |
2020| [ Better Z3 API] ( #better-z3-api ) | Done partially |
3434Provide a solver-independent formula representation
3535with back and forth transformations to the solver's native representation.
3636Such representation allows introspection of formulas and transformation of formulas
37- independent of the solver. Check out [ KASt] ( ksmt-core/src/main/kotlin/org /ksmt/KAst.kt ) and its inheritors
37+ independent of the solver. Check out [ KASt] ( ksmt-core/src/main/kotlin/io /ksmt/KAst.kt ) and its inheritors
3838for implementation details.
3939
4040### Expression interning
@@ -44,19 +44,19 @@ Interning (aka [hash consing](https://en.wikipedia.org/wiki/Hash_consing)) is ne
44441 . ** Constant time ast comparison.** Otherwise, we need to compare trees.
45452 . ** Ast deduplication.** We can have many duplicate nodes (e.g. constants).
4646
47- Currently, interning is implemented via [ KContext] ( ksmt-core/src/main/kotlin/org /ksmt/KContext.kt ) which
47+ Currently, interning is implemented via [ KContext] ( ksmt-core/src/main/kotlin/io /ksmt/KContext.kt ) which
4848manages all created asts.
4949
5050### Basic theories support
5151
5252Support theories in KSMT expressions system. Each theory consists of:
5353
54541 . ** Expressions.** Theory specific operations over terms.
55- All implementations are in [ expr] ( ksmt-core/src/main/kotlin/org /ksmt/expr ) package.
55+ All implementations are in [ expr] ( ksmt-core/src/main/kotlin/io /ksmt/expr ) package.
56562 . ** Sorts.** Theory specific types.
57- All implementations are in [ sort] ( ksmt-core/src/main/kotlin/org /ksmt/sort ) package.
57+ All implementations are in [ sort] ( ksmt-core/src/main/kotlin/io /ksmt/sort ) package.
58583 . ** Declarations.** Declarations (name, argument sorts, result sort) of theory specific functions.
59- All implementations are in [ decl] ( ksmt-core/src/main/kotlin/org /ksmt/decl ) package.
59+ All implementations are in [ decl] ( ksmt-core/src/main/kotlin/io /ksmt/decl ) package.
6060
6161KSMT expression system supports following theories and their combinations:
6262
@@ -78,7 +78,7 @@ Main goals are:
78781 . Allow the user to instantiate KSMT expressions from SMT-LIB.
79792 . Provide us the opportunity to use a rich database of [ benchmarks] ( https://smtlib.cs.uiowa.edu/benchmarks.shtml ) .
8080
81- Currently, [ implemented] ( ksmt-z3/src/main/kotlin/org /ksmt/solver/z3/KZ3SMTLibParser.kt ) on top of Z3 SMT solver.
81+ Currently, [ implemented] ( ksmt-z3/src/main/kotlin/io /ksmt/solver/z3/KZ3SMTLibParser.kt ) on top of Z3 SMT solver.
8282A solver-agnostic implementation may be done in the future.
8383
8484### SMT-LIB2 serializer
@@ -96,7 +96,7 @@ Can be implemented on top of the Z3 SMT solver (easy version) or in a solver-ind
9696
9797If some solver doesn't support some theory (e.g. BV) or some feature (e.g. unsat-core generation) we need to throw
9898specialized exception.
99- Currently, [ KSolverUnsupportedFeatureException] ( ksmt-core/src/main/kotlin/org /ksmt/solver/KSolverUnsupportedFeatureException.kt )
99+ Currently, [ KSolverUnsupportedFeatureException] ( ksmt-core/src/main/kotlin/io /ksmt/solver/KSolverUnsupportedFeatureException.kt )
100100is thrown.
101101
102102To simplify the user experience, the exception may contain a recommendation to switch to another solver.
@@ -114,7 +114,7 @@ Features:
1141145 . Incremental solving via push/pop.
1151156 . Incremental solving via assumptions.
116116
117- For implementation details, check out [ KSolver] ( ksmt-core/src/main/kotlin/org /ksmt/solver/KSolver.kt ) .
117+ For implementation details, check out [ KSolver] ( ksmt-core/src/main/kotlin/io /ksmt/solver/KSolver.kt ) .
118118
119119### Z3 solver support
120120
@@ -124,7 +124,7 @@ Z3 has native support for all theories,
124124listed in [ KSMT supported theories] ( #basic-theories-support )
125125and provides all the functionality, listed in [ SMT solver features] ( #smt-solver-support ) .
126126
127- For implementation details, check out [ KZ3Solver] ( ksmt-z3/src/main/kotlin/org /ksmt/solver/z3/KZ3Solver.kt ) .
127+ For implementation details, check out [ KZ3Solver] ( ksmt-z3/src/main/kotlin/io /ksmt/solver/z3/KZ3Solver.kt ) .
128128
129129### Bitwuzla solver support
130130
@@ -147,7 +147,7 @@ For the solver features, listed in [SMT solver features](#smt-solver-support),
147147Bitwuzla provides full native support.
148148
149149For implementation details, check
150- out [ KBitwuzlaSolver] ( ksmt-bitwuzla/src/main/kotlin/org /ksmt/solver/bitwuzla/KBitwuzlaSolver.kt ) .
150+ out [ KBitwuzlaSolver] ( ksmt-bitwuzla/src/main/kotlin/io /ksmt/solver/bitwuzla/KBitwuzlaSolver.kt ) .
151151
152152### Yices2 solver support
153153
@@ -204,11 +204,9 @@ For implementation details, check out [corresponding PR](https://github.com/Unit
204204
205205### Deployment
206206
207- Deliver KSMT to end users.
207+ Deliver KSMT to end users.
208208
209- Currently, we use [ JitPack] ( https://jitpack.io ) for deployment.
210-
211- Use Maven Central in the future.
209+ Released on [ Maven Central] ( https://central.sonatype.com/namespace/io.ksmt ) .
212210
213211### Expression simplification / evaluation
214212
@@ -218,7 +216,7 @@ Implement simplification rules for KSMT expressions, and apply it to:
2182163 . Expression evaluation wrt model (special case of simplification)
219217
220218List of currently implemented simplification
221- rules: [ simplification rules] ( ksmt-core/src/main/kotlin/org /ksmt/expr/rewrite/simplify/Rules.md )
219+ rules: [ simplification rules] ( ksmt-core/src/main/kotlin/io /ksmt/expr/rewrite/simplify/Rules.md )
222220
223221### Performance tests
224222
0 commit comments