agda - 如果没有 funext,是否有可能证明不等于无关紧要?

标签 agda dependent-type

我可以简单地证明不等于与函数可扩展性无关:

open import Relation.Binary.PropositionalEquality using (_≢_)
open import Relation.Binary using (Irrelevant)
open import Relation.Nullary.Negation using (contradiction)
open import Axiom.Extensionality.Propositional using (Extensionality)

postulate
  fun-ext : ∀ {ℓ₁ ℓ₂} → Extensionality ℓ₁ ℓ₂

≢-irrelevant : ∀ {a} {A : Set a} → Irrelevant {A = A} _≢_
≢-irrelevant {x} {y} [x≉y]₁ [x≉y]₂ = fun-ext (λ x≈y → contradiction x≈y [x≉y]₁)

当 A 是多态时,如果没有 funext,这似乎无法证明,但当 A = ℕA = Bool 时,这是否可能?

最佳答案

如果没有 funext,这是无法证明的。我们做了consider changing the definition of the empty type使这些可证明,但它被认为是一种过于侵入性的改变。

关于agda - 如果没有 funext,是否有可能证明不等于无关紧要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59891781/

相关文章:

coq - 共导和依赖类型

haskell - 从评估级别访问 GADT 约束

haskell - 如何使 Vect n Int 成为 Monoid 的实例

haskell - 惯用的 bool 相等用法(单例)

functional-programming - 是否可以创建泛型 ADT 的类型级表示?

agda - 如何在 agda 中证明 (a | b) 形式的一种类型?

agda - 在 Agda 中用证明无关的等价关系重写?

functional-programming - 如何使用 Agda 中 N 的归纳原理证明 N 的递归定义方程在命题上成立?

agda - 如何告诉 Agda 展开一个定义来证明等价性

agda - Agda 如何确定类型是不可能的