python - Python sympy 分配律。从术语中排除变量
问题描述
我确实有一个布尔公式,我想从中排除类似的变量。所以基本上我想向前和向后使用分配律。
z1, z0, s, d = symbols('z1,z0,s,d')
formula3 = ( "~z1 & ~z0 & ~d | z0 & ~z1 & s & ~d")
print(simplify_logic((formula3)))
Sympy 确实具有简化逻辑术语的功能,但该功能更进一步,并为我提供了以下值:
~d & ~z1 & (s | ~z0)
但我期望的是:
~z1 & ~d & (~z0 | (s & z0))
是否有任何功能可以满足我的需求,或者最好的解决方案是什么?为了让它恢复到原来的形式,我目前使用 to_dnf() 或 to_cnf()。还是有更好的做事方式?
解决方案
推荐阅读
- web-performance - 为什么 TBT 在 ChromeDev Tools 中“不可用”?
- blazor - 使用 BlazorBarcodeScanner.ZXing.JS 会产生异常
- inheritance - 实现两个组件的代码模块化,以非常不同的接口解决相同的问题
- jmockit - 在方法 jmockit 中创建的测试对象
- laravel - 在 Laravel 中为超过一周的订单激活状态的最佳方法
- selenium - 有没有硒不起作用的网站?
- python - gurobi有具体的绝对值法吗?
- powershell - 如何在 PowerShell 中使用特殊字符和变量向 .txt 文件添加一行
- file - 如何将文件分块为 4 个相等的文件
- c++ - 这是一个有效的二进制互斥锁实现吗?