Я нахожусь в середине доказательства, где я сгенерировал два случая
destruct (eq_id_dec Y X)
(eq_id_dec
по характеру похож на eq_nat_dec
).
Это дает два случая с добавленными предположениями e: Y = X
для равенства и n: Y <> X
для неравенства соответственно.
В первом случае я могу легко использовать rewrite e
или rewrite <- e
.
Но как я могу эффективно использовать неравенство во втором случае? Рассмотрим, например. такая цель, как
(if eq_id_dec X Y then AAA else BBB) = BBB
?
Я попробовал unfold eq_id_dec
и немного rewrite
S, но застрял.
eq_id_dec X Y
? Если вы хотите, чтобы функции сокращались, хорошей стратегией всегда будет выполнение точного анализа прецедентов, который они делают. - person gallais   schedule 07.12.2015eq_id_dec X Y
,if...then...else...
вычислил бы, и вы бы не столкнулись с проблемой, с которой вы столкнулись сейчас. - person gallais   schedule 07.12.2015