`LRASolver` 不够模块化
作者: TiloRC创建于 2026年9月18日更新于 2026年9月18日
标签assumptionslogic.algorithms
目前,不平等的预处理和验证逻辑大多在逻辑模块中的LISSolver. from encoded cnf'和usumition.lra satsask'中的各种辅助函数之间划分。 这使得改变预处理和验证发生的方式变得更加困难,因为要同时考虑不同模块中的两个文件.
我认为,逻辑模块不应完全依赖假设模块。 也不应该用它来处理共鸣表达,因为这应该是假设模块的责任. 特别是,`logic.algorithms.lra theory.py'中的这些进口应去除,并重新设计代码,使其不起作用:
从同义词. 假设导入
从sympy.assumions.asume 导入 应用预处理
从 sympy.assumition.sk 导入 Q
从 sympy.core 导入 Dummy
从 sympy.core.mul 从 Mu 导入
从 sympy.core.添加导入添加
从 sympy.core. 关系导入 Eq, Ge, Gt, Le, Lt有关不平等的信息仍需要以某种方式传递给 " 上帝抵抗军 " 。 我认为,应在`lra theory.py'中定义一些新对象,其中包含尽可能少的信息。 尤其是,我认为它只需要三个参数:
- " 术语 " ,每个词组有符号或表达式和系数
- " 恒定 " ,恒定系数
- " 严格 " ,无论是严格不平等(例如
0 ' x ' )还是非严格不平等(例如0 ' x ' ) 它是否比不平等小或更大,并不需要被传达,因为比不平等更能转化为不平等。
实际上,我认为我们可能需要 处理平等和不平等作为一个特殊情况。 我认为不平等是可以禁止的 但我忘了为什么 对于需要如何处理平等性和不平等性,存在着一些混淆.
内容来源: sympy/sympy