多くの場合、Coq では次のことを行っていることに気付きます。たとえば、証明の目標があります。
some_constructor a c d = some_constructor b c d
a = b
とにかく、他のすべてが同じであるため、証明する必要があるだけなので、次のようにします。
assert (a = b).
次に、そのサブゴールを証明します。
rewrite H.
reflexivity.
証明を終了します。
しかし、私の証明の一番下にぶら下がっているそれらを持っているのは、不必要な混乱のようです.
Coqには、コンストラクターの等価性を取り、それをコンストラクターパラメーターの等価性に分割するための一般的な戦略がありますsplit
か?