Skip to content
Snippets Groups Projects
Commit 64a03e16 authored by Sébastien Bouchard's avatar Sébastien Bouchard
Browse files

Some proofs to help Even (to be copied in his branch)

parent ffbc0ddf
No related branches found
No related tags found
No related merge requests found
......@@ -52,6 +52,22 @@ intros x l Hin. induction l.
- destruct Hin. subst. now left. right. auto.
Qed. *)
Lemma hd_proof : forall l : list A, 0 < length l -> A.
Proof using .
intros * H. destruct l as [|a t]. 2: exact a. exfalso.
rewrite (proj2 (length_zero_iff_nil _)) in H by reflexivity.
inversion H.
Qed.
Lemma all_eq : forall (l : list A) (a1 : A), In a1 l ->length l = 1
-> forall a2 : A, In a2 l -> a2 = a1.
Proof using .
intros * Hi1 H * Hi2. destruct l as [|h t].
rewrite (proj2 (length_zero_iff_nil _)) in H by reflexivity. discriminate H.
destruct t as [|h1 t]. cbn in Hi1, Hi2. destruct Hi1, Hi2. subst. reflexivity.
1-3: contradiction. exfalso. eapply Nat.neq_succ_0, eq_add_S, H.
Qed.
Lemma InA_Leibniz : forall (x : A) l, InA Logic.eq x l <-> In x l.
Proof using .
intros x l. split; intro Hl; induction l; inversion_clear Hl;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment