Coq 中的嵌套定理

Nested theorems in Coq

是否可以在当前证明定理的上下文中创建嵌套定理?

我强烈感觉这个功能还没有完全实现。 例如,

1) 我无法破坏证明过程中上下文中的某些类型。

例如有

"Error: my_var is used in conclusion."

当我试图定义定理的类型时。我也有

"Error: ... depends on the variable ... which is not declared in the context." 

但是google只给了我一个link有类似的错误。此外,我实际上在本节的上下文中有 m。怎么了?

2) 我破坏了自然数n。 我定义了几个第一步。 我需要为长期定义一个同义词。 我想在本地定义

Definition X:=(n.+1;ob). 

但是我做不到。我想用模拟让...进入...。

有什么想法吗?

确实你是对的。 "declaring a theorem while in a proof" 不被 Coq 支持,因为有一些副作用。

即使该功能有时有效,也被认为已损坏。唯一没有被删除的原因是一些用户习惯了依赖它,它工作时有用。但是已经有很多关于修复它还是删除它的讨论。