On Feb 9, 9:26 am, Marshall <marshall.spi... (AT) gmail (DOT) com> wrote:
Quote:
However
quantifiers in logic come with their own lexical scope. (They
must, since they introduce local names.) |
This is a good point, and there are constructs such as for
integration, product, summation and limit that also introduce local
names that are invisible to the containing context, and are said to be
"bound", not "free".
I think an explicit syntax for introducing a lexical scope for a
variable that is explicitly bound to some expression works nicely.
Eg (let a=x in f(a)) is equivalent to f(x)
and the query
P(a=y, b=x) & Q(a=x, b=z))
where P,Q are relations with attributes named a,b would instead be
written as
(let a=y,b=x in P) & (let a=x, b=z in Q)