Theme One Exposition • 1
It looks like the right moment to go back and pick up the first parts
of the Theme One Program Exposition I shared with several Ontology,
and Systems related groups a decade and a half ago.
Note. I'll eventually get around to redoing the ascii graphics as jpegs,
but for now see the blog post linked above for better formatted versions.
Theme One is a program for building and transforming a particular species
of graph-theoretical data structures in memory, structures that have been
designed to support a variety of fundamental learning and reasoning tasks.
The program was developed as a part of an exploration into the implementation
and integration of different types of learning and reasoning procedures, concerned
especially with the types of algorithms and data structures that might work in support
of inquiry. In its current state, Theme One integrates over a common data structure
fundamental algorithms for one type of inductive learning and one type of deductive
The first order of business is to describe the general class of graph-theoretical
data structures that are used by the program, as they are determined in their local
and their global aspects.
It will be the usual practice to shift around and to view these graphs at many
different levels of detail, from their abstract definition to their concrete
implementation, and many points in between.
The main work of the Theme One program is achieved by building and transforming
a single species of graph-theoretical data structures. In their abstract form
these structures are most closely related to the graphs that are called “cacti”
and “conifers” in graph theory, so I will generally refer to them under those
The graph-theoretical data structures used by the program are built up from
a basic data structure called an “idea-form flag”. This structure is defined
as a pair of Pascal data types by means of the following specifications:
type idea = ^form;
form = record
as, up, on, by: idea;
• An “idea” is a pointer to a “form”.
• A “form” is a record consisting of:
• A “sign” of type “char”;
• Four pointers, “as”, “up”, “on”, “by”, of type “idea”;
• A “code” of type “numb”, that is, an integer in [0, max integer].
Represented in terms of digraphs, or directed graphs, the combination of
an idea pointer and a form record is most easily pictured as an arc, or
directed edge, leading to a node that is labeled with the other data,
in this case, a letter and a number.
At the roughest but quickest level of detail, an idea of a form can be drawn like this:
o a 1
When it is necessary to fill in more detail, the following schematic pattern can be used:
^ ^ ^
| a 1 |--->
The idea-form type definition determines the local structure of the whole host
of graphs used by the program, including a motley array of ephemeral buffers,
temporary scratch lists, and other graph-theoretical data structures used for
their transient utilities at specific points in the program.
I will put off discussing these more incidental graph structures until the
points where they actually arise, focusing here on the particular varieties
and the specific variants of cactoid graphs that constitute the main formal
media of the program's operation.
• Theme One Program • Documentation
• Theme One Program • Exposition
• Theme One Program • User Guide
inquiry into inquiry: https://inquiryintoinquiry.com/
facebook page: https://www.facebook.com/JonnyCache