1
バインダーの下で式を一般化する必要があります。例えば、私は私の目標で二つの表現があります。バインダーの下で式を一般化する
(fun a b => g a b c)
と
(fun a b => f (g a b c))
をそして私はg _ _ c
一部を一般化したい:
一つの方法は、最初にそれらを書き換えることです
(fun a b => (fun x y => g x y c) a b)
および第2のもの:
(fun a b =>
f (
(fun x y => g x y c) a b
))
をと一般化すると、A -> A -> A
となります。ここでの難しさは、私が一般化しようとしています式は、バインダー中であるということである
(fun a b => somefun a b)
と
(fun a b => f (somefun a b))
:これは私の中に式を向けるだろう。私はそれを操作するための戦術またはLTACの表現を見つけることができませんでした。このようなことをどうすればできますか?
https://coq.inria.fr/library/Coq.Logic.FunctionalExtensionality.html? – Biv
(1)[mcve]はありますか? (2) '(fun a b、g a b c)とはどういう意味ですか? –
申し訳ありません。 '(fun a b、...)'は実際に '(fun a b => ...)'です。私は例を修正した。私は完全な例を見出そうとすることができますが、その点は特定のものを証明するのではなく、むしろこのようなことをするテクニックを考え出すことです。 – krokodil