我试图在乘法运算中证明交换性质超过自然数。
b + a * b ≡ b * suc a
当我检查目标时,我发现它是lemma*-swap : ∀ a b → a + a * b ≡ a * suc b
。所以我证明了这一点。
*comm : ∀ a b → (a * b) ≡ (b * a)
*comm zero b = sym (rightId* b)
*comm (suc a) b = lemma*-swap b a
现在我尝试了:
.setResultTransformer(new AliasToBeanTransformer<Employee>(Employee.class));
这应该有效,因为它满足了目标,但为什么这不起作用?请建议我在哪里错。
答案 0 :(得分:4)
b + a * b
(目标中的表达式)和a + a * b
(lemma*-swap
中的表达式)是截然不同的,因此应用lemma*-swap
不会满足目标。
您需要rewrite
归纳假设*comm a b
将a * b
转换为目标中的b * a
,以便表达式lemma*-swap b a
可以用来释放目标