Coq-(a\/b\/c)=((a\/b)\/c)

Coq-(a\/b\/c)=((a\/b)\/c),coq,Coq,我在研究半环,为了证明一些结构是实际的半环,我必须证明它们尊重一些性质,比如结合性 对于半环(Bool,\/,/\,False,True),我能证明以下陈述吗 对于所有a b c:Prop,(a\/b\/c)=((a\/b)\/c) 我的问题在于表达式的两个成员之间的平等性。我更喜欢而不是=,但是我对半环的定义只使用= 还可以证明吗?或者我必须将我的半环的定义适应于“基于命题逻辑的”半环的特殊情况吗?我不知道Coq,但这显然是直观可证明的,因此必须有一种方法来实现它。它是绝对可证明的,例如,通过

我在研究半环,为了证明一些结构是实际的半环,我必须证明它们尊重一些性质,比如结合性

对于半环
(Bool,\/,/\,False,True)
,我能证明以下陈述吗

对于所有a b c:Prop,(a\/b\/c)=((a\/b)\/c)

我的问题在于表达式的两个成员之间的平等性。我更喜欢
而不是
=
,但是我对半环的定义只使用
=


还可以证明吗?或者我必须将我的半环的定义适应于“基于命题逻辑的”半环的特殊情况吗?

我不知道Coq,但这显然是直观可证明的,因此必须有一种方法来实现它。

它是绝对可证明的,例如,通过案例分析。我认为,你在做这个问题时有问题,因为你的公式不正确。a b和c应该是布尔而不是道具


在道具的情况下,它可以通过自反性策略(如果/是左关联的)来证明。

好的,谢谢,我解决了证明
a | | |(b | | c)=a | | b | | c
(需要Coq.Bool.Bool)的问题。这两个语句的等价性是可以直观证明的,但我不会打赌相等……为什么?等价是命题上的等价关系。(和=)之间的唯一区别是语言和语法中的上下文,而不是域或扩展。事实上,如果没有额外的公理,等式在Coq中是不可证明的,即使在某些模型中,这一原理被称为命题可拓性,也应该是可以验证的。相等是因为Coq与转换密切相关,而逻辑等价更具语义。