5 个版本 (3 个破坏性更新)

0.4.1 2024 年 2 月 13 日
0.4.0 2023 年 11 月 9 日
0.3.0 2023 年 11 月 5 日
0.2.0 2023 年 11 月 5 日
0.1.0 2023 年 11 月 1 日

#763数学

每月 24 次下载

MIT/Apache

88KB
2K SLoC

Rust Docs.rs Crates.io

raa_tt - 命题演算句子证明器

此 crate 提供了一种算法,用于判断命题公式是否是重言式、矛盾式或偶然式,即其真值取决于其变量的真值。

这里使用的算法是 归谬法 的一种形式,即 真值树 方法,它是命题逻辑句子的决策过程。特别是对于更多逻辑变量的情况,这种方法比其他方法(例如 真值表)更有效。

为了便于使用,公式可以以文本形式提供,并由 raa_tt 二进制工具解析。命题使用的语法可以在此处检查:此处

有关最新更改,请参阅 CHANGELOG

如何使用它?

克隆此仓库并切换到仓库文件夹。

然后运行,例如

cargo run -- -f ./test.txt
cargo run --release -- -s "((p -> q) & (r -> s) & (p | r)) -> q | s"

或者您可以通过以下方式安装 raa_tt

cargo install raa_tt

然后您可以直接从命令行调用它,例如

raa_tt -s "(a & a -> b) -> b" -q

您可以使用命令行参数 -h 获取帮助。

您能否将其嵌入到自己的应用程序中?

是的!raa_tt 也是一个库。您可以在自己的 crate 中引用它。

您想探索算法吗?

为了支持这一点,您可以使用日志功能。

基本上,设置环境变量 RUST_LOG,如下例中所示,这些示例使用 powershell

$env:RUST_LOG="raa_tt=trace,raa_tt::raa_tt_grammar_trait=error"

或者

$env:RUST_LOG="raa_tt=debug,raa_tt::raa_tt_grammar_trait=error"

您发现了 bug 吗?

请,提交问题。

依赖项

~6–15MB
~168K SLoC