coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "Daniel R. Grayson" <drg AT illinois.edu>
- To: Vladimir Voevodsky <vladimir AT ias.edu>
- Cc: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] binary operations on types with additional structure
- Date: Sun, 19 Jan 2014 10:33:47 -0500
On Sun, Jan 19, 2014 at 9:08 AM, Vladimir Voevodsky <vladimir AT ias.edu> wrote:
Good question. Given G : Group, we could define Elem G to be the type
The effect in question is a corollary of a too aggressive use of implicit parameters. The parameter G can not be made implicit in this definition if one follows strict rules that the implicit parameters should be uniquely determined by the explicit ones.
On Jan 17, 2014, at 2:06 PM, <drg AT illinois.edu> <drg AT illinois.edu> wrote:
> One way to implement the notion of group G (for example) would be as a record,
> the first element of which is the type X of the elements of the group. The
> multiplication operation could be defined with something like
>
> Definition op {G:Group} (g:pr1 G) (h:pr1 G) := ... .
>
> where pr1 is projection on the first component. If pr1 is defined as a
> coercion,
> then it can be written more suggestively as
>
> Definition op {G:Group} (g:G) (h:G) := ... .
>
In this case only (pr1 G) can be recovered from g and h but not G itself.
Yes, that strict rule is a good idea, which I was violating.
What does it mean? What would be the definition?
> I'm tempted to say that an element g of G should be
> defined
> to be a pair (G,x) with x:X, and the coercion would then be the one that sends
> G
> to the type of such pairs.
Good question. Given G : Group, we could define Elem G to be the type
of all pairs (H,x) where H is (definitionally) equal to G and x : pr1 H (if we had
"singleton types", which coq doesn't have). Then a judgment g:Elem G
would uniquely determine G.
V.
- [Coq-Club] binary operations on types with additional structure, drg, 01/17/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel Schepler, 01/18/2014
- Re: [Coq-Club] binary operations on types with additional structure, Matthieu Sozeau, 01/18/2014
- Re: [Coq-Club] binary operations on types with additional structure, Vladimir Voevodsky, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Bas Spitters, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Bas Spitters, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel Schepler, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Arnaud Spiwack, 01/20/2014
- Re: [Coq-Club] binary operations on types with additional structure, Jason Gross, 01/20/2014
- Re: [Coq-Club] binary operations on types with additional structure, Arnaud Spiwack, 01/20/2014
- Re: [Coq-Club] binary operations on types with additional structure, Bas Spitters, 01/20/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel Schepler, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Bas Spitters, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel R. Grayson, 01/19/2014
- Re: [Coq-Club] binary operations on types with additional structure, Daniel Schepler, 01/18/2014
Archive powered by MHonArc 2.6.18.