它们是在Idris 0.9.14中实现的,我成功地使用了induction
作为一些证明。但是,它们只适用于某些库类型;例如,Vect
支持它们,而几乎同构的All
不支持它们:
-Main.h2> induction ys1 INTERNAL ERROR: induction needs an eliminator for Data.Vect.Quantifiers.All
This is probably a bug, or a missing error message.
Please consider reporting at https://github.com/idris-lang/Idris-dev/issues
不幸的是,没有足够的语言文档,我也找不到如何实现自定义类型的消除/用例分析。深入研究前奏曲,我找到了%elim
修饰符,但没有帮助。有谁能举个例子,比如说,上面提到的All
发布于 2014-12-17 20:22:11
induction
策略只能用于使用%elim
声明的类型。有些人认为,Idris应尽可能自动生成消除器,但似乎存在一些技术上的困难。
谁能举个例子,比如说,上面提到的所有这些?
据我所知,将%elim
添加到All
的定义中没有问题(只需编辑文件Quantifiers.idr
并重新编译idris)。你可能想要提交一个拉的请求对吉突。
https://stackoverflow.com/questions/27421446
复制相似问题