coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Edsko de Vries <devriese AT cs.tcd.ie>
- To: Pierre Casteran <pierre.casteran AT labri.fr>
- Cc: Edsko de Vries <devriese AT cs.tcd.ie>, frederic.blanqui AT loria.fr, coq-club AT pauillac.inria.fr, color AT loria.fr
- Subject: Re: [Coq-Club] "Concrete" multiset?
- Date: Wed, 7 Nov 2007 11:47:43 +0000
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
On Wed, Nov 07, 2007 at 12:40:11PM +0100, Pierre Casteran wrote:
> Edsko de Vries a e'crit :
> >
> > Section test.
> >
> > Variables (M1 M2: NatList.Multiset).
> >
> > Variable P : NatList.Multiset -> Prop.
> >
> > Hypothesis p : P (NatList.union M1 M2).
> >
> > Lemma p' : P (NatList.union M2 M1).
> >
> >At this point I'd like to do
> >
> > rewrite NatListTheory.union_comm ; assumption.
> >
> >to finish the proof, but that tells me
> >
> > User error: Either the term NatList.union M2 M1 that must be rewritten
> > occurs in a covariant position or the goal is not made of morphism
> > applications only. You can replace only occurrences that are in a
> > contravariant position and such that the context obtained by
> > abstracting them is made of morphism applications only.
> >
>
>
> Hi,
> If you could have proved p', after closing the section test, you would get
>
> p' : forall M1 M2, forall P, P (Natlist.union M1 M2) -> P (Natlist.union
> M2 M1),
>
> which is equivalent to Leibniz equality of the two unions.
> In order to do your rewrite, Coq needs that the enclosing P is a
> morphism wrt
> Meq, which is not in your hypotheses.
But that means that I have to prove something for every property P I
need to prove stuff about (that P is a "morphism", whatever I that is)
-- which I don't want to have to do :) I am looking for an
implementation of multisets which has the property that (union M1 M2)
really *equals* union M2 M1, so that I can prove this property without
any further hypotheses about P (this would be possible if the multiset
uses some sort of ordering on the elements, for example).
Edsko
- [Coq-Club] "Concrete" multiset?, Edsko de Vries
- Re: [Coq-Club] "Concrete" multiset?,
frederic . blanqui
- Re: [Coq-Club] "Concrete" multiset?,
Edsko de Vries
- Re: [Coq-Club] "Concrete" multiset?,
Pierre Casteran
- Re: [Coq-Club] "Concrete" multiset?, Edsko de Vries
- Re: [Coq-Club] "Concrete" multiset?,
frederic . blanqui
- Re: [Coq-Club] "Concrete" multiset?, Edsko de Vries
- Re: [Coq-Club] "Concrete" multiset?,
frederic . blanqui
- Re: [Coq-Club] "Concrete" multiset?, Edsko de Vries
- Re: [Coq-Club] "Concrete" multiset?, frederic . blanqui
- Re: [Coq-Club] "Concrete" multiset?,
Pierre Casteran
- Re: [Coq-Club] "Concrete" multiset?,
Edsko de Vries
- Re: [Coq-Club] "Concrete" multiset?,
Pierre Letouzey
- Message not available
- Re: [Coq-Club] "Concrete" multiset?, Pierre Letouzey
- Message not available
- Re: [Coq-Club] "Concrete" multiset?,
frederic . blanqui
Archive powered by MhonArc 2.6.16.