Welcome to arlib’s Documentation!
Introduction
Arlib is a toolkit for playing with various automated reasoning tasks. Some of its key features include:
Abductive inference (
arlib/abduction
)AllSMT (
arlib/allsmt
)Backbone computation (
arlib/backbone
)UNSAT core extraction (
arlib/unsat_core
)Exists-forall SMT formulas (
arlib/quant
)General quantified SMT formulas (
arlib/quant
)Quantifier elimination (
arlib/quant/qe
)Sampling solutions of SMT formulas (
arlib/sampling
)Counting the models of SMT formulas (
arlib/counting
)Optimization Modulo Theory (OMT) (
arlib/optimization
)Interpolant generation (
arlib/bool/interpolant
)Symbolic abstraction (
arlib/symabs
)Predicate abstraction (
arlib/symabs/predicate_abstraction
)Monadic predicate abstraction (
arlib/monabs
)Knowledge compilation (
arlib/bool/knowledge_compiler
)(Weighted) MaxSAT (
arlib/bool/maxsat
)QBF solving
Finite Field Solving (
arlib/smt/ff
)Formula rewritings/simplifications
Interactive theorem proving (
arlib/itp
)LLM integration (
arlib/llm
)Automata operations (
arlib/automata
)SyGuS (Syntax-Guided Synthesis) (
arlib/sygus
)PolyHorn (
arlib/quant/polyhorn
)Constrained Horn Clauses (CHC) tools (
arlib/quant/chctools
)Symbolic Finite Automata (SFA) (
arlib/automata/symautomata
)Context-Free Language (CFL) reachability (
arlib/cfl
)Unification algorithms (
arlib/unification
)…
We welcome any feedback, issues, or suggestions for improvement. Please feel free to open an issue in our repository.
Installing and Using Arlib
Install arlib from source
git clone https://github.com/ZJU-Automated-Reasoning-Group/arlib
virtualenv --python=python3 venv
source venv/bin/activate
cd arlib
bash setup_local_env.sh
pip install -e .
The setup script will: - Create a Python virtual environment if it doesn’t exist - Activate the virtual environment and install dependencies from requirements.txt - Download required solver binaries (CVC5, MathSAT, z3) - Run unit tests if available
Contents:
- Summer Research, Honours/Master Thesis Project Topics
- Abduction
- Backbone Computation
- Parallel SMT CDCL(T) Solving
- Model Counting
- SMT Solving for Finite Field
- References
- Interpolant Generation
- Interactive Theorem Proving (ITP)
- Knowledge Compilation
- Monadic Predicate Abstraction
- Optimization Modulo Theory
- Playing wth Quantifiers
- PolyHorn: Polynomial Horn Clause Solver
- Constrained Horn Clauses (CHC) Tools
- Model Sampling
- SMT Solving
- Symbolic Abstraction
- Symbolic Finite Automata
- Predicate Abstraction
- UNSAT Core Extraction
- AllSMT
- Applications