gpt4 book ai didi

coq - Eta转换策略?

转载 作者:行者123 更新时间:2023-12-02 09:16:51 25 4
gpt4 key购买 nike

在下面的例子中,我可以使用一种策略来代替 replace 来简化这个表达式吗?

Require Import Vector.

Goal forall (n b:nat) (x:t nat n), (map (fun a => plus b a) x) = x.
Proof.
intros n b x.
replace (fun a => plus b a) with (plus b) by auto.
...

最佳答案

您可能正在寻找以下内容:

repeat change (fun x => ?h x) with h.

它允许您减少任意 arity 的函数。此解决方案使用 change 处理模式的能力(上面代码段中的 ?h)。

让我们给这个策略起一个更具启发性的名字:

(* h is a dummy argument to make Coq happy, it gets shadowed with `?h` *)
Ltac eta_reduce_all_private h := repeat change (fun x => ?h x) with h.

Ltac eta_reduce_all := eta_reduce_all_private idtac.

如果我们尝试如下定义 eta_reduce_all

Ltac eta_reduce_all := repeat change (fun x => ?h x) with h.

Coq 会提示“unbounded”h

关于coq - Eta转换策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46311353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com