Symbol is something such as an object, picture, written word, sound, or particular mark that represents something else by association, resemblance, or convention. What is then someting else?

Can we ground words on a fixed base?

The Symbol Grounding Problem is related to the problem of how words (symbols) get their meanings, and hence to the problem of what meaning itself really is. The problem of meaning is in turn related to the problem of consciousness, or how it is that mental states are meaningful. According to a widely held theory of cognition, “computationalism,” cognition (i.e., thinking) is just a form of computation. But computation in turn is just formal symbol manipulation: symbols are manipulated according to rules that are based on the symbols’ shapes, not their meanings. How are those symbols, e.g., the words in our heads,  connected to the things they refer to?

Conclusion: We cannot understand typical merely by grounding the relevant words (for example Chinese sentences without knowing much about the Chinese langugage and some considering the culture), because understanding sentences  requires some human consiciousness and knowledge about rules connecting the words and some other things. The principles are summarized in the Chine room argument.

Can we ground clauses and their parameters, written in a typical programming language?

Programming languages have a certain semantics each (Java, C++, Pascal etc). Thus syntax for terms are defined in the grammar. However, many languages have features that require a preprocessor for a complete interpretation. Those features include macros, annotations, generics etc. Using a preprocessor those terms can be grounded. No problems.

Understanding influence of program symbols in the corresponding clause is still ambiguous in some situations: polymorphism, virtual operations, unknown symbols for the compiled code etc. However, these ambiquities can be removed by the user (who reads the code), by only selecting one alternative for each ambiquous case.

The Information Ladder: Data, Information, Knowledge

  • DATA:  Understanding symbols of code, and via them meanings of clauses and statements of programming languages leads to the definition of computability of symbols.
  • INFORMATION: By collecing bottom-up data from understanding low level symbols and results from their computations, the user can constructively map that data into a higher abstraction model, information, which typically is a collection of references for a relevant module.
  • KNOWLEDGE and KNOW-HOW: Understanding those mappings, presented in the execution order when needed, makes possible for the user to create knowledge, knowhow, how to make modifications and corrections.

Conclusion: For programming languages we can combine the input of syntax to the output of semantics (certain preconditions), when we have a corresponding parser and model weaver to create a model to represent the code. From that model we can capture numerous “snapshots” that represent various views and sub-models, needed for program understanding.

e cannot understand typical merely by grounding the relevant words (for example Chinese sentences without knowing much about the Chinese langugage and some considering the culture), because unders

The Bridge from Syntax to Pragmatics

We recommend the following understanding process:

  1. Syntax defines program symbols and using grammar terms to axiomatic semantics of the parsed code.
  2. Operational semantics defines behaviour model for the statements of the language. Unfortunately, practicians are not used to read definitions of operational semantics. Denotational semantics is another theory, but it is rather complex for practitioners.
  3. Atomistic semantics is the theory written for Symbolic Analysis (Laitila). It defines behaviour for each term as an automaton.
  4. Pragmatics is a theory to collect data and information to knowhow for maintenance purposes.
  5. Semiotics is the study of sign processes (semiosis), or signification and communication, signs and symbols, having three branches: 1) Semantics: Relation between signs and the things to which they refer; their denotatan, 2) Syntactics: Relations among signs in formal structures, and 3) Pragmatics: Relation between signs and their effects on those (people) who use them.

Some links: