Post
February 18, 2018 — Brad Venner
Accounting systems as categorical systems
Byer’s work on analyzing Marx through the lens of accounting. His analysis of historical seems important as both a Marxist and in energy democracy more specifically. But reading Bryer has given me the sense that better mathematical foundations are required.
I know of at least three approaches to accounting system theory that appear to have some basis for categorification.
The American Midwest seems to have been a hotbed of accounting theory, with Ijiri at Carnegie-Mellon, Fellingham at Ohio State and McCarthy at Michigan State.
Another author to add could be Richard Mattessich, who is covered in the monograph Understanding Mattessich and Ijiri [@garcia:2018:understanding]. Unfortunately, I could not find this book on libgen. He covers Theory of Accounting Measurement by Ijiri and Accounting and Analytical Methods by Mattessich. Mattessich appears to be a broad thinker, and wrote on the philosophy of accounting in his later years. Ijiri’s focus on accountability within accounting, at least superficially, seems closer to Bryer’s analysis of Marx’s accounting theory. Mattessich was more influenced by Fisher and thus would be a “bad guy” in Bryer’s accounting history/theory.
Double-entry accounting and directed graphs
John Fellingham’s manuscript Accounting: An Information Science [@fellingham:2017:accounting] (which appears to be unpublished), develops a number of analogies with existing mathematical systems that have already been categorified.
A double-entry system for a given period is developed as a directed graph, with accounts being vertices and transactions as edges. It’s not clear to me if this formulation is an (enriched) category or not. Is there a composition operation? Are there endomorphisms?
The initial balance on a vertex could be described as an endomorphism on an object. This would give a “simultaneous” structure on the graph.
Composition seems to be a way to simplify the structure. If A transfers $10 to B, and B transfers $10 to C, this is “the same” as a $10 transfer from A to C. Is it best to think about these morphisms as “committments” that are actualized at some future time point. Settling of accounts corresponds to eliminating all parallel arrows and loops.
Does a “balance statement” look like a structure with no morphisms? It seems like some morphisms will remain if they are not settled within a certain time period. It seems like time plays an essential role in understanding the graph structure. Is there a more general “ledger” structure that has already been developed?
Browsing around on the internet around database design for double-entry accounting gives a few different ideas. A StackExchange entry calls it the “classical problem of one row per transaction versus two rows”. In category-theory language, this is the difference between morphisms and spans.
The same entry made the point that classical (pre-computer) ledgers always had a date attached to them. These transactions are “events” and the time of the event is an indexical, in Peirce’s sense (well, a representation of an indexical). The difference between an accounting event and a physical event is that physical events take place in space as well as time.
Classical ledgers also were assigned and filled out by particular people. In that way, they have the structure of an assertion. Bitcoin solves many of these problems for distributed ledgers and I should probably try to understand the ledger structure there. There are some statements online that Bitcoin implements “triple-entry bookkeeping” but this has a very different sense than the “would-be” structure of Ijiri’s triple-entry bookkeeping.
According to a blog post on Medium by Juan Ibanez [https://medium.com/uclcbt/is-bitcoin-really-triple-entry-accounting-df14e26ae3e7], triple-entry accounting is the creation of a shared ledger between two parties that would normally have separate, redundant double-entry ledgers. Ibanez credits (Ian Grigg)[https://iang.org/papers/triple_entry.html] and Todd Boyle (his link didn’t work) with developing the idea. Grigg says that fraud detection was a major impetus behind double-entry bookkeeping. This seems particularly relevant when ledgers were kept by different parties, where some degree of collusion was required to hide fradulent entries. This seems pretty far away from the “accountability” understanding of bookkeeping. But this fits the notion of the record of a transaction as an assertion.
Real financial code would also check to see if an account had sufficient funds prior to transfer. (Not every account has this restriction, of course. This looks like business logic in a three-tier application. This could be modeled as pre- and post-condition checks in concurrent separation logic.
There is a “family” resemblance between this directed graph structure as a category and the equivalence between “triples” and databases developed by Spivak. Has this been updated to attributed C-Sets? I wonder if there is an example in CQL?
It would be helpful to compare CQL, Catlab and Hydra for their features. It looks like development on CQL has stopped since late 2021.
There are other candidates
Momentum accounting
Ijiri’s momentum accounting, with it’s direct analogy with Newtonian mechanical systems, seems like it could be directly developed within categorical systems theory, perhaps even within bond graphs.
Ijiri also stresses the accountability relationship
Resources-events-agents
Unlike Fellingham