我正在阅读并使用ssreflect教程,并且遇到使用{}引用的东西,我不太明白:
Variables P Q : bool -> Prop.
Hypothesis P2Q : forall a b, P (a || b) -> Q a.
Goal forall a, P (a || a) -> True.
move=> a HPa. move: {HPa} (@P2Q _ _ HPa) => HQa.
有人可以解释{HPa}
对HPa
做了什么吗?
{}
,它仍然有效但生成了不同的东西。我不知道在哪里查找括号或@
之类的文档。
答案 0 :(得分:1)
经过一些实验和比较后,似乎{H}
的函数在Coq术语中为clear H.
。
move: {HPa} (@P2Q _ _ HPa) => HQa.
给出
1 subgoals
a : bool
HQa : Q a
______________________________________(1/1)
True
而
move: (@P2Q _ _ HPa) => HQa.
除了HPa
在上下文中保持完整外,给出了同样的东西:
1 subgoals
a : bool
HPa : P (a || a)
HQa : Q a
______________________________________(1/1)
True