【发布时间】:2016-05-22 01:49:56
【问题描述】:
我在将参数传递给 coq 中的产品类型时遇到问题。我有一个看起来像这样的定义,
Definition bar (a:Type) := a->Type.
我需要定义一个函数,该函数接收“a”和“bar a”制作的东西并输出它们的产品/订购对。所以我尝试了以下方法。
Definition foo (a:Type)(b:bar a):= prod a b.
这给了我错误
术语“b”的类型为“bar a”,而预期的类型为“Type”。
这里真正令人困惑的是,
Definition foo (a:Type) := prod a (bar a).
工作得很好。显然“bar a”的类型为“Type”,所以我不确定如何修复我的原始定义。我怀疑我没有正确传递变量。
【问题讨论】:
标签: coq cartesian-product