2016-09-15 44 views
1

This answer提供了一个简单有用的技巧:unfold ">="unfold ge相同,但不要求您知道>=ge的记号。在范围内展开记号

你可以对范围内的符号做同样的事吗?

Require Import NArith. 
Goal forall x, (x >= x)%N. 
unfold ">=". 

这里unfold ">=",因为它试图展开ge,不N.ge没有做任何事情。

我已经找到了以下解决方案:

Open Scope N. 
unfold ">=". 

但有一个语法允许展开这个符号无需先打开的范围?

回答

1

是的,你可以使用模板unfold string % scope如下:

Require Import NArith. 
Goal forall x, (x >= x)%N. 
    unfold ">=" % N. 

这给我们展开>=目标forall x : N, (x ?= x)%N <> Lt

+0

谢谢!我曾尝试过很多语法,但不是这个。 –

+0

'(term)%scope'是本地打开解释范围的标准语法。恰巧Coq在这种情况下也接受它。它实际上不是'范围',而是'钥匙',我在这里很sl。。 –