« Understanding and Expressing Logical Systems | Main | Accounting Matrix-based Model Prototype in XBRL »

Brainstorming How to Describe Semantics of a Flexible Yet Finite Logical System

What I am trying to do is explain how a flexible yet finite logical system is represented in machine-readable form such that the rules-based (i.e. not patterns-based) finite logical system is sound, complete, and effective in terms of achieving some specific objective.  I am trying to describe a rules-based system (i.e. expert system) as contrast to a patterns-based system (i.e. machine learning). The system must be consistent, valid, complete, sound, and fully expressed.  The system must have the appropriate precision and coverage.

This description must be understandable by business professionals and by information technology professionals but reconcilable to the work of knowledge engineering professionals.

Here are the inputs:

Input #1: Definition of Ontology and Ontology-like Thing

The following is restated from my enhanced description of an ontology-like thing.

An ontology or ontology-like thing is a model that specifies a rich and flexible description of the important

  • terms: (terminology, concepts, nomenclature; primitive terms, functional terms);
  • relations: (relationships among and between concepts and individuals; is-a relations, has-a relations; other properties);
  • assertions: (sentences distinguishing concepts, refining definitions and relationships; axioms, theorems, restrictions); and
  • world view: (reasoning assumptions, identity assumptions)

relevant to a particular domain or area of interest, which generally allows for some certain specific variability, and as consciously unambiguously and completely as is necessary and practical in order to achieve a specific goal or objective or a range of goals/objectives.  An ontology-like thing enables a community to agree on important common terms for capturing meaning or representing a shared understanding of and knowledge in some domain where flexibility/variability is necessary.

Input #2: Formal Language or Proof Based System

From this blog post and In their book, Algebraic Models for Accounting Systems; Jose Garcia Perez, Savador Cruz Rambad, Robert Nehmer, and Derek J. S. Robinson point out the following (section 1.8 Proof-based Systems, page 23):

"In order to formalize a language, there must be a specification of the signs and symbols of the formal language, as well as a specification of the permissible manipulations of the symbols."

I added to BOLD for emphasis. The authors go on to point out that the first thing you need to do in order to create a formal language, you need to create an "alphabet". An alphabet has six parts (the six parts are in bold): 

  • Constant 
  • Variable 
  • Operations or Functions
  • Predicates
  • Logical Symbols
    • Connectors
      • Implication
      • Disjunction (or)
      • Conjunction (and)
      • Negation (not)
      • Logical equivalence (if and only if)
    • Qualifiers
      • There exists (existential)
      • For all (universal)
  • Punctuation marks (left and right parentheses; comma)

Input #3: First Order Logic and Automated Reasoning in a Nutshell

C. Maria Keet's describes the semantics of a system on page 30 of her book (page 43 in the PDF) An Introduction to Ontology Engineering but she describes those semantics using rather technical terms that are not understandable to a typical business professional, the terms are not consistent with my Input #1 or Input #2; but it does seem to provide all the moving pieces of the puzzle.

Input # 4: Practical Logic for Business Professionals

First in Computer Empathy (on page 64) and then in Artificial Intelligence and Knowledge Engineering in a Nutshell (page 39) I tried to create a succinct summary of logic or what I called a "practical logic for business professionals".  But, I could not tell if I had all the moving pieces of the puzzle.  Anyway, this is a good start but I can now do better.

Input #5: Z-Notation

As I understand it, Z-Notation, which is an ISO standard, is one of the more power languages for representing a logical system.  However, Z-Notation is not machine readable; it is only readable by humans.  Z-Notation uses terms such as:

  • States
  • Dynamics
  • Sets
  • Subjects and predicates
  • Logical negation
  • Logical connectors
  • Quantifiers
The static aspects include:
  • the states it can occupy;
  • the invariant relationships that are maintained as the system moves from state to state.
The dynamic aspects include:
  • the operations that are possible;
  • the relationship between their inputs and outputs;
  • the changes of state that happen.

This reference manual and this video are very helpful in understanding Z-Notation.

Input #6: Book of Proof

The Book of Proof, Chapter 2 - Logic, describes logical systems. Other chapters describes other detailed aspects of logical systems.

Input #7: UML Association/Aggregation/Composition/Generalization

In UML there are three primary types of relations:

  • owners feed their pets; pets please their owners (association, "is-a")
  • a "tail" is part of a dog and also a part of a cat (aggregation, compisition, "part-of")
  • a "cat" is a kind of pet (generlization)


OUTPUT: (Trying to make this understandable to business professionals)

This is my first attempt to synthesize all three of these inputs into a succinct explanation of how a finite logical system can be described in machine-readable for such that the information is machine-understandable and is safe, reliable, and predictable and therefore useful:

  • Theory: A theory is a consistent, set of models.  A theory is a finite logical system.
  • Model: A model is a consistent, set of structures.
  • Structure: A structure is a set of terms, relations, and assertions represented using some vocabulary. There are IS-A structures and HAS-PART structures.  (A V-structure consists of a non-empty underlying set ∆ along with an interpretation of V. An interpretation of V assigns an element of ∆ to each constant in V, a function from ∆n to ∆ to each n-ary function in V, and a subset of ∆n to each n-ary relation in V. We say M is a structure if it is a V-structure of some vocabulary V.)
  • Vocabulary: A vocabulary is a set of terms, structures, functions, relations, and constant symbols.
  • Formula: A formula is a statement that is consistent with a vocabulary.  (Let V be a vocabulary. A V-formula is a formula in which every function, relation, and constant is in V. A V-sentence is a V-formula that is a sentence.)
  • Sentence: A sentence is a grammatical unit of a statement.  (Note that not all sentences are statements.)
  • Statement: A statement is a proposition, claim, or assertion of a fact about the universe of discourse.
  • Term: A term is a primitive or complex (functional) ideas that are used within some domain. Terms include constants and variables.  Defining a term is a type of statement.
  • Assertion: An assertion is a statement which distinguishes on term from another term or otherwise refines the definition of or relations between terms.  An assertion is a specification for a permissible manipulation of a structure, vocabulary, model, or formula.  An assertion can take the form of an axiom, a theorem, or a restriction.
    • Axiom: An axiom is a sentence which describes self-evident logical principles related to a domain that no one would argue with or otherwise dispute.
    • Theorem: A theorem is a statement which makes a logical deduction which can be proven by constructing a chain of reasoning by applying axioms or other theorems in the form of IF…THEN statements.
    • Restriction: A restriction is a statement is a special type of axiom or theorem imposed by some authority which restricts, constrains, limits, or imposes some range.

What is becoming quite evident is that what is needed is a model of how to properly construct such a model. Whether you use the XBRL technical syntax, or RDF/OWL/SHACL, or some other technical syntax to represent such a system; the semantics of the system need to good.

If anyone has any input or is aware of an existing understandable explanation of this information please ping me.

(This is the improved version of the above.)


Framework for Ontology Evaluation

Ontologies, Taxonomies, and Bears --  Oh my! (very good description of what an ontology does)

A History of Set Theory

Logic Gates

Describing Logic Gates Algebraically

Logical systems

FOL and Prolog

Software Requirements and Specifications (See the introduction)

Posted on Tuesday, September 10, 2019 at 08:13AM by Registered CommenterCharlie in | CommentsPost a Comment

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
All HTML will be escaped. Hyperlinks will be created for URLs automatically.