没有公理的棘手的依赖模式匹配

时间:2018-06-30 23:26:47

标签: coq dependent-type

假设我具有以下类型:

Inductive foo : Type -> Type :=
  | A : forall X, Empty_set -> foo X
  | B : foo unit.

我能证明以下内容吗?

Lemma obv : forall x : foo unit, x = B.

没有公理? dependent destruction策略很容易处理,但这引入了公理JMeq_eq。我找到了this条文章,但由于Type没有UIP,因此似乎不适用于这种情况。

1 个答案:

答案 0 :(得分:3)

不,如果没有单调或UIP之类的证据,这是无法证明的。类型foo unit与类型unit = unit同构,因此证明foo unit的所有居民都等于B等于证明{{1}的所有居民}等于unit = unit,在Coq中没有公理就无法证明这一点。