Sunteți pe pagina 1din 14

1

1
,
Link Math <
by
-ooFrankA. Rosa
Robert B. Helling ..
Ivan Rous .'
,
page 2
AD MAJOREM DEI GLORIAM
"
page 3
Table of Contents
Section 1, "Discourse on Link Math."
A. Introduction
B. Basic Concepts
C. Functions
Section 2, "Link Math Journal."
A. Introduction
B. Journal Entries
Appendix A, "Link Math Definitions."
Appendix B, "Axioms, Theorems & Laws."
Appendix C, "Link Math Pitfalls."
Copyright Chicago, Illinois 1993, Frank A. Rosa, Robert B. Helling, Ivan Rous.
All rights reserved.
page 4
Section 1
Discourse on Link Math
INTRODUCTION
Link Math is a new way of looking at an old subject. Mathematics has always been
driven by a mixture of need for means and methods for dealing with daily problems and
the need of the mathematician to show a creative insight or to invent some cleverness
not associated with any practicalities.
Link Math is both practical and pretty. Like ordinary mathematics, it deals with
practical solutions to real world problems, but it is not encumbered with cultura\. linguistic
and academic bias. In short, Link Math is a new system which is in harmony with today's
language, culture and applications.
Link Math is a new way to look at calculated relationships that does not attack or
attempt to repudiate or do away with what was, rather it sheds light on and eases
absorption of both old and new mathematical concepts.
BASIC CONCEPTS
Current teaching of numbers tells us that there are cardinal and ordinal numbers.
Ordinal numbers usually are ended in ''th'' (such as fourth, fifth, sixth etc.), and indicate
order, rather than quantiity.
Like cardinal mathematics, which starts on a directed number line, Link Math has a
similar basic domain, but this consists of the directed linked list rather than a number line.
No zero, no fractions or infinities are allowed in Link Math.
The directed linked list is a directed, connected list of elements. An example of the
directed linked list might be a train of linked railroad cars as elements ("everybody move
to the fourth car!" a conductor might say.)
The element of the linked list is like the individual pieces of the chain or train or
descendancy. Each element is linked to the next or previous element in an axiomatic
(mechanism not important or assumed) way and has an aggregate (a cluster) of
attributes.
Attributes are a way of describing, in an ordinal way, some characteristic of each of
the elements in the list. An example of an ordinal charactericstic might be the attribute
used to link people by height (shortest taller, tallest) by looks (pretty, prettier, prettiest).
So, any orderable characteristic can be an attribute. No characteristics are admitted
which cannot be made to fit such ordering, except that does or doesn't belong to a sort,
is an acceptable attribute.
Once the linked list (with its elements linked to next and previous, and again, each
element with its attributec:luster) is understood, certain natural operations on the list
present themselves. If we refer back to the example of the chain or train, we can first say
that an element may be created or destroyed. Though this might seem straightforward,
it is necessary to know what is first and what is last. We define first as that element which
has no previous and last as that element which has no next. The directed linked list is
always directed, meaning that there is a progression from first to last. The first operation
on the linked list is the operation called create/destroy.
Operations on a linked list can be considered like a train entering a switching yard.
The train entering Is our starting linked list the switching yard operations on the train is
page 5
what Unk Math does, and the new, rearranged train leaving is the output of the
switching function. Much more about functions later.
An obvious, but intellectually tough operation is unlinking and re-linking elements. For
reasons of rigor, we only allow swapping of two adjacent elements to complete, with
create/destroy, our operations on the links of the elements.
Just as a conductor might walk along a train, there is an operation called traverse.
This is used to get to a known ordinal position on the list.
Suppose we wanted to make a list of folks by weight. If we had a balance beam,
we could list the people by using concepts of heavier, equal or Ighter. Or, if we wished
to list a group of boys by strength in weightlifting, we could create a list where no one is
stronger than George, who is the strongest, then AI who is not as ~ t r o n g as George, but
stronger than Joe and so on. We generalize the balance beam or the barbells to say
that Unk Math has an axiomatic operation called the ordinal compare, which results in
equal, greater than, or less than results (or just not measurable).
To reiterate, the directed linked list is what Unk Math operations operate on. We can
change links (create/destroy, swap), we can traverse and we can compare. The ordinal
numbers used are, in math terms, only positive integer ordinals.
FUNCTIONS
The above listed operations can be done singly or in combination to create a
procedure or function. We prefer to refer to these operation conbinations (A recipe in
cooking, instructions for assembling toys, or the tablature for performing a musical piece
are all procedures), as functions. The reason for this is there is a bit of non procedural
notion to functions that serves us well. The fact that functions have both domain and
range. An example is the function of a childs' age to height. To be sure, there is some
procedure at work (genes, nutrition, environment produce growth much like a recipe
might produce a cake) but there is a clear start and end and a plausible range.
Whatever functions we string together from our operations, there are a few rules.
o Functions may not change themselves.
o The only permitted output of a function is a directed linked list.
o Functions may not duplicate themselves.
o Functions may not produce duplicate elements in their output lists.
o There is a function execution quantum.
The function execution quantum is a concept that says that a function starts and
ends in one frame. It is like a digital clickover, a ratchet stop or a completed step. This
means that there is no analog reduction, no fraction, no infinite loops.
Several functions may operate on a directed linked list within the same execution
quantum. A given n,Jnction can only operate in one attribute domain while several
functions may operate 9n one drected linked list (producing output in serveral attribute
planes), each function's output must not cross plane boundaries. For example, we
cannot sort a list of folks by both smelliness and height.
The classes of functions which can be constructed are not limited to, but generally
fall within the categories of sorts (sorts are either ranking functions or mechanical
rearrangements such as reverses), data structure generators, or mapping functions such
as complex traverses or tree walkers.
An ordinal arithmetic for location pointer management is inherent. Cardinalities are
permitted only as dictated by attribute evaluation constraints.
The ordinal increment and decrement of the traverse's position pointer implies
development along the lines of JUMPS, ORDINAL LOOPS, ORDINAL OFFSETS, ORDINAL
RETURNS and ordinal substing operations. A modulus operation such as every third or
thity third element will serve to isolate in short hand form, without endless iterations. These
page 6
will be detailed as axioms of ordinal arithmetic. Application and implementation
considerations dictate an ordinallAT" to indicate where on the list.
APPLICATIONS
o Teaching arithmetic concepts.
o Clarifying computer science concepts.
o Data base management.
o Pure mathematics.
Section 2
Link Math Journal
INTRODUCTION
The Link Math Joumal is the development notes of Frank A. Rosa, Robert B. Helling
and Ivan Rous. The notes also include questions, suggestions and comments from
subscribers, along with critique and expositions from developers concerning current
issues within Link Math.
JOURNAL ENTRIES
(Entries for the Link Math Journal shall be published in this section.)
.,
page 8
Head Element
Tail Element
Attribute Next
/
Previous Attribute
Cluster Element
,
Element Cluster
Figure 1.2
Directed Linked List
Head Tail
Element Element Element Element
Element Element
Figure 1.3
For the sake of brevity in Link Math vocabulary, the term "next element" is
interchangable with "next", "previous element" is interchangable with "previous", "head
element" is interchangable with "head", and ''tail element" is interchangable with ''tail''.
The following definitions apply to the relationships between elements and lists.
Definition 6.0 Each element has an ordinal count associated with it. That count
represents its position in a list.
Definition 7.0 An attribute is a cardinal value measurable only to the extent of
compare operations.
Definition 8.0 The attribute cluster of an element contains an aggregate of attributes.
Definition 9.0 The Identity List is a list with all the elements of another list in the same
order.
The following definition explains all of the operations that can be performed on or
using a list.
Definition 10.0 Primitive operations on a directed linked list are the following:
Create: Adds an element to the tail of the list effectively making the added
element the new tail element. The added element's attribute cluster is
assumed to be inherent.
Destroy: Removes an element from the tail of a list.
Swap: Transpose the position of an element with its next element.
Traverse: Change the known position pOinter to an element's previous or next.
page 9
Compare: An ordinal evaluator that determines if an element is less than ), greater
than greater than (, or equal to (=) another element in a list, or is not
measurable.
The following definitions apply to the constructs called functions that perform
operations on directed linked lists. Functions provide the means that allow Link Math to
ordinally rearrange and create output lists from input lists.
. '.
page 10
Definition 11.0 Functions are sequential combinations of primitive operators. The output
of each operator in a function is the input to the next sequential operator in the function.
Some useful functions are listed below:
Sorts: These functions order the directed linked list according to attribute
planes.
Data structure Functions of this type reduce a linked list problem to a specific data
structure
Generators: (Le. Trees, Multidimensional arrays, Relational databases, Directed
graphs).
Data structure This type of function uses the directed link list as a map (Le. lexical
map creators: scanners, Control functions, PCl's, Finite State Automata (FSA) ).
Definition 12.0 The execution quantum of a function occurs between the point when the
function starts execution up to the point when the function ends execution. While the
function is executing its primitives, it is said to be in its "execution quantum."
Definition 13.0 A sublist is a contiguous segment of a list.
Definition 14.0 The output from a function is a directed linked list. This list is called the
output list.
Definition 15.0 An Attribute Plane defines the set of attributes that can be compared. For
a given attribute plane, each element in the list has one attribute.
A Directed Linked List as
Visualized in its Attribute Space
Links on ple.nes after
a sort on that
plane
Directed Linked List
Figure 1.4
page 11
Figure 1.4 shows the directed linked list being intersected by three attribute planes. Even
though the list is intersected by multiple attribute planes, the links on each plane are different
because each of the planes is performing operations on a dfferent element attribute from each
element's attribute cluster.
page 12
Appendix 8
Axioms, Theorems &Laws
In memory of David J. J.lverson
In order for Link Math functions to perform operations on directed linked lists, a set of
fundamental rules must be applied. These rules are presented as axioms, corollaries and
laws, and all other theorems and proofs will be based on these inherent rules of Link
Math.
Axiom 1.0 More than one function can execute on a given input directed linked list.
Axiom 2.0 A given function executes on no more than one attribute plane from an
element's attribute cluster for a given execution quantum.
With Axiom 2.0 defining the domain of a function during execution, the introduction
of the first theorem can be made.
Theorem 1.0 The compare primitive operator within a function performs compare
operations between two elements in a directed linked list on exactly one attribute from
each element's attribute cluster.
Proof:
By Axiom 2.0 which states that functions execute on no more than one
attribute plane from an elements attribute cluster for a given execution
quantum, and Definition 11.0 which states that functions are sequential
combinations of primitives, compare being one of the primitives, and from
Definition 15.0 which states that for a given attribute plane, each element
in the list has one attribute, then it can be concluded that a function's
compare operations between two elements in a list perform on no more
that one attrubute from each element's attribute cluster.
Axiom 3.0 Every function operating on an input directed linked list produces a distinct
output directed linked list.
Axiom 4.0 A list is always a sublist of itself.
Axiom 4.1 A sub/ist can bfJ the Empty Ust.
Axiom 5.0 For each element in a directed linked list, and for all executing functions
operating on the directed linked list, an element's attributes cannot be created,
removed, or changed within a function's given execution quantum.
The axiom states that an element in a directed linked list cannot have its attribute
cluster altered during the execution quantum of any function operating on the directed
linked list. An example would be if a function were sorting a directed linked list
according to the slowest to fastest automobiles, one of the automobiles is not allowd to
page 13
aquire a supercharger until the sort function's execution quantum was complete. Then
and only then can the speed of the automobile be changed.
Theorem 2.0 An element in an output directed linked list of a function can have
one and only one ordinal position.
Proof:
If an element has more than one ordinal position in the output directed
linked list. it is contrary to Definition 5.0 stating that elements in a directed
linked list have one previous element pointer and one next element
pointer (except for the head and tail elements) and with Axiom 2.0 stating
that each element has a unique ordinal position within a directed linked
list along a particular attribute plane. Thus, an element in an output
directed linked list of a function can have one and only one ordinal
position
At this point we need to state some laws about primitive operators and the functions
that are comprised of sequential combinations of primitive operatiors. The laws concem
elements and the relationships of element attributes to each other.
Associative law If element A is greater than element B. and element Bis greater than
element C, then element A is greater than element C.
Note:
The Associative Law works in any type of comparison such as "if A is
prettier than B, and Bis prettier than C, then A is prettier than C," or "if A is
lighter in weight than B, and B is lighter in weight that C, then A is lighter in
weight than C."
Eaualitv law If two elements' attributes in a list being compared in the same attribute
plane are equal then they share the same relationship to all other elements over the list.
Example:
If there exists a list L with two elements X and Y that are equal, then for all
relationships between elements X and En and elements Y and En in the list
L when X < En' Y < En, when X =En' Y =En and when X > En' Y > En'
The Equality Law'is very important because it puts the exact definition of the
relationship two elements that are equal have to both themselves and to the rest of the
list.
Creative Law If an element is created and placed at the tail of a list" the new element
does not change the relationship between any other elements' attributes in the list.
Example:
Suppose that an element A is less than element B, and a new element C is
created. The relationship between element A and element B does not
change because even if C is less than Band greater than A the element
A will remain less than element B. The Creative Law conforms to the
Associative Law.
The Creative Law also leads to a very powerful theorem.
page 14
Destructive Law If an element is destroyed in a list, the relationships between any other
elements' attributes does not change.
Note:
The Destructive Law follows as the inverse of the Creative Law because if
an element A is less than element B and element C is less than element B,
the destruction of element C does not change the relationship between
elements A and B.
In order to maintain the consistency of an element's attribute cluster during a
function's execution quantum the following theorems put a limit on a what functions can
do to elements or to themselves.
Theorem 3.0 The Destroy primitive, or a function containing the Destory primitive,
cannot operate on the Empty Ust.
Proof:
By Definition 3.0 the Empty Ust contains no tail, and by Defnition 10.0 the
destory primitive removes an element from the tail of a list. It would be
impossible to remove the tail from the Empty Ust, because it doesn't have
one, thus the Destory operation is invalid for the Empty Ust.
Theorem 4.0 Functions may not alter element attributes.
Proof:
Since Definition 11.0 states that functions are composed of sequential
combinations of primitive operations, and since primitive operations do
not alter element attributes, then functions cannot alter element
attributes.
Theorem 4.1 Functions may not alter themselves or other functions.
Proof:
This proof is similar to the proof for Theorem 4.0 in the sense that by
Definition 11.0 functions are composed of sequential combinations of
primitive operations, none of which create, destroy, or modify functions.
Theorems 4.0 and 4J are very powerful because they help support Axiom 1.0, which
states that multiple functions can operate on the same input directed linked list, and
Axiom 5.0, which states that elements cannot have attributes altered during function
execution quantums. If functions were allowed to modify themselves, other functions, or
the input lists, then would produce indeterminate outputs lists.
Axiom 6.0 Element attributes can only change between function execution quantums,
and can change only due to inherent nature.
Axiom 6.0 defines when attributes can change, because as we know attributes
cannot be altered by prmitive operations or the functions comprised of the primitive
operations. The way that the attributes change Is by the nature of the attribute itself. An
example would be the height of a child in relation to the other children around it. As the
child and its peers grow older, their relationship to each other in height will change
without intervention of primitives or functions.
page 16
Appendix C
Link Math Pitfalls
In considering the concepts offered above, the unwary reader may expect to encounter
a number of morasses. Since the road is well familiar, a few caveats might save much
skull pain.
The idea that there are either all inclusive linked lists or that there may be some infinite
sea of elements for the add primitive, invariably leads to conceptual error. If we look at
only that pre-selected menu of possibilities which reasonable people might assemble for
mensuration
or evaluation then we are on safe ground. Just as in cardinal mathematics, the
unordered collection of items which is to be measured or counted is assumed to have
been subjected to a seperation from all other unrelated items, Unk Math assumes that
the input list is a gathering of such elements as have been pre-selected for a reasonable
fit.
Another common pitfall stems from the assumption that cross linkages can somehow
occur. This, as well as the cousin concept of interdependent functions, sublists which
have a separate existence and allow copies, yield intractable infinities, and are not
allowed.
Analog interpretations, time flows and execution time concerns also lead to false paths.
All execution is meant to be viewed as a virtual process which concludes instantly.
Loops, other than to the nth iteration, are to be used only insofar as they guarantee an
ending.
There is no one to one correspondence in either cardinal arithmetic, between each
number on the number line and each object in the world, nor between each element of
a list to all listable or linkable elements.
The coming into existence of any attributes, their changes or involement with any of the
primitives or functions is a pitfall. Attributes are assumed to be inherent and link math has
no operators to deal with them.
Multi dimensional operations are not allowed. Though seductive arguments exist for null
or marker elements and omni dimensional operations, they are not allowed.
. ~

S-ar putea să vă placă și