Wolfram mathematica 性能问题:用Mathematica中的几个假设解一个不等式

Wolfram mathematica 性能问题:用Mathematica中的几个假设解一个不等式,wolfram-mathematica,inequality,inequalities,Wolfram Mathematica,Inequality,Inequalities,我需要证明一个不等式,或者找到一个反例,给出几个假设,也就是不等式。不幸的是,要证明的不等式是一个相当长且复杂的表达式。大约有15个变量,FullSimplify的输出填充了几个A4页面。对于变量较少的示例,FindInstance有助于找到反例,如果不等式为真,则给出{}的结果。我还尝试以这种方式使用Reduce: Reduce[ Implies[ assumtion1 && assumtion2, inequality ], Real

我需要证明一个不等式,或者找到一个反例,给出几个假设,也就是不等式。不幸的是,要证明的不等式是一个相当长且复杂的表达式。大约有15个变量,FullSimplify的输出填充了几个A4页面。对于变量较少的示例,FindInstance有助于找到反例,如果不等式为真,则给出{}的结果。我还尝试以这种方式使用Reduce:

Reduce[
   Implies[
      assumtion1 && assumtion2,
      inequality
   ],
   Reals
]
对于简单的例子,如果不等式成立,则输出为真。但在我的例子中,运行数小时后,Mathematica需要5-6GB的RAM和交换,因此我不得不中止该过程


我可以用Mathematica做些什么来提高性能吗?

你会发现一篇关于Mma CAD算法的非常好的论文

Mma使用的圆柱代数分解CAD在变量数量上具有双指数行为

较新的方法是量化器交替次数的双指数


我认为你只使用Mma内部引擎不会有什么好运气,但是你可以根据问题的对称性来滚动你自己的引擎,如果有的话

你所做的是量词消去的子集,请看,在最坏的情况下,这具有双重指数复杂性…这两个假设的形式是什么?有两个以上的假设。这些假设也是不等式,准确地说,我有32个。我要证明的所有不等式和不等式都包含28个不同的变量。我想@Paxinum给出了正确的答案,我们已经知道了为什么不可能用这种方式解决这个问题。我希望有不同的解决办法,但我没有办法了。我也很高兴能得到任何关于如何继续进行这项工作的鼓舞人心的提示…:我能做些什么来解决这个问题呢?或者如果我尝试用更少的变量找到一种不同的方法会更好吗?你可以尝试将含义转换为!P\[或]Q形式。我不知道它是否会有帮助,但它可能会。将我上面所说的与LogicalXpand结合起来,并可能使用Simplify。在这一点上,你可以把你的不等式分成不重叠的子集。大多数情况下,这只是一个猜测,但事实确实如此。新方法的引用量在数量变化的数量上是双指数的吗?例如,这里的第二段