Describing Systems Formally
Thursday, February 11, 2016 at 07:11AM
Charlie in Becoming an XBRL Master Craftsman

Professional accountants need to understand the following information related to how to engineer systems so that they can better understand how to get the system of digital financial reporting to work correctly and as they desire it to work:

Aristotle is said to be the father of formal logic. Logic is a discipline of philosophy. Logic is the study of correct reasoning.

The notation of what we call elementary school arithmetic took centuries to develop.  But today we take mathematics for granted. 

Formal logic is the basis for mathematics. Mathematics is a formal system.

formal system is defined as any well-defined system of abstract thought based on the model of mathematics. Of particular importance in describing systems is set theory. Basically, formal systems can be explained and proven to work or show system flaws and inconsistencies using the language of mathematics.  Every formal system has some sort of formal language that explains that system.  Every formal system can be tested to see if it works using a formal proof.

A theory is a tool for understanding, explaining, and making predictions about a system. A theory describes absolutes. A theory describes the principles by which a system operates.  A theory can be right or a theory can be wrong; but a theory has one intent: to discover the essence of some system.

A theory is consistent if its theorems will never contradict each other. Inconsistent theories cannot have any model, as the same statement cannot be true and false on the same system. But a consistent theory forms a conceptual model which one can use to understand or describe the system. A conceptual model or framework helps to make conceptual distinctions and organize ideas.

Formal logic was consciously broken into two groups: first-order logic and higher-order logic.  There is a reason for this. Systems based on first-order logic can be proven to be sound (all provable theory statements are true in all models) and complete (all theory statements which are true in all models are provable using proof theory).

Basically, higher-order logics are less well-behaved than those of first-order logic. They are less predictable and therefore less reliable and they are significantly harder to implement using computers.

That is why computer systems are generally based on first-order logic.

This is all well understood by good software engineers.  A finite-state machine  is a model for designing computer systems that should never break.  Finite-state machines are Turing machines. These machines tend to not "freeze" or "fail" or fail to return an answer. The Chomsky Hierarchy categories languages into groups that provide different levels of reliability.  Type-0, type-1, type-2, and type-3 languages all are Turing machines.

How does all this relate to professional accountants?

First, bear in mind that you don't need to be a nuclear engineer to plug an appliance which uses electricity.  You don't need to be an automotive engineer to understand how to start and drive a car.  You don't need to be a hydraulics engineer to take a drink of water from a faucet.  But you do want good engineers to build those systems so the systems don't break.

A digital financial report is a formal system.  A system such as the digital financial report needs to be described precisely so that professional accountants understand how the system works so that the system can be used effectively and so the system works how the system was intended to work. This blog post related to Z Notation, which is used to describe systems precisely, helps one understand that systems need to be described precisely and that tools exist to achieve that end.

Deliberate, rigorous, conscious, skillful execution is preferable to haphazard, negligent, unconscious, inept execution if you want to be sure something works.

Another way to describe a system is to create a theory and then prove the theory. Financial Report Semantics and Dynamics Theory is such a theory and proof.  Digital financial reports can be tested for consistency against a documented theory.  Consistencies with the theory help prove the theory. Inconsistencies with the theory can be detected in the system and the reason for the inconsistency determined.

If you understand how formal logic works all this makes sense.  If you don't understand formal logic, please watch this video which is a crash course in formal logic. If you don't understand knowledge engineering and want more detailed information, please read Knowledge Engineering Basics for Accounting Professionals.  It lays out important ideas that need to be considered when thinking about digital financial reports.

Systems need to work properly to be useful.  That is what engineering is all about, making things work properly so that they are useful. Luck and magic have nothing to do with making systems work.  Conscious, deliberate, and skillful attention to the details of a system contribute to making a system work.

It would be very hard to argue that XBRL-based financial reports to the SEC are a resounding failure.  Likewise, it would be hard to argue that XBRL-based financial reports to the SEC are an overwhelming success given the quality problems that exist with those digital financial reports today.  What one can do given the right tools is to gather empirical evidence about how the system is working and compare that evidence to how one thinks the system should work. 

This sort of testing helps improve systems.

Article originally appeared on XBRL-based structured digital financial reporting (http://xbrl.squarespace.com/).
See website for complete article licensing information.