次のようなことを証明する必要があるとします。
x: nat
(fun _ : nat => 0) = (fun y : nat => if beq_nat x y then 0 else 0)
は環境にないので、右辺を単純化してy
上に破壊することはできないようです。beq_nat x y
無名関数内の式を単純化する簡単な方法はありますか?
2 つの関数が同じように見えるように処理する以外に、すべての入力で同じ値を生成することを示すことで、2 つの関数が同じであると推測する方法はありますか?
EDIT:私は不可能なことを求めているかもしれないことを認識しています。これらの関数は同じではないため、引数に適用すると同じ値が生成されるだけです。Coqがこれをどのように解釈するかは正確にはわかりません。