Constructing a Chain of Reasoning
A logical system is driven by, well, logic. That logic is expressed using many different tools. One of the tools for representing things logically is set theory. Everyone tends to learn about set theory in elementary school using Venn diagrams.
A set is a well-defined collection of distinct objects.
What is really interesting is all the stuff you can do using sets. But first, we need one additional tool which is Boolean algebra. Boolean algebra relates to working with TRUE and FALSE values. Boolean algebra has three basic operators: (see this crash course in Boolean algebra)
- AND (conjunction)
- OR (disjunction)
- NOT (negation)
There are secondary operators which are created from the basic operators which make tasks easier:
- NAND (opposite of AND)
- XOR (exclusive OR)
- NOR (opposite of OR)
Using set theory and the Boolean operators you can do work on sets of information. The diagram below shows examples of basic set operations using Boolean algebra (also called Boolean logic):
Using set theory, boolean operators, and logical systems you can do work digitally. Here are two examples related to financial reporting:
- Suppose you have a set of concepts that are all identified as being "current assets". Say that you want to get a current asset from the US GAAP XBRL taxonomy. Because you know the set of current assets because that set has been represented in machine-understandable terms a computer can provide you with that list of current assets.
- Suppose you had a set of diclosures. Suppose each of the disclousres was assoicated with a topic. Suppose you were looking for a specific disclosure and you knew that the disclosure related to the topic "contingencies". The computer could provide you with a list of all disclosures related to the topic contingencies.
Any number of the Boolean logical operators can be combined into complex commands that you want a computer to perform. To do this, all you need is (a) set theory, (b) boolean operators, and (c) information in machine-readable terms that a computer can work with.
In this way you can create a chain of reasoning which a computer software application can use to perform work for you.
Reader Comments