Coq 对应于*直函数族的共导原理

Coq 对应于*直函数族的共导原理,coq,coq-tactic,coinduction,Coq,Coq Tactic,Coinduction,定义一个新类型foo给了我一个递归原则foo\u rect,它优雅地抽象了fix。是否可以通过某种方式“翻转箭头”来定义共导等价物(对cofix进行抽象?这是不可能的,因为Coq以非模块化的方式检查cofix点的防护条件。幸运的是,解决这个问题的方法是,只要你用一种特定的方式表达你的定义,你就可以做你想做的事情 这里有一个关于Paco库的很好的教程:Giménez和Castéran在Coq中的“Park原理”,本质上是通常归纳模式的镜像。它也出现在Adam Chlipala关于依赖类型的认证编程

定义一个新类型
foo
给了我一个递归原则
foo\u rect
,它优雅地抽象了
fix
。是否可以通过某种方式“翻转箭头”来定义共导等价物(对cofix进行抽象?

这是不可能的,因为Coq以非模块化的方式检查cofix点的防护条件。幸运的是,解决这个问题的方法是,只要你用一种特定的方式表达你的定义,你就可以做你想做的事情

这里有一个关于Paco库的很好的教程:

Giménez和Castéran在Coq中的“Park原理”,本质上是通常归纳模式的镜像。它也出现在Adam Chlipala关于依赖类型的认证编程中,以及Catalin Hritcu关于该主题的问题集(,)。