Theme One Program • Exposition

Skip to first unread message

Jon Awbrey

Jun 8, 2018, 11:40:21 AM6/8/18
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,
Peirce, 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
                    sign: char;
                    as, up, on, by: idea;
                    code: numb

• 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:

     ^ ^     ^
    as\|up on|
       o-----o by
       | 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:
facebook page:

Jon Awbrey

Jun 14, 2018, 7:40:34 AM6/14/18
to Ontolog Forum @ GG
Theme One Exposition • 2


The previous post described the elementary data structure
used to represent nodes of graphs in the Theme One program.
This post describes the specific family of graphs employed
by the program.

Figure 1 shows a typical example of a “painted and rooted cactus”.

a | d
o---o o
\ / b c |
o----o----o b e
\ /
\ /
\ /
\ /
@ a c e

Figure 1. Painted And Rooted Cactus

The graph itself is a mathematical object and does not inhabit the page
or other medium before our eyes, and it must not be confused with any
picture or other representation of it, anymore than we’d want someone
to confuse us with a picture of ourselves, but it’s a fair enough picture,
once we understand the conventions of representation involved.

Let V(G) be the set of nodes in a graph G and let L be a set of identifiers.
We often find ourselves in situations where we have to consider many different
ways of associating the nodes of G with the identifiers in L. Various manners
of associating nodes with identifiers have been given conventional names by
different schools of graph theorists. I will give one way of describing
a few of the most common patterns of association.

• A graph is “painted” if there is a relation between its node set
and a set of identifiers, in which case the relation is called
a painting and the identifiers are called paints.

• A graph is “colored” if there is a function from its node set
to a set of identifiers, in which case the function is called
a coloring and the identifiers are called colors.

• A graph is “labeled” if there is a one-to-one mapping between its node set
and a set of identifiers, in which case the mapping is called a labeling
and the identifiers are called labels.

• A graph is said to be “rooted” if it has a unique distinguished node,
in which case the distinguished node is called the root of the graph.
The graph in Figure 1 has a root node marked by the “at” sign or
amphora symbol “@”.

The graph in Figure 1 has eight nodes plus the five paints in the set
{a, b, c, d, e}. The painting of nodes is indicated by drawing the
paints of each node next to the node they paint. Observe that some
nodes may be painted with an empty set of paints.

The structure of a painted and rooted cactus can be encoded in the form
of a character string called a “painted and rooted cactus expression”.
For the remainder of this discussion the terms cactus and cactus expression
will be used to mean the painted and rooted varieties. A cactus expression
is formed on an alphabet consisting of the relevant set of identifiers,
the paints, together with three punctuation marks: the left parenthesis,
the comma, and the right parenthesis.
Reply all
Reply to author
0 new messages