Our great sponsors
-
Hi folks, I want to present you a small, yet powerful, library (https://github.com/Lipen/kotlin-satlib) that provides an API for SAT solvers and implements some common operations for constraint programming, such as: handling finite-domain variables (e.g.: int in a small range; custom enum; set of values), storing named "variables" in the context, encoding common logic operations over SAT literals (Tseytin-encoded, when necessary), declaring cardinality constraints (for now, only Totalizer encoding is supported, but it works pretty well in general), solving AllSAT.
-
The generic interface of the SAT solver is not based on the standard IPASIR one, but is more pragmatic and user-friendly. It consists of the most commonly used operations performed with the SAT solver:
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Alongside with the SAT solver interface and its extensions, `kotlin-satlib` provides wrappers for native SAT solvers (these days, most of them are written in C/C++) implemented using JNI technology. Currently, the solvers included are: MiniSat, Glucose, Cadical and CryptoMiniSat. Sadly, `kotlin-satlib` won't work out-of-the-box, you have to provide it with some external SAT solver, either in the form of a library or a binary. Luckily, there are build instructions for each of the supported SAT solver, both for Linux and Windows. Checkout the README!
-
Alongside with the SAT solver interface and its extensions, `kotlin-satlib` provides wrappers for native SAT solvers (these days, most of them are written in C/C++) implemented using JNI technology. Currently, the solvers included are: MiniSat, Glucose, Cadical and CryptoMiniSat. Sadly, `kotlin-satlib` won't work out-of-the-box, you have to provide it with some external SAT solver, either in the form of a library or a binary. Luckily, there are build instructions for each of the supported SAT solver, both for Linux and Windows. Checkout the README!
-
The project itself was originally based on https://github.com/mmaroti/jnisat.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Related posts
- The Silent (R)evolution of SAT
- Spring with java vs Spring with kotlin
- CreuSAT - A formally verified SAT solver written in Rust and verified with Creusot
- CreuSAT - A formally verified SAT solver written in Rust and verified with Creusot
- CreuSAT - A formally verified SAT solver written in Rust and verified with Creusot