展开定义而不减少

时间:2018-06-27 20:47:49

标签: coq coq-tactic

Coq manual指出,unfold qualid策略会在目标中展开qualid的每次出现,并将其替换为Beta-iota-normal形式。

有没有一种简单的方法可以在不触发beta / iota降低的情况下展开定义?

1 个答案:

答案 0 :(得分:2)

您可能想尝试例如cbv tactic如下:

Definition foo := (fun (x : nat) => x) 42.
Definition bar := (fun (x : nat) => x) 42.

Goal foo = bar.
  cbv delta [foo].

这将导致以下证明状态:

(fun x : nat => x) 42 = bar