Re: Samples from the Internet

Thanks by private replies. Below is one i find specially interesting
because reflects my confusion when reading the spec. Spec sections are
cited between brakets.

XXXXXX said:
> Juan,
>
> The distinction between ci and csymbol is exactly analogous to the
> distinction between "variables" representing unspecified members of a
> domain and "symbols" representing specific instances of known objects.

I read <ci> <--> "variables"
<csymbol> <--> "symbols"

[4.2.1.1]

"Numbers and symbols are marked by the token elements cn and ci."

I.e. I read <ci> <--> "symbol"

"The containers such as <cn>12345</cn> , <ci>x</ci> and <csymbol
definitionURL="mySymbol.htm" encoding="text">S</csymbol>represent
mathematical numbers , identifiers and externally defined symbols."

"By using the ci and csymbol elements we have made clear that we are
referring to a mathematical identifier or symbol but this does not say
anything about how it should be rendered."

I.e. I read <csymbol> <--> "symbol"

> Thus, <csymbol/> would be used to reference known or specific constants
> or functions - possibly defined in the containing document, or even in
> the MathML spec - the definition location doesn't matter.

[4.2.1.4]

"The csymbol element is used as a container to construct a new symbol in
much the same way that ci is used to construct an identifier. (Note that
"symbol" is used here in the abstract sense and has no connection with any
presentation of the construct on screen or paper). The difference in usage
is that csymbol should refer to some mathematically defined concept with
an external definition referenced via the definitionURL attribute, whereas
ci is used for identifiers that are essentially "local" to the MathML
expression.

I.e. I read <csymbol> <--> "external def."

<ci> <--> "inside the document def: declare, id subtree"

[4.2.2.1]

"The csymbol element, or "content symbol" is used to construct a symbol
whose semantics are not part of the core content elements provided by
MathML, but defined outside of the MathML specification. "

[4.4.1.3]

"The csymbol element allows a writer to create an element in MathML whose
semantics are externally defined (i.e. not in the core MathML content)."

I.e. I read <csymbol> <--> "is used for definitions not defined in the
MathML spec. OpenMath definition"

> For example, to apply any specific defined function
>
> <apply>
>     <csymbol
> definitionURL="thePlaceWhereThisfunctionIsDefined">F</csymbol>
> <ci>x</ci>
> </apply>
>
> To apply the same function to a specific defined constant (possibly
> defined in the containing document)
>
> <apply>
>     <csymbol
> definitionURL="thePlaceWhereThisfunctionIsDefined">F</csymbol>
> <csymbol definitionURL="MyFavouriteSymbolicConstant">k</ci>
> </apply>

[4.2.1.4]

"In contrast, the definitionURL attribute on a ci element might be used to
associate an identifier with another sub-expression by referring to its id
attribute. This approach can be used, for example to indicate clearly that
a particular ci element is an instance of a ci element that has been
declared to have some properties using the declare construct (see Section
4.4.2.8 Declare (declare)) or that it is an instance of a specific bound
variable as declared by a use of the bvar (see Section 4.4.5.6 Bound
variable (bvar)) element."

I.e. I read <csymbol> <--> "a specific defined constant not defined in the
containing document"

I.e. I read <ci> <--> "a specific defined constant defined in the
containing document"

> To describe a generic function application like f(x), where neither f
> nor x refer to a known object, write
>
> <apply>
>     <ci>f</ci>
>     <ci>x</ci>
> </apply>

In certain known tutorial on content MathML, f(x) is

<apply>
 <ci type='fn'>f</ci>
 <ci>x</ci>
</apply>

[4.4.3.18.2]

    <apply>
      <fn><ci> f </ci></fn>
      <ci> x </ci>
    </apply>

I read arbitrary function is encoded with <ci> because type='fn' is in the
MathML core. That is not the case for explicit definition for Equilibrium
(defined for a class of Boole Algebra x+y = xy).

I read that <fn> is deprecated. Is the type='fn' redundant? I am not sure
because semantics for apply is <apply>op arguments</apply> and i am not
sure i want identify always a function with an operator. In my opinion,
the plus function <plus/> is different from the plus operator on (2 + 3).

> As for defined symbols, the only difference between  <sin/> and
>
> <csymbol definitionURL="
> http://www.w3.org/TR/MathML2/appendixc.html#cedef.sin">sin</csymbol>
>
> is (potientially) the presentation. They both represent same
> mathematical function and can be used in all the same places.

I am really confused.

Received on Monday, 27 November 2006 10:58:33 UTC