尝试使用Dafny作为CAS来检查某些代数计算是否正确。 达夫妮(Dafny)做得很好,除了较长的时间变得不稳定之外,即使用汤匙喂食也无法验证一些非常简单的步骤。
calc == {
// a dozen lines...
k * (a + b) * (a + b);
k * (a * a + b * b + 2 * a * b); // fails
}
当达夫妮在那里失败时,我会尽力而为。
calc == {
// a dozen lines...
k * (a + b) * (a + b);
calc == {
(a + b) * (a + b);
a * a + b * b + 2 * a * b;
}
k * (a * a + b * b + 2 * a * b); // still fails
}
我还试图将替换表达式放入变量甚至引理中,结果相同。
是否可以通过某种方式告诉Dafny我们要替换的表达式的哪一部分?