`ssreflect` 的 `move=>` 的替代策略
Alternative tactic for `ssreflect`'s `move=>`
我喜欢在目标是蕴涵(例如 A -> B)的情况下使用 ssreflect
库中的 move=>
策略,使前提成为假设,并得出结论新目标。但是,我并不总是想使用 ssreflect
.
是否有另一种 Coq 策略在不使用 ssreflect
的情况下做同样的事情?
您始终可以使用 intros
:intros pat
大致等同于 move=> pat
。不幸的是,Coq 和 ssreflect 使用不同的语法来引入模式,因此两者不可互换。
请注意,现在 ssreflect 是 Coq 发行版的一部分,因此您只需执行 From Coq Require Import ssreflect.
即可使用策略语言,而无需安装单独的库。
我喜欢在目标是蕴涵(例如 A -> B)的情况下使用 ssreflect
库中的 move=>
策略,使前提成为假设,并得出结论新目标。但是,我并不总是想使用 ssreflect
.
是否有另一种 Coq 策略在不使用 ssreflect
的情况下做同样的事情?
您始终可以使用 intros
:intros pat
大致等同于 move=> pat
。不幸的是,Coq 和 ssreflect 使用不同的语法来引入模式,因此两者不可互换。
请注意,现在 ssreflect 是 Coq 发行版的一部分,因此您只需执行 From Coq Require Import ssreflect.
即可使用策略语言,而无需安装单独的库。