Introduction
What is this?
This is a preliminary version of Part I of an on-line
text on universal algebra with a strong emphasis on applications and examples
from computer science. The examples are provided in an interactive
framework employing special built-in calculators.
The text is offered free-of-charge by Wagner Mathematics.
Comments and suggestions are welcomed (wagner@highlands.com). Please
do not copy portions of the text or programs without giving credit to Wagner
Mathematics.
Part I of the text introduces the following basic
algebraic concepts
-
signatures
-
algebras
-
homomorphisms
-
initial algebras
-
free algebras
and illustrates them with numerous interactive applications
to computer science topics including
-
inductive definitions
-
notational conversions for expressions (from prefix
to infix, postfix, Polish, and Cambridge notation)
-
substitution of terms within terms
-
context-free grammars
-
the syntax (both abstract and concrete) of a programming
language, LANG1
-
the semantics of LANG1 via a homomorphism
-
the compilation of LANG1 onto a simple stack
machine via a homomorphism
Navigating the Text
The text can be navigated using the table
of contents, To bring up the Table
of Contents click on the the button
labled "T.O.C." in the upper frame. Some chapters contain subsections
which are accessed through links. These subsections are included
in the table of contents, and are followed by an asterix.
To bring up a UA-calculator click
on the button labled "UA-Calculator" in the
upper frame. The clicking of the button will cause an "alert box"
to appear -- you must click the "OK" button in that alert box
to get the calculator and text to appear (this awkward two step process
seems to be necessary to get around some peculiarities in JavaScript or
lacks in my understanding of JavaScript).
The calculator can be removed by
reclicking the "UA-Calculator button).
To bring up an index of definitions click
on the button labled "Index" in the upper frame and then click on the name
of the item for you wish to see the definition.