axiom-developer
[Top][All Lists]

## [Axiom-developer] [Axiom Language] Embedding Axiom categories in Axiom d

 From: Bill Page Subject: [Axiom-developer] [Axiom Language] Embedding Axiom categories in Axiom domains. Date: Thu, 29 Sep 2005 12:40:36 -0500

Changes http://wiki.axiom-developer.org/AxiomLanguage/diff
--

??changed:
-calling 1' a fraction just because of the way it was
calling "1" a fraction just because of the way it was

??changed:
-The division of 1+2 by 3 takes place in Fraction Integer
The division of 1+2 by 3 takes place in 'Fraction Integer'

??changed:
-The Name of each domain is used to refer to the collection
-of its instances. For example, Integer denotes "the integers",
-Float denotes "the floating point numbers" etc. For example::
The 'Name' of each domain is used to refer to the collection
of its instances. For example, 'Integer' denotes "the integers",
'Float' denotes "the floating point numbers" etc. For example::

??changed:
-Thus the type of Fraction Integer is 'QuotientFieldCategory
-Integer with canonical'. The axiom 'canonical' means that
-equal elements of the domain are in fact identical.
-
-We also say that the domain Fraction(s) *extends* the domain
-LocalAlgebera(S,S,S). Domains can extend each other in a
Thus the type of 'Fraction Integer' is
'QuotientFieldCategory Integer with canonical'.
The axiom 'canonical' means that equal elements of the
domain are in fact identical.

We also say that the domain 'Fraction(S)' *extends* the domain
'LocalAlgebera(S,S,S)'. Domains can extend each other in a

??changed:
-Fractions are represented as the domain Record(num:S, den:S).
Fractions are represented as the domain 'Record(num:S, den:S)'.

??changed:
-Category. The category Name is used to denote the collection
-of domains of that type. For example, category Ring denotes
'Category'. The category 'Name' is used to denote the collection
of domains of that type. For example, category 'Ring' denotes

??changed:
-SetCategory, the class of algebraic sets. The notions of
'SetCategory', the class of algebraic sets. The notions of

??changed:
-sets (domains of category OrderedSet) and rings are also
sets (domains of category 'OrderedSet') and rings are also

Confusion of Type and Domain

The most basic category is 'Type'. It denotes the collection
of all domains and subdomains. Note carefully that 'Type' does
not denote the class of all types! The type of all categories
is 'Category'. The type of 'Type' itself is undefined. For
example: the domain List is able to build "lists of elements
from domain D" for arbitrary D simply by requiring that D
belong to category 'Type'.

Another example.  Enter the type 'Polynomial (Integer)' as an
expression to Axiom. This looks much like a function call
as well. It is! The result is stated to be of type 'Domain',
which denotes the collection of all domains.

\begin{axiom}
Polynomial(Integer)
\end{axiom}

But note well that 'Domain' is a domain but 'Type' is a
category. !!!?

Ref: Axoim Book "Chapter 2 Using Types and Modes".

??changed:
-as type Tuple(Domain).
as type 'Tuple(Domain)'.

--
`