我试图证明某种形式
lemma assoc: "b + (c - d) = (b + c) - d"
AFAIK关联性定理是库的一部分,但没有标记为简化,所以我需要手动添加它们。具体名称究竟是什么/它们定义的theory
?
答案 0 :(得分:2)
这些目标通常用定理集algebra_simps
来解决。只需写下by (simp add: algebra_simps)
。
请注意,您说明该定理的方式,您将无法证明它,因为您没有指定b
,c
和d
是组的元素。您需要编写类似
lemma assoc: "(b :: 'a :: group_add) + (c - d) = (b + c) - d"
或
lemma assoc:
fixes b c d :: "'a :: group_add"
shows "b + (c - d) = (b + c) - d"
或更特别的内容,例如nat
或int
,而不是'a :: group_add
。
事实上,当你这样做时,IDE会通知你已经有这样一个引理:Groups.group_add_class.add_diff_eq
thm add_diff_eq
> ?a + (?b - ?c) = ?a + ?b - ?c