The Big Picture about Describing XBRL Facts: Set Theory and Class Theory
It is easy to see inconsistencies and other flaws in both the IFRS and US GAAP XBRL Taxonomies. Those inconsistencies and other flaws make it easy to define illogical structures and make paradoxical statements in XBRL-based financial reports that use those base taxonomies.
For example, why do we need to make a distinction between what the US GAAP XBRL Taxonomy referees to as a "[Domain]" and what the IFRS XBRL Taxonomy refers to as a "[member]". Sometimes when you work with the IFRS or US GAAP XBRL Taxonomy you encounter a problem that makes things fall apart. You see this as some sort of inconsistency between the taxonomies or inconsistencies in the XBRL-based reports created by economic entities reporting using those XBRL taxonomies.
Section 1 Background and more specifically Section 1.1.3. Template Taxonomies of the XBRL Dimensions 1.0 specification describes how an XBRL instance is a Cartesian Product of all the domain members of all the dimensions in all the hypercubes of an XBRL instance. The XBRL Dimensions specification uses the terms "primary taxonomies" and "domain member taxonomies" and "template taxonomies":
- Primary taxonomy: Defines primary items or called [Line Items] by the US GAAP XBRL Taxonomy and [line items] by the IFRS XBRL Taxonomy. Basically, these define Concepts and some Abstracts that are used to organize the Abstracts.
- Domain member taxonomy: Defines the Members that make up a domain.
- Template taxonomy: Defines hypercubes and brings the primary taxonomy and the domain member taxonomy together which provides the details of each hypercube.
So something about that explanation is unclear: where are the actual Dimensions defined? The XBRL Dimensions specification does not explicitly say. Could be either the domain member taxonomy or the template taxonomy per that explanation.
Now, the purpose of that detailed explanation (or at least one of the purposes) is to explain that the XBRL Dimensions specification does not break anything in the XBRL 2.1 specification. XBRL Dimensions extends XBRL 2.1 with additional functionally, it breaks nothing.
The Cartesian product is the result of a mathematical operation. It returns a two dimensional matrix of the dimensions of all the facts in all the hypercubes within an entire XBRL instance. This Cartesian product is consistent with set theory.
But the primary items in a primary item taxonomy and the members in a domain member taxonomy have relations also. Those relations are defined by class theory.
XBRL Dimensions defines a domain as a "set of members" (see section 1.1.2. and section 1.3. terminology).
Paraphrasing from this blog post that explains the difference between a class and a set:
- Class: A class is a logical statement that describes any collection of things which have some common property that defines them as a member of that class.
- Set: A set is a class which is a member of some logical class.
- Proper Class: A proper class is a class which is not itself a set.
What is now called "naive set theory" and was the basis for mathematics had some flaws and those flaws were addressed in an updated set theory called Zermelo-Fraenkel Set Theory. Naive set theory is interesting and useful, but when you try to do complicated things in it you encounter problems which makes things fall apart. For example, Naive set theory fails to distinguish between different kinds of things (i.e. like class theory) and that makes it all to easy to use it create paradoxical statements and structures.
The same thing is true about the US GAAP and IFRS XBRL Taxonomies that are used for financial reporting. They are interesting, but when you try and do complicated things with them you encounter problems which make XBRL-based financial reports fall apart, allow for the creation of illogical structures, or create paradoxical statements which should not be allowed because then those consuming information from those reports will get useless information.
As is explained in the document Understanding and Leveraging Fact Sets, the individual pieces of a report are decomposable into pieces. These pieces are described by and fit into sets and classes of things. The FASB, IFRS Foundation, SEC, ESMA and everyone else needs to abide by the mechanical, mathematical, structural, logical, accounting, and other rules that describe financial reports.
Think of all the XBRL-based reports in the SEC's EDGAR system as one big XBRL instance. (You could actually do that you know. For example, imagine all those reports in one database.) You create a gigantic two dimensional Cartesian Product (i.e. Big Data) of all those facts. You look at the dimensions, the members, the primary items, and the facts. All that information should make logical sense.
Or, do the same thing for one fact set from one report. That should make sense. Add a second fact set from some other report that has comparable information. Do the same thing for all companies with that one fact set. Keep building up and building up until you do a comparison of every fact set from every public company. You arrive at the same point: one giant Cartesian Product.
If this is interesting to you, here is more information that you might find interesting:
Reader Comments