[英]Is Z.le as defined in the standard library proof irrelevant?
在Coq標准庫中,有一個枚舉類型,稱為comparison
三個元素Eq,Lt,Gt
。 這用於定義ZArith
小於或小於或等於的運算符: m < n
定義為m ?= n = Lt
, m <= n
定義為m ?= n <> Gt
。 根據Hedberg定理(標准庫中的UIP_dec
),我可以證明<
是證明不相關的,但是當涉及到<=
時,我遇到了問題,因為它被定義為負面。 我發現這特別令人討厭,因為如果<=
在IMO中定義,更自然的方式( m ?= n = Lt \\/ m ?= n = Eq
)我將能夠證明證據不相關就好了。
上下文:我正在使用一些以前寫過的Coq文件,其中作者使用證明不相關作為全局公理來避免引入setoids,並且出於審美原因,我寧願沒有公理。 在我看來,我的選擇是:
希望最終Z.le
目前定義的仍然是無關緊要的
使用我自己的定義,以證明證據不相關是可證明的(因為我想盡可能地堅持標准庫,所以不太滿意)
用setoids重做工作
不,這在Coq中是不可證明的。 它取決於函數擴展性的公理,即(forall x, fx = gx) -> f = g
。 很容易證明所有否定都是在這個假設下無關的證明(因為False
證明不相關),並且很難證明任何否定在沒有它的情況下證明無關緊要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.