Как автоматически доказать простое равенство действительных чисел в Coq?
То, что я ищу, этоauto
подобная тактика, которая может доказать простые равенства, такие как:
1/2 = 2/4
Пока что я пробовал вручную использоватьring_simplify
а такжеfield_simplify
чтобы доказать равенство. Даже это не работает хорошо (Coq 8.5b3). Пример ниже работает:
Require Export Coq.Reals.RIneq.
Local Open Scope Z_scope.
Local Open Scope R_scope.
Example test2: 1 = 1 / 1.
Proof. field_simplify. field_simplify. reflexivity.
Qed.
Но надо было использоватьfield_simplfy
дважды доreflexivity
, Первыйfield_simplfiy
дает мне:
1 subgoal
______________________________________(1/1)
1 / 1 = 1 / 1 / (1 / 1)
который не подлежит рефлексивности.
Пример ниже не работает,field_simplify
кажется, ничего не делает по цели, и, следовательно,reflexivity
не может быть использован.
Example test3: 1/2 = 2/4.
Proof. field_simplify. reflexivity.
Опять же, есть ли автоматический способ достижения этого, какfield_auto
?