coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Cedric Auger <sedrikov AT gmail.com>
- To: t x <txrev319 AT gmail.com>
- Cc: coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] third for of "binder" in Gallina grammar
- Date: Thu, 10 Oct 2013 09:53:35 +0200
| ||||
| ||||
|
| |||
2013/10/10 t x <txrev319 AT gmail.com>
"fun (A : Type) (B := list A) (x : B -> B) => …"
thus avoiding one 'let' and one 'fun'
| ( name [: term] := term) *****| ( name ... name : term )| namebinder ::=binders ::= binder ... binder| fun binders => term| let ident [binders] [: term] := term in term
| ...
| ...
In the doc, there is a link to section 1.2.6: http://coq.inria.fr/refman/Reference-Manual003.html#sec31
in the grammar definition. It seems you did not follow this link. I have never used it. I guess it is some syntactic sugar for things like:
"fun (A : Type) => let (B := list A) in fun (x : B -> B) => …"
could be abbreviated in:
in the grammar definition. It seems you did not follow this link. I have never used it. I guess it is some syntactic sugar for things like:
"fun (A : Type) => let (B := list A) in fun (x : B -> B) => …"
could be abbreviated in:
"fun (A : Type) (B := list A) (x : B -> B) => …"
thus avoiding one 'let' and one 'fun'
Now, what I don't understand is when *** is ever used.When I'm using it from "let", the [: term] := term provides the "definition."
When I'm using from "forall", at most I use (x: A) (y: B) ... but no need for ":="
Similarly, when using "binders", I also use (x: A) (y: B) ... but no need for ":="
Thus, my question: when is the "****" form of binder ever used?
Thanks!
--
.../Sedrikov\...
- [Coq-Club] third for of "binder" in Gallina grammar, t x, 10/10/2013
- Re: [Coq-Club] third for of "binder" in Gallina grammar, Cedric Auger, 10/10/2013
- Re: [Coq-Club] third for of "binder" in Gallina grammar, t x, 10/10/2013
- Re: [Coq-Club] third for of "binder" in Gallina grammar, Cedric Auger, 10/10/2013
Archive powered by MHonArc 2.6.18.