[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Constant functions
From: Invent Yourself <xod@sixgirls.org>
Date: Wed, 13 Feb 2002 19:53:00 -0500 (EST)
>On Thu, 14 Feb 2002, Jorge Llambias wrote:
>
>>
>> la xod cusku di'e
>>
>> >Well, I wasn't using "1" as an analog for "f", but as a
polynomial.
>> >In other words, not its name, but its expression. So I don't see
how the
>> >confusion concerning f(x) is relevant.
>>
>> The expression "x^2+x+1" is sometimes used to refer to the
polynomial,
>> and other times to refer to the value that the polynomial takes on
>> for a given value in its domain. When we write f(x)=x^2+x+1, we
>> mean sometimes that the function f(x) is the funtion x^2+x+1,
>> and sometimes we mean that the value f(x) is equal to the value
>> x^2+x+1. In other words, we use the same expression to refer to
>> {lo te fancu} and to {lo ve fancu}. You are doing the same with
>> {li pa}. It's a very widespread practice in mathematics, and it
>> hardly ever leads to confusion, but it is the type of thing that
>> Lojban takes pride in differentiating.
>
>Yet in this case, I don't yet see how I could express the function
"1" as
>distinct from the value "1". Do you?
TCLL 18.6, p. 438
How do we express "z = f(x)"? The answer is:
6.3) li zy du li ma'o fy.boi xy.
The construct "ma'o fy.boi" is the equivalent of an operator...
TCLL 18.21, p. 460
To change an operand into an operator, we use the cmavo "ma'o"...In
fact, "ma'o" can be followed by any mekso operand, using the elidable
terminator "te'u" if necessary.
That means we can turn an expression into a function with "ma'o".
So any function with constant value 1 from any non-empty domain to
any range containing 1 is evaluated by "li ma'o li pa", and we can
say things like
zoi .kuot lambda(x).1 .kuot fancu lo'i namcu lo'i namcu li ma'o
li pa
ko'a goi le fancu be jo'ite'u be'i lo'i li pa be'i li ma'o li pa
be'o...
where "jo'ite'u" is the empty vector, the vector of length 0.
Note: The use of the terms "operand" and "operator" in the RefGrammar
is not always consistent with the practice of mathematicians.
An expression is an operand only if a operator is being applied to
it.
Most programming languages describe functions as operators, except
for the two families founded by mathematicians, namely APL and LISP.
LISP does not distinguish data objects from function objects (both
are just lists), while APL has a three-level type hierarchy: arrays
(data), functions (data-->data), and operators
(functions-->functions, or as an option in some dialects,
functions-->data)