coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: St�phane Lescuyer <stephane.lescuyer AT inria.fr>
- To: "Samuel E. Moelius III" <moelius AT cis.udel.edu>
- Cc: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] PO ``Carrier_of'' field
- Date: Sun, 22 Feb 2009 20:23:14 +0100
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=VaAwHEzkgNtSZDkTStGO+1dxrwO3nnrBeIRdxBYgFc+Hmzy0Y9gbVJvW/uzJXeiFJj XHH8W2bq/uVwZU1/2z1w88n2wl9x/qvWBIBug30M2WZkzZNCwNKA086TIbBsUhf5HplI CCHjcHUcPseRSO02GwbZ1eOquw3N3HphVcEB8=
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
On Sun, Feb 22, 2009 at 7:52 PM, Samuel E. Moelius III
<moelius AT cis.udel.edu>
wrote:
> Please let me rephrase my question then. Consider the following two
> approaches.
>
> (1) What is now done in the library (using the ``Carrier_of'' field).
>
> (2) Doing something similar to what I wrote above, letting U be a
> sigma-type, if necessary.
>
> What are the advantages of (1) over (2)? Or is it just a matter of taste?
OK I see it's an interesting point. The only real advantage I can
think of (and Id like to have the opinion of others on this list) is
that (1) allows you to relate objects that have different carriers on
the same type U. The typical example would be substructures such as
subgroups, etc. In our case, with partial order, you may want to
define what it means for a PO to be restriction of another PO on a
smaller carrier. You can easily do that with the first method :
Inductive restriction (U : Set) (P : PO U) (Q : PO U) : Prop :=
| mk_restriction : subset (Carrier_of P) (Carrier_of Q) -> (forall x
y, Rel_of P x y -> Rel_of Q x y) -> restriction U P Q.
With the second method, you would have to explicitely mention a
"coercion" function between your two carriers U and U', or you would
have to restrict your definition to sigma types.
It is not something I just "forged" actually, it happened to me once
to have a converging (and increasing) sequence of sets S : nat -> (U
-> Prop), and I had to define a relation by successive refinements
over the (S n), it was very handy to be able to relate relations in a
similar way as above.
> Stéphane: Thanks for your help, BTW. :)
You're very welcome :) I hope this helps.
Stéphane L.
--
I'm the kind of guy that until it happens, I won't worry about it. -
R.H. RoY05, MVP06
- [Coq-Club] PO ``Carrier_of'' field, Samuel E. Moelius III
- Re: [Coq-Club] PO ``Carrier_of'' field,
Stéphane Lescuyer
- Re: [Coq-Club] PO ``Carrier_of'' field,
Samuel E. Moelius III
- Re: [Coq-Club] PO ``Carrier_of'' field,
Stéphane Lescuyer
- Re: [Coq-Club] PO ``Carrier_of'' field,
Samuel E. Moelius III
- Re: [Coq-Club] PO ``Carrier_of'' field, Stéphane Lescuyer
- Re: [Coq-Club] PO ``Carrier_of'' field,
Samuel E. Moelius III
- Re: [Coq-Club] PO ``Carrier_of'' field,
Stéphane Lescuyer
- Re: [Coq-Club] PO ``Carrier_of'' field,
Samuel E. Moelius III
- Re: [Coq-Club] PO ``Carrier_of'' field,
Stéphane Lescuyer
Archive powered by MhonArc 2.6.16.