Theme One Program • Exposition

Skip to first unread message

Jon Awbrey

Jun 15, 2022, 9:30:32 AMJun 15
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Exposition 1


Theme One is a program for building and transforming a particular species
of graph-theoretic data structures, forms designed to support a variety of
fundamental learning and reasoning tasks.

The program evolved over the course of an exploration into the integration of
contrasting types of activities involved in learning and reasoning, especially
the types of algorithms and data structures capable of supporting all sorts of
inquiry processes, from everyday problem solving to scientific investigation.

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 reasoning.

We begin by describing the class of graph-theoretic data structures
used by the program, as determined by their local and 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-theoretic data structures.
In their abstract form these structures are closely related to the
graphs that are called “cacti” and “conifers” in graph theory,
so we'll generally refer to them under those names.

The graph-theoretic data structures used by the program are built up from
a basic data structure called an “idea-form flag”. That structure is defined
as a pair of Pascal data types by means of the following specifications.

Box 1. Type Idea = ^Form

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.

Box 2. Idea^Form Node

When it is necessary to fill in more detail, the following schematic pattern can be used.

Box 3. Idea^Form Flag

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-theoretic 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 Exposition Type Idea = ^Form.png
Theme Exposition Idea^Form Node.png
Theme Exposition Idea^Form Flag.png

Jon Awbrey

Jun 16, 2022, 11:45:13 AMJun 16
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Exposition 2
Re: Theme One Program • Exposition 1


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”.

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 may 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.


Theme Exposition Painted And Rooted Cactus Display.png

Jon Awbrey

Jun 18, 2022, 2:00:19 PMJun 18
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Exposition 3


My earliest experiments coding logical graphs as dynamic “pointer”
data structures taught me conceptual and computational efficiencies
of a critical sort could be achieved by generalizing their abstract
graphs from trees to the variety graph theorists know as “cacti”.
The genesis of that generalization is a tale worth telling another
time, but for now it's best to jump right in and proceed by way of
generic examples.

Figure 1 shows a typical example of a painted and rooted cactus.
Figure 2 shows a way to visualize the correspondence between
cactus graphs and cactus strings, demonstrated on the cactus
from Figure 1. By way of convenient terminology, the polygons
of a cactus graph are called its “lobes”. An edge not part of
a larger polygon is called a “2-gon” or a “bi-gon”. A terminal
bi-gon is called a “spike”.

Figure 2. Cactus Graph and Cactus Expression

The correspondence between a cactus graph and a cactus string is
obtained by an operation called “traversing” the graph in question.

• One traverses a cactus graph by beginning at the left hand side
of the root node, reading off the list of paints one encounters
at that point. Since the order of elements at any node is not
significant, one may start the cactus string with that list of
paints or save them for the end. We have done the latter in
this case.

• One continues by climbing up the left hand side of the leftmost lobe,
marking the ascent by means of a left parenthesis, traversing whatever
cactus one happens to reach at the first node above the root, that done,
proceeding from left to right along the top side of the lobe, marking each
interlobal span by means of a comma, traversing each cactus in turn one meets
along the way, on completing the last of them climbing down the right hand side
of the lobe, marking the descent by means of a right parenthesis, then traversing
each cactus in turn, in left to right order, that is incident with the root node.

The string of letters, parentheses, and commas one obtains by this procedure
is called the “traversal string” of the graph, in this case, a “cactus string”.


Theme Exposition Painted And Rooted Cactus Display.png
Theme Exposition Cactus Graph and Cactus Expression.png

Jon Awbrey

Jun 22, 2022, 10:15:19 AM (11 days ago) Jun 22
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Exposition 4


It is possible to write a program that parses cactus expressions
into reasonable facsimiles of cactus graphs as pointer structures
in computer memory, making edges correspond to addresses and nodes
correspond to records. I did just that in the early forerunners of
the present program, but it turned out to be a more robust strategy
in the long run, despite the need for additional nodes at the outset,
to implement a more articulate but more indirect parsing algorithm,
one in which the punctuation marks are not just tacitly converted
to addresses in passing, but instead recorded as nodes in roughly
the same way as the ordinary identifiers, or “paints”.

Figure 3 illustrates the type of parsing paradigm used by the program,
showing the pointer graph obtained by parsing the cactus expression in
Figure 2. A traversal of this graph naturally reconstructs the cactus
string that parses into it.
Figure 3. Parse Graph and Traverse String

The pointer graph in Figure 3, namely, the parse graph of a cactus
expression, is the sort of thing we'll probably not be able to resist
calling a “cactus graph”, for all the looseness of that manner of speaking,
but we should keep in mind its level of abstraction lies a step further in
the direction of a concrete implementation than the last thing we called by
that name. While we have them before our mind's eyes, there are several other
distinctive features of cactus parse graphs we ought to notice before moving on.

In terms of idea-form structures, a cactus parse graph begins with a root idea
pointing into a “by”‑cycle of forms, each of whose “sign” fields bears either
a “paint”, in other words, a direct or indirect identifier reference, or an
opening left parenthesis indicating a link to a subtended lobe of the cactus.

A lobe springs from a form whose “sign” field bears a left parenthesis.
That stem form has an “on” idea pointing into a “by”‑cycle of forms,
exactly one of which has a “sign” field bearing a right parenthesis.
That last form has an “on” idea pointing back to the form bearing
the initial left parenthesis.

In the case of a lobe, aside from the single form bearing the closing
right parenthesis, the “by”‑cycle of a lobe may list any number of forms,
each of whose “sign” fields bears either a comma, a paint, or an opening
left parenthesis signifying a link to a more deeply subtended lobe.

