关闭Coq中的自动感应原理

时间:2018-08-06 00:13:05

标签: coq induction

我已经定义了一个嵌套的归纳数据类型,并为它定义了一个自定义归纳原理。但是,我正在使用的库中的自动化策略(具体来说,DBLib用于de Bruijn索引)期望归纳基于通常的归纳原理。由于我从不打算使用最初生成的归纳原理,是否有任何方法可以替代自动生成的原理?或者,如果没有,是否有办法暂时关闭此自动生成功能?

1 个答案:

答案 0 :(得分:3)

您可以使用Elimination Schemes选项进行操作。例如,

Unset Elimination Schemes.
Inductive nat_tree : Set :=
| NNode' : nat -> list nat_tree -> nat_tree.
Set Elimination Schemes.

此外,如果您有一个更简单的(非递归)归纳类型,则可以使用Variant关键字来使Coq不生成归纳原理:

Variant foo : Type := Foo.