Update
This commit is contained in:
parent
b94a556f7e
commit
0f3f602c0d
@ -813,3 +813,20 @@ Proof.
|
|||||||
assumption. assumption.
|
assumption. assumption.
|
||||||
Qed.
|
Qed.
|
||||||
|
|
||||||
|
|
||||||
|
Theorem subsequence_not_in {X: Type} :
|
||||||
|
forall (u v: list X) a, subsequence u v -> ~ In a u -> ~ In a v.
|
||||||
|
Proof.
|
||||||
|
intros u v. generalize u. induction v; intros u0 a0; intros H I.
|
||||||
|
easy. apply not_in_cons. split. apply subsequence_incl in H.
|
||||||
|
apply incl_cons_inv in H. destruct H.
|
||||||
|
|
||||||
|
assert (forall z (x y: X), In x z -> ~ In y z -> x <> y).
|
||||||
|
intro z. induction z; intros x y; intros J K. inversion J.
|
||||||
|
apply in_inv in J. destruct J. rewrite <- H1.
|
||||||
|
apply not_in_cons in K. destruct K. apply not_eq_sym. assumption.
|
||||||
|
apply IHz. assumption.
|
||||||
|
apply not_in_cons in K. destruct K. assumption. apply not_eq_sym.
|
||||||
|
generalize I. generalize H. apply H1. generalize I. apply IHv.
|
||||||
|
apply subsequence_cons_r in H. assumption.
|
||||||
|
Qed.
|
||||||
|
Loading…
Reference in New Issue
Block a user