Just to draw out one of the implications of this characterization and to
stress the point of it, the root node can be painted and bear many lobes,
but it cannot be segmented, that is, the “by”‑cycle corresponding to the
root node can bear no commas.


Theme Exposition Cactus Graph and Cactus Expression.png
Theme Exposition Parse Graph and Traverse String.png

Jon Awbrey

Jun 23, 2022, 12:30:25 PM (10 days ago) Jun 23
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Exposition 5


Lexical, Literal, Logical

Theme One puts cactus graphs to work in three distinct but related ways,
called their “lexical”, “literal”, and “logical” uses. Those three modes
of operation employ three distinct but overlapping subsets of the broader
species of cacti. Accordingly we find ourselves working with graphs, files,
and expressions of lexical, literal, and logical types, depending on the task
at hand.

The logical class of cacti is the broadest, encompassing the whole species
described above, of which we have already seen a typical example in its
several avatars as abstract graph, pointer data structure, and string
of characters suitable for storage in a text file.

Being a “logical cactus” is not just a matter of syntactic form —
it means being subject to meaningful interpretations as a sign of
a logical proposition. To enter the logical arena cactus expressions
must express something, a proposition true or false of something.

Fully addressing the logical, interpretive, semantic aspect of cactus graphs
normally requires a mind-boggling mass of preliminary work on the details of
their syntactic structure. Practical, pragmatic, and especially computational
considerations will eventually make that unavoidable. For the sake of the
present discussion, however, let’s put a pin in it and fast forward to the
logical substance.



Jon Awbrey

Jun 24, 2022, 11:10:35 AM (9 days ago) Jun 24
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Discussion 7

Re: Ontolog Forum
::: Alex Shkotin

As we both like digraphs and looking at your way of rendering, let me
share my lazy way of using Graphviz ( ) on one of
the last pictures produced ( ).

This is a picture of a derivation tree (aka AST) for the text of four
statements of context-free grammar of some kind. It is important that
this is a digraph with ordered children, and nodes have some attributes.
In your case attributes are “sign”, “code”. In my case attributes are:

* node id,
* nonterminal,
** for syntactic nonterminal: rule id used for derivation,
** for lexical nonterminal: value taken from text.

Dear Alex,

Many thanks, the Graphviz suite looks very nice and I will
spend some time looking through the docs. I kept a few samples
of my old ASCII graphics, mostly from a sense of nostalgia, but
I've reached a point in reworking my Theme One Exposition where
I need to upgrade the graphics. My original aim was to have the
program display its own visuals, but it doesn't look like I'll
be the one doing that. Visualizing proofs requires animation —
I used to have an app for that bundled with CorelDraw but it
quit working in a previous platform change and I haven't gotten
around to hunting up a new one. At any rate, there's a sampler
of animated proofs in logical graphs on the following page.

* Proof Animations
( )



Jon Awbrey

Jun 27, 2022, 3:45:24 PM (6 days ago) Jun 27
to Cybernetic Communications, Laws of Form, Ontolog Forum, Structural Modeling, SysSciWG
Cf: Theme One Program • Discussion 8

Re: Ontolog Forum
::: Alex Shkotin

Re: Theme One Program • Exposition 4
Re: Logical Graphs • Animated Proofs

The animation is mesmerizing: I would watch and watch. But without
the pause, next frame, and playback speed settings, it's just a work
of art that calls to see it step by step.

And on page [1]
( )
you start with the double negation theorem.

Have a look at a few of my comments as a reader, and only on the
graph topic taken separately. <...>

Dear Alex,

Thanks for viewing the animations and taking the time to work through that
first proof. Clearly a lot could be done to improve the production values —
what you see is what I got with whatever app I had umpteen years ago.

For the time being I'm focusing on the implementation layer of the
Theme One Program, which combines a learning component and a reasoning
component. The first implements a two‑level sequence learner and the
second implements a propositional calculator based on a variant of
Peirce's logical graphs. (I meant to say more about the learning
function this time around but I'm still working up to tackling that.)

To address your comments and questions we'll need to step back for a moment
to a more abstract, implementation-independent treatment of logical graphs.
There's a number of resources along those lines linked on the following
Survey page.

Survey of Animated Logical Graphs

The blog post “Logical Graphs • Formal Development”
( )
gives a quick but systematic account of the formal system
I use throughout. The OEIS wiki article “Logical Graphs”
( ) gives a more
detailed development.

Here's an excerpt from the above discussions, giving the four axioms
or “initials” which serve as graphical transformation rules, in effect,
the equational inference rules used to generate proofs and establish
theorems or “consequences”.


The formal system of logical graphs is defined by a foursome of formal equations,
called “initials” when regarded purely formally, in abstraction from potential
interpretations, and called “axioms” when interpreted as logical equivalences.
There are two “arithmetic initials” and two “algebraic initials”, as shown below.

Arithmetic Initials

Axiom I₁

Axiom I₂

Algebraic Initials

Axiom J₁

Axiom J₂

The statement of the Double Negation Theorem is shown below.

C1. Double Negation Theorem

The first theorem goes under the names of Consequence 1 (C₁),
the double negation theorem (DNT), or Reflection.

Double Negation Theorem

The following proof is adapted from the one given by George Spencer Brown
in his book Laws of Form and credited to two of his students, John Dawes
and D.A. Utting.

Double Negation Theorem • Proof

That should fill in enough background to get started on your questions …


Axiom I1.png
Axiom I2.png
Axiom J1.png
Axiom J2.png
Double Negation 3.0.png
Double Negation Proof 3.0.png
Reply all
Reply to author
0 new messages