OpenMath Content Dictionary: sts

Canonical URL:
http://www.openmath.org/cd/sts.ocd
CD File:
sts.ocd
CD as XML Encoded OpenMath:
sts.omcd
Defines:
attribution, binder, error, mapsto, nary, nassoc, NumericalValue, Object, structure, type
Date:
2001-03-12
Version:
2
Review Date:
2003-04-01
Status:
official
Uses CD:
setname1

Definitions of the symbols used by the OpenMath Small Type System.


type

A symbol to be used within an OpenMath attribute to specify the type of the object.

Example:
The variable z is attributed with a type for complex numbers.
<OMOBJ>
  <OMATTR>
    <OMATP>
       <OMS cd="sts" name="type"/>
       <OMS name="C" cd="setname1"/>
    </OMATP>
    <OMV name="z"/>
  </OMATTR>
</OMOBJ>

Attrib([ type C ], z)

Signatures:
sts


[Next: mapsto] [Last: NumericalValue] [Top]

mapsto

This symbol represents the construction of a function type.

The first n-1 children denote the types of the arguments, the last denotes the return type.

Example:
The signature of the power function: (Real , Integer) -> Real
<OMOBJ>
  <OMA>
    <OMS cd="sts" name="mapsto"/>
    <OMS cd="setname1" name="R"/>
    <OMS cd="setname1" name="Z"/>
    <OMS cd="setname1" name="R"/>
  </OMA>
</OMOBJ>

mapsto (R, Z, R)

Signatures:
sts


[Next: nary] [Previous: type] [Top]

nary

Constructs a child of mapsto which denotes an arbitrary number of copies of the argument of nary.

Example:
The signature for list, an n-ary function:
<OMOBJ>
 <OMA>
  <OMS name="mapsto" cd="sts"/>
   <OMA>
     <OMS name="nary" cd="sts"/>
     <OMS name="Object" cd="sts"/>
   </OMA>
  <OMS name="Object" cd="sts"/>
 </OMA>
</OMOBJ>

mapsto (nary (Object) , Object)

Signatures:
sts


[Next: nassoc] [Previous: mapsto] [Top]

nassoc

Constructs a child of mapsto which denotes an arbitrary number of copies of the argument of nassoc. The operator is associative on these arguments which means that repeated uses may be flattened/unflattened.

Example:
The signature for plus, an associative n-ary function:
<OMOBJ>
  <OMA>
    <OMS name="mapsto" cd="sts"/>
    <OMA>
      <OMS name="nassoc" cd="sts"/> 
      <OMV name="AbelianSemiGroup"/>
    </OMA>
    <OMV name="AbelianSemiGroup"/>
  </OMA>
</OMOBJ>

mapsto (nassoc ( AbelianSemiGroup) , AbelianSemiGroup)

Signatures:
sts


[Next: error] [Previous: nary] [Top]

error

The error symbol is the 'return type' of error symbols in the error signature file.

Example:
<OMOBJ>
  <OMA>
    <OMS cd="sts" name="mapsto"/>
    <OMV name="OMSymbol"/>
    <OMS name="error" cd="sts"/>
  </OMA>
</OMOBJ>

mapsto ( OMSymbol, error)

Signatures:
sts


[Next: structure] [Previous: nassoc] [Top]

structure

The structure element is used to represent a structure of a particular (algebraic) type.

Example:
The signature of a function which given a set will return an element of that set:
<OMOBJ>
  <OMA>
    <OMS cd="sts" name="mapsto"/>
    <OMA>
      <OMS cd="sts" name="structure"/>
      <OMV name="set"/>
    </OMA>
    <OMV name="set"/>
  </OMA>
</OMOBJ>

mapsto (structure ( set) , set)

Signatures:
sts


[Next: binder] [Previous: error] [Top]

binder

An `OMBIND' object has three parts: a "binder" such as "lambda" or "for all", a (list of) bound variables, and an expression. The use of `binder' in a signature indicates that we are describing something which can only be used as the first child of an OMBIND construct.

Example:
The signature of forall is:
<OMOBJ>
 <OMS name="binder" cd="sts"/>
</OMOBJ>

binder

Signatures:
sts


[Next: attribution] [Previous: structure] [Top]

attribution

An `attribution' object consists of pairs of keys and values. The use of the symbol `attribution' in a signature indicates that the symbol is to be used as a key.

Example:
<OMOBJ>
 <OMS name="attribution" cd="sts"/>
</OMOBJ>

attribution

Signatures:
sts


[Next: Object] [Previous: binder] [Top]

Object

Denotes any OpenMath object.

Example:
The signature for list, to show that list has the signature: Object* -> Object
<OMOBJ>
 <OMA>
  <OMS name="mapsto" cd="sts"/>
   <OMA>
     <OMS name="nary" cd="sts"/>
     <OMS name="Object" cd="sts"/>
   </OMA>
  <OMS name="Object" cd="sts"/>
 </OMA>
</OMOBJ>

mapsto (nary (Object) , Object)

Signatures:
sts


[Next: NumericalValue] [Previous: attribution] [Top]

NumericalValue

Denotes an OpenMath object that is to be thought of as something that represents a numerical value, or a numerical value.

Example:
The generic signature for the function power:
<OMOBJ>
 <OMA>
  <OMS name="mapsto" cd="sts"/>
  <OMS name="NumericalValue" cd="sts"/> 
  <OMS name="NumericalValue" cd="sts"/> 
  <OMS name="NumericalValue" cd="sts"/> 
 </OMA>
</OMOBJ>

mapsto (NumericalValue, NumericalValue, NumericalValue)

Signatures:
sts


[First: type] [Previous: Object] [Top]