Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Proving List with Concatenation operation is monoid.

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Proving List with Concatenation operation is monoid.


Chronological Thread 
  • From: Casteran Pierre <pierre.casteran AT labri.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Proving List with Concatenation operation is monoid.
  • Date: Mon, 08 Sep 2014 09:08:01 +0200
  • Organization: LaBRI - Université Bordeaux 1 - France

Hi,

I think your proof is correct, but too complex.
Since list concatenation is already a function (if you use Standard Library's one), you don't need to do a proof by cases.


Require Import List.
Theorem list_monoid : forall ( X : Type ) ( l1 l2 : list X ), exists (
l3 : list X ),
l1 ++ l2 = l3.
Proof.
intros X l1 l2 ; now exists (l1 ++ l2).
Qed.


Pierre





Le 08/09/2014 08:31, mukesh tiwari a écrit :
intros X l1 l2. destruct l1 as [ | h' l1'].
Case "l1 = nil".
simpl. exists l2. reflexivity.
Case "l1 = cons h' l1'".
simpl. exists ( h' :: l1' ++ l2 ). reflexivity.




Archive powered by MHonArc 2.6.18.

Top of Page