This site is supported by donations to The OEIS Foundation.

Cactus Language • Overview

From OeisWiki
(Redirected from Cactus Language)
Jump to: navigation, search

Author: Jon Awbrey


OverviewPart 1Part 2Part 3ReferencesDocument History


The Cactus Patch

Thus, what looks to us like a sphere of scientific knowledge more accurately should be represented as the inside of a highly irregular and spiky object, like a pincushion or porcupine, with very sharp extensions in certain directions, and virtually no knowledge in immediately adjacent areas.  If our intellectual gaze could shift slightly, it would alter each quill's direction, and suddenly our entire reality would change.

— Herbert J. Bernstein, “Idols of Modern Science”, [HJB, 38]

The following report describes a calculus for representing propositions as sentences, that is, as syntactically defined sequences of signs, and for working with those sentences in light of their semantically defined contents as logical propositions.  In their computational representation the expressions of the calculus parse into a class of graph‑theoretic data structures whose underlying graphs are called painted cacti.

Painted cacti are a specialization of what graph‑theorists refer to as cacti, which are in turn a generalization of what they call trees.  The data structures corresponding to painted cacti have especially nice properties, not only useful in computational terms but interesting from a theoretical standpoint.  The remainder of the present Overview is devoted to motivating the development of the indicated family of formal languages, going under the generic name of Cactus Language.

In order to facilitate the use of propositions as indicator functions it helps to acquire a flexible notation for referring to propositions in that light, for interpreting sentences in a corresponding role, and for negotiating the requirements of mutual sense between the two domains.  If none of the formalisms readily available or in common use meet all the design requirements coming to mind then it is necessary to contemplate the design of a new language especially tailored to the purpose.

In the present application, there is a pressing need to devise a general calculus for composing propositions, computing their values on particular arguments, and inverting their indications to arrive at the sets of things in the universe which are indicated by them.

For computational purposes it is convenient to have a middle ground or an intermediate language for negotiating between the koine of sentences regarded as strings of literal characters and the realm of propositions regarded as objects of logical value, even if that makes it necessary to introduce an artificial medium of exchange between the two domains.

If the necessary computations are to be carried out in an organized fashion, and ultimately or partially by familiar classes of machines, then the strings expressing logical propositions are likely to find themselves parsed into tree‑like data structures at some stage of the game.  As far as their abstract structures as graphs are concerned, there are several species of graph‑theoretic data structures fitting the task in a reasonably effective and efficient way.

In the development of Cactus Language to date the following two species of graphs have been instrumental.

  • Painted And Rooted Cacti (PARCAI).
  • Painted And Rooted Conifers (PARCOI).

It suffices to begin with the first class of data structures, developing their properties and uses in full, leaving discussion of the latter class to a part of the project where their distinctive features are key to developments at that stage.  Partly because the two species are so closely related and partly for the sake of brevity, we'll always use the genus name “PARC” to denote the corresponding cacti.

To provide a computational middle ground between sentences seen as syntactic strings and propositions seen as indicator functions the language designer must not only supply a medium for the expression of propositions but also link the assertion of sentences to a means for inverting the indicator functions, that is, for computing the fibers or inverse images of the propositions.

Given a body of conceivable propositions we need a way to follow the threads of their indications from their object domain to their values for the mind and a way to follow those same threads back again.  Moreover, we need to implement both ways of proceeding in computational form.  Thus we need programs for tracing the clues sentences provide from the universe of their objects to the signs of their values and, in turn, from signs to objects.  Ultimately, we need to render propositions so functional as indicators of sets and so essential for examining the equality of sets as to give a rule for the practical conceivability of sets.  Tackling that task requires us to introduce a number of new definitions and a collection of additional notational devices, to which we now turn.

Depending on whether a formal language is called by the type of sign it enlists or the type of object its signs denote, a cactus language may be called a sentential calculus or a propositional calculus, respectively.

When the syntactic definition of a language is well enough understood the language can begin to acquire a semantic function.  In natural circumstances the syntax and the semantics are likely to be engaged in a process of co‑evolution, whether in ontogeny or in phylogeny, which is to say the two developments tend to form parallel sides of a single bootstrap.  But that is not always the easiest way, at least not at first, to formally comprehend the nature of their action or the power of their interaction.

According to the customary modes of formal reconstruction, a language of the type we are considering is first presented in terms of its syntax, in other words, as a formal language of strings called sentences, and thus amounting to a particular subset of the possible strings which can be formed on a finite alphabet of signs.  A syntactic definition of a specific cactus language which proceeds along purely formal lines is carried out in Cactus Language • Syntax.  After that, the development of the language's more concrete aspects can be seen as a matter of defining the following two functions.

  • The first is a function which takes each sentence of the language into a computational data structure, namely, a generalized tree‑like parse graph called a painted cactus.
  • The second is a function which takes each sentence of the language or its interpolated parse graph into a logical proposition, ending with an indicator function as the object denoted by the sentence.

The discussion of syntax brings up a number of associated issues which need to be clarified before going on.  They may be thought of as questions of style, in other words, the manner of description, grammar, or theory one finds available or chooses as preferable for a given language.  Those issues are discussed in Cactus Language • Stylistics.

There is an aspect of syntax so schematic in its basic character that it can be conveyed by computational data structures, so algorithmic in its uses that it can be automated by routine mechanisms, and so fixed in its nature that its practical exploitation can be served by the usual devices of computation.  Because it involves the transformation of signs it can be recognized as an aspect of semiotics.  Since it can be carried out in abstraction from meaning it is not up to the level of semantics, much less a complete pragmatics, though it does incline to the pragmatic aspects of computation which are auxiliary to and incidental to the human use of language.  That aspect of formal language use may be described as the algorithmics or mechanics of language processing.  A mechanical conversion of cactus languages into their associated data structures is discussed in Cactus Language • Mechanics.

In the usual way of proceeding on formal grounds, meaning is added by giving each grammatical sentence, or each syntactically distinguished string, an interpretation as a logically meaningful sentence, in effect, equipping or providing each abstractly well‑formed sentence with a logical proposition for it to denote.  A semantic interpretation of cactus language is carried out in Cactus Language • Semantics.

Part 1

Cactus Language • Syntax

Grammar 1

Grammar 2

Grammar 3

Grammar 4

Grammar 5

Grammar 6

Part 2

Generalities About Formal Grammars

Part 3

Cactus Language • Stylistics

Cactus Language • Mechanics

Cactus Language • Semantics

Stretching Exercises

References

Document History


OverviewPart 1Part 2Part 3ReferencesDocument History