在 Coq 中简化有理表达式并证明平凡的有理等价

Simplifying Rational Expressions and Proving Trivial Rational Equivalences in Coq

我可以使用哪些策略来简化有理表达式并证明以下示例中所示的平凡有理等价?

Require Import Coq.QArith.QArith.
Open Scope Q_scope.

Lemma Example : (0 + 0) / 1 == 0.

我对 Coq 中的 rational 了解不多,但如果它们的实现是建设性的,您将能够使用 simpl 简化此类表达式(您可能需要先 unfold 一些定义)或 compute。由于reflexivity是做模转换的,所以应该也解决了这样的目标。

但是,您可能无法使用自由变量简化表达式(例如

 forall q:Q, (q + 0) / 1 = q. 

也许有像 omega 这样的策略专门用于此任务。您可以尝试 ringlia.