我正在使用半环,并且为了证明某些结构是实际的半环,我必须证明它们尊重某些属性,例如关联性。
对于半环(Bool, \/, /\, False, True)
,我可以证明以下陈述吗?
forall a b c : Prop, (a \/ b \/ c) = ((a \/ b) \/ c)
我的问题在于表达式的两个成员之间的相等性。我会选择<->
而不是=
,但我对semirings的定义仅使用=
。
它仍然是可证明的吗?或者我是否必须根据“基于命题逻辑的”半环的特定情况调整我的半环的定义?
答案 0 :(得分:1)
例如,通过案例分析,这绝对可以证明。我认为,你这样做是有问题的,因为你错误地制定了定理。 a b和c应该是Bool not Prop。
如果是Prop,它可以通过反身性策略证明(如果/是左关联的)。
答案 1 :(得分:0)
我不知道Coq,但这显然是直觉上可证明的,因此必须有办法完成它。