Isabelle 在假设下显示集团法
假设Isabelle 在假设下显示集团法,isabelle,Isabelle,假设add是一个函数,{(x,y).exy=0}是一个确定的集合。我想(示意性地)说明: 所以在一定条件下,集合和运算给出了一个群。我的疑问是如何用伊莎贝尔来表达这一点。我正在阅读文档的语言环境教程,但我不太清楚如何编写它。以下是编写方法: lemma group_law: assumes "∃ b. 1/c = b^2" "¬ (∃ b. b ≠ 0 ∧ 1/d = b^2)" shows "comm_group ⦇carrier = {(x,y). e x y = 0}, mult
add
是一个函数,{(x,y).exy=0}
是一个确定的集合。我想(示意性地)说明:
所以在一定条件下,集合和运算给出了一个群。我的疑问是如何用伊莎贝尔来表达这一点。我正在阅读文档的语言环境教程,但我不太清楚如何编写它。以下是编写方法:
lemma group_law:
assumes "∃ b. 1/c = b^2" "¬ (∃ b. b ≠ 0 ∧ 1/d = b^2)"
shows "comm_group ⦇carrier = {(x,y). e x y = 0}, mult = add, one = (1,0)⦈"
你也可以在这里看到一般理论以及如何证明结果:
我不确定我是否理解你提供的引理中假设的目的:似乎
c
和d
没有用于你试图证明的目标。关于你的问题,有几种方法可以证明给定对象是否是Isabelle中的一个组。通常,您希望解释一个用于表示组的现有语言环境/类。我认为最常用的语言环境/类是主HOL库中的理论组中的group
和group\u add
,以及HOL代数中的理论group
中的语言环境group
。如果{(x,y).e x y=0}
表示与该组相关的载体集,然后您需要使用HOL-Algebra
中的localegroup
,因为主HOL库中的locale/class仅适用于解释给定类型的所有术语集上的组。另外,请参阅和相关的参考资料。@xanonec您知道存在阿贝尔群语言环境吗?事实上,根据您是否需要使用显式的载波集,来自HOL代数的语言环境comm_群,以及来自主HOL库中理论群的类ab_群添加。
lemma group_law:
assumes "∃ b. 1/c = b^2" "¬ (∃ b. b ≠ 0 ∧ 1/d = b^2)"
shows "comm_group ⦇carrier = {(x,y). e x y = 0}, mult = add, one = (1,0)⦈"