1)I相信这是可以使用感应类型没有模式匹配。 (仅使用_rec,_rect,_ind)。这是不透明的,复杂的,但可能的。 2)是否有可能使用带模式匹配的共诱导类型?定义一个“头”用于Coq的coinductive类型的流(没有模式匹配)
有存在的函数从coinductive类型构造函数coinductive类型的结构域的结合。 Coq是否明确生成它? 如果是,如何重写'hd'?
Section stream.
Variable A : Type.
CoInductive stream : Type :=
| Cons : A -> stream -> stream.
End stream.
Definition hd A (s : stream A) : A :=
match s with
| Cons x _ => x
end.