Я изучаю coq и пытаюсь доказать равенства в арифметике Пеано.
Я застрял на простом законе дроби.
Мы знаем, что (n + m) / 2 = n/ 2 + м / 2 от начальной школы. В арифметике Пеано это верно только в том случае, если n и m четные (потому что тогда деление дает правильные результаты).
Compute (3 / 2) + (5 / 2). (*3*)
Compute (3 + 5) / 2. (*4*)
Итак, мы определяем:
Theorem fraction_addition: forall n m: nat ,
even n -> even m -> Nat.div2 n + Nat.div2 m = Nat.div2 (n + m).
Насколько я понимаю, этоправильная и доказуемая теорема. Я попробовал индуктивное доказательство, например
intros n m en em.
induction n.
- reflexivity.
- ???
, которое приводит меня в ситуацию
en = even (S n)
и IHn : even n -> Nat.div2 n + Nat.div2 m = Nat.div2 (n + m)
, поэтому я не могу найти способ применить гипотезу индукции.
После долгих исследований стандартной библиотеки и документации я не нашел ответа.