#smt-solver #smt #solver #language #z3

bin+lib smt-lang

模算术饱和理论语言

19 个版本 (5 个重大更改)

0.7.5 2023年2月17日
0.6.3 2022年12月12日
0.6.2 2022年11月28日

#676 in 数学

Download history 215/week @ 2024-03-14 4/week @ 2024-03-28 1/week @ 2024-04-04

每月55次下载

LGPL-3.0-only

255KB
6.5K SLoC

安装

  1. 安装 Rust: Rust
  2. 安装 clang
     xxx@XXX:~$ sudo apt install clang
    
  3. 安装 SMT-Language
     xxx@XXX:~$ cargo install smt-lang
    

运行 SMT-language

xxx@XXX:~$ smt-lang --file problem_file.sl

示例

问题

let b: Bool
let i: 1..100
let r: Real

constraint C1 = (
    i >= 10
)
constraint C2 = (
    r <= 20.0 and b
)

解决

xxx@XXX:~$ smt-lang --file example.sl

解决方案

let b: Bool = true
let i: 1..100 = 10
let r: Real = 20

选项

详细

  • --verbose 0 : 只显示结果
  • --verbose 1 : 显示分析结果
  • --verbose 2 : 显示加载的问题
  • --verbose 3 : 如果找到解决方案,显示 SMT 问题和 SMT 模型

语法

依赖项

~27–42MB
~720K SLoC