在Coq中,如何从名称空间中删除已定义的变量?

在Coq中,如何从名称空间中删除已定义的变量?,coq,Coq,在coqtop交互终端中,如何删除我定义的名称? 例如,我可以使用以下命令定义bool类型 Coq < Inductive my_bool : Type := Coq < | my_true : my_bool Coq < | my_false : my_bool. 但是,如果我想重新定义mybool术语,我会得到错误:mybool已经存在。 > Inductive my_bool : Type := > | my_true : my_bool > | my

coqtop
交互终端中,如何删除我定义的名称?

例如,我可以使用以下命令定义bool类型

Coq < Inductive my_bool : Type :=
Coq < | my_true : my_bool
Coq < | my_false : my_bool.
但是,如果我想重新定义
mybool
术语,我会得到
错误:mybool已经存在。

> Inductive my_bool : Type :=
> | my_true : my_bool
> | my_false : my_bool
> | neither : my_bool.
Error: my_bool already exists.

我是否可以在不退出
coqtop
会话的情况下删除并重新定义
my\u bool
术语?

您可以使用
重置my\u bool.
将其从环境中删除

参考资料:

Reset
ident删除自引入ident以来环境中的所有对象,包括ident。ident可以是已定义或声明对象的名称,也可以是节的名称。不能在模块或模块内对象的名称上重置

是的,看到了吗
> Inductive my_bool : Type :=
> | my_true : my_bool
> | my_false : my_bool
> | neither : my_bool.
Error: my_bool already exists.