私は何度もこの問題に直面してきました: Coq には、同じ等式の両側の一致を含む証明状態があります。
複数の一致を 1 つに書き換える標準的な方法はありますか?
例えば。
match expression_evaling_to_Z with
Zarith.Z0 => something
Zartih.Pos _ => something_else
Zarith.Neg _ => something_else
end = yet_another_thing.
で破壊するexpresion_evaling_to_Z
と、同じゴールが 2 つ得られます。目標の1つだけを取得する方法を見つけたいと思います。