# [om] semantics of structure sharing

Richard Fateman fateman at cs.berkeley.edu
Fri Apr 12 04:31:06 CEST 2002

```I don't understand this OMA(choice... ) business, but frankly
any time an OM utterance evaluates ANYTHING, it seems to me
to be overstepping its bounds.
Somehow requiring OM to evaluate random()  more than once
goes much further.

OM can presumably convey two messages from point A to point B.
in lisp...

(f (+ (random 10)(random 10))

or
((lambda(x)(f (+ x x))) (random 10))

It cannot in either case say what (random 10) means.  only
the recipient can do that.

And frankly, the recipient can evaluate these in any of several
ways, including a way that maps the second utterance to the
first, probably doing an injustice to the system uttering
the lambda.   (But ONLY in the case that random is not a function.
If random is a function, the Church-Rosser theorem says they
are equivalent if they both terminate.)

Perhaps it would help if OM people were more conversant with
functional programming.  Apologies for repeating myself..

RJF

Andreas Strotmann wrote:

>
> I'm beginning to think that "semantic sharing" via label/ref mechanisms
> may actually be quite different from a lambda binding mechanism.  Here's
> why.
>
> Let's say we have an OpenMath object which represents something like
> random().  A decent candidate might be
>
>  OMA(choice, OMA(random_distribution, [-1,1], uniform))
>
> The meaning of this expression is "an application of the choice function
> to a uniform random distibution over the interval [-1,1]".
>
> Semantic sharing would mean that the meanings of shared objects are the
> same, but in this case the meaning that is shared is that of "a choice of
> a random number from a uniform distribution" -- there is nothing in this
> interpretation that says it must be the same choice, or is there???  The
> shared meaning says "a choice", right?
>
> By contrast, a lambda binding of the above expression to a variable means
> "the result of choosing a random number from this distribution", and
> references to that variable refer to the same result, which is the same
> number.
>
> So, am I right in thinking that lambda binding adds "the result of" to the
> meaning, and thus changes it in such a way that lambda binding is
> different from "sharing"?
>
>  -- Andreas
>
> ______________________________________________________________
>                     "A Crazy System"      -- Newsweek Headline
> "We can hardly pride ourselves on being the world's preeminent
> democracy if its citizens spend half their waking hours in what
> amounts to a dictatorship."   B.Ehrenreich, Nickeled and Dimed
>
>
>
> --
> om at openmath.org  -  general discussion on OpenMath
> Post public announcements to om-announce at openmath.org
> Automatic list maintenance software at majordomo at openmath.org
> Mail om-owner at openmath.org for assistance with any problems
>

--
om at openmath.org  -  general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems

```