[英]Coq proof of forall a b c: nat, b >= c -> a + b - c = a + (b - c)
有人知道以下定理的Coq的任何標准庫中的證明嗎? 如果有一個,我找不到。
forall abc:nat,b> = c-> a + b-c = a +(b-c)
在此先感謝Marcus。
標准庫中不太可能包含某些特定的配方。 特別是對於常規的Presburger算術,有一個很完整的強大策略,即omega
:
Require Import Omega.
Theorem t : forall a b c: nat, b >= c -> a + b - c = a + (b - c).
Proof.
intros. omega.
Qed.
Coq標准庫中有一個非常類似的引理(已在8.5pl3版本中進行了檢查),稱為
Nat.add_sub_assoc
: forall n m p : nat, p <= m -> n + (m - p) = n + m - p
使用方法如下:
Require Import Coq.Arith.Arith.
Goal forall a b c: nat, b >= c -> a + b - c = a + (b - c).
intros a b c H.
apply (eq_sym (Nat.add_sub_assoc _ _ _ H)).
Qed.
您可以使用Coq的搜索工具來發現它:
Require Import Coq.Arith.Arith.
Search (_ + _ - _).
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.