我正在使用 coq 中的定义,它需要从定理中产生一些东西,但不能在定义中破坏。
Theorem sp : forall (X : Type) (T : X -> Prop)..... , exists (a : X), T a.
Definition yield_sp : (X : Type) (T : X -> Prop) (H : sp X T .....)..... : X.
当我尝试破坏 H 时,coq 会发出警告
归纳定义前不允许对排序类型进行案例分析。
我想知道它的原因,以及如何使用定义从“存在”命题中产生一个元素。