簡體   English   中英

Coall證明的abc:nat,b> = c-> a + b-c = a +(b-c)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM