簡體   English   中英

第五反對稱

[英]Rev.v le_antisymmetric

我到了這一點:

Theorem le_antisymmetric :
  antisymmetric le.
Proof.
  unfold antisymmetric. intros a b H1 H2. generalize dependent a.
  induction b as [|b' IH].
  - intros. inversion H1. reflexivity.
  - intros.

輸出:

b' : nat
IH : forall a : nat, a <= b' -> b' <= a -> a = b'
a : nat
H1 : a <= S b'
H2 : S b' <= a
------------------------------------------------------
a = S b'

我的計划是使用le傳遞性:

a <= b-> b <= c-> a <= c

並替換a:= a,b:=(S b')和c:= a。

因此,我們將獲得:

a <=(S b')->(S b')<= a-> a <= a

我將H1和H2用作所需的兩個假設,並得到Ha:a <= a。 然后對其進行反演,並獲得構造a = a的唯一方法。

但是,我應該使用哪種語法將2個假設應用於傳遞性以獲得Ha?

您對b第一次歸納似乎是不必要的。 考慮le

Inductive le (n : nat) : nat -> Prop :=
    le_n : n <= n | le_S : forall m : nat, n <= m -> n <= S m

相反,您應該首先檢查H1 如果是le_n ,那么就相等了,您就完成了。 如果是le_S ,那么大概是不可能的。

intros a b [ | b' H1] H2.
- reflexivity.

這給我們留下了

a, b, b' : nat (* b is extraneous *)
H1 : a <= b'
H2 : S b' <= a
______________________________________(1/1)
a = S b'

現在 ,傳遞性變得有意義。 它可以給您S b' <= b' ,這是不可能的。 您可以使用歸納法導出矛盾(我認為),也可以使用現有的引理。 因此,整個證明就是如此。

intros a b [ | b' H1] H2.
- reflexivity.
- absurd (S b' <= b').
  + apply Nat.nle_succ_diag_l.
  + etransitivity; eassumption.

最后一點是使用傳遞性的一種方法。 etransitivity將目標R xz轉換為R x ?yR ?yz ,以獲得新的存在變量?y eassumption然后找到與該模式匹配的假設。 在這里,具體來說,您將獲得目標S b' <= ?y?y <= b ,分別由H2H1填充。 你也可以給中間值明確,它可以讓你放下e xistential前綴。

transitivity a; assumption.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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