我在Coq中定义时遇到了一些问题,更具体地说,在使用CHI定义时。我已经设法获得了对基本原理的理解,但是当我尝试定义这个"
时((A -> (A -> C)) * ((A -> C) -> A)) -> C :=
我无处可去,因为它一直告诉我:
"Error: The type of this term is a product while it is expected to be "C"
。
我已经尝试了我之前在脚本中使用的常用策略,并且我确信这必须使用相同的方法解决(有趣),但我似乎尝试的所有内容都以错误消息结束。有什么提示吗?
答案 0 :(得分:0)
您似乎正在定义一个以输入为主的函数:
A -> (A -> C)
的函数:给定类型为A
的对象,它会返回类型为A -> C
的函数。(A -> C) -> A
的函数:给定类型A -> C
的函数,它返回类型为A
的对象。您正在尝试构建C
类型的对象,我不知道您将如何设法执行此操作。但是,您可以通过组合作为输入的两个函数来构建类型为A
的对象。
希望它有所帮助,
诉P>