[HN Gopher] Applied Compositional Thinking for Engineers
       ___________________________________________________________________
        
       Applied Compositional Thinking for Engineers
        
       Author : pawsed
       Score  : 66 points
       Date   : 2021-02-11 11:45 UTC (1 days ago)
        
 (HTM) web link (applied-compositional-thinking.engineering)
 (TXT) w3m dump (applied-compositional-thinking.engineering)
        
       | tacon wrote:
       | Category theory jumps out of its software silo and is applied to
       | ... well, everything else. This looks like a fun course!
        
       | Koshkin wrote:
       | Dr. David Spivak, a guest speaker, is one of the well-known
       | researchers and educators in this area.
        
       | eli_gottlieb wrote:
       | Nice to see the ACT field moving forward :-).
        
       | madhadron wrote:
       | I followed the first two thirds of this, and stopped because I
       | felt that I wasn't getting much. A lot of names for things I
       | already knew, but nary a theorem or meaty result that gave me any
       | new insight. I think my greatest benefit was no longer feeling
       | like MacLane's book needs to be on my reading list.
       | 
       | Also, I discovered that there are cranks even in category theory!
       | There was this guy Robert Rosen who tried to apply it to biology,
       | got totally confused, wrote three giant books, and now has a
       | posthumous following. That wasn't something the lecturers were
       | pushing, but it came up among the students.
        
       | gugagore wrote:
       | I had (maybe unreasonably) hoped that this course would provide a
       | glimpse into how CT can be applied to organizing and processing
       | data in the sense of keywords like "knowledge graphs", "graph
       | databases", "ontologies", "model-based engineering".... And on
       | top of that, representing operations to do meaningful (semantic)
       | version control on these representations (e.g. [1, 2]), and
       | bidirectional transformations [3] between structured
       | representations (e.g. [3, 4] and "Triple Graph Grammars"). I have
       | the sense that there are dozens of disparate concepts and that
       | category theory offers some unifying power.
       | 
       | I hope that there simply hasn't been enough work done to do a
       | category-theoretic treatment of all of these topics, and that
       | perhaps even more category theory itself needs to be developed so
       | that there are good ways to talk about concepts that are almost-
       | but-not-quite-entirely described or subsumed by category theory.
       | 
       | The alternative is that I'm painfully wrong about what applied
       | category theory aims to be, and that I have a ton of application-
       | specific terms to learn about and won't find a formalization of
       | the sense in which all of these concepts relate.
       | 
       | [1]
       | https://en.wikibooks.org/wiki/Understanding_Darcs/Patch_theo...
       | 
       | [2] https://github.com/trailofbits/graphtage
       | 
       | [3] http://bx-community.wikidot.com
       | 
       | [4] https://github.com/grammarware/bx-parsing
       | 
       | [5] https://en.wikipedia.org/wiki/QVT
       | 
       | [6]
       | http://graphdatamodeling.com/Graph%20Data%20Modeling/GraphQL...
       | 
       | [7] https://neo4j.com/developer/guide-data-modeling/
       | 
       | [8] https://web-cats.gitlab.io/#some-of-the-cats-we-come-across
       | 
       | [9] http://pauillac.inria.fr/~pilkiewi/papers/boomerang-tr.pdf
        
         | bcheung wrote:
         | CT is universal in the sense that if you understand how it is
         | applied in one domain you can easily apply it to others.
         | 
         | The problem with CT education IMO is that it cannot be taught
         | at the abstraction level only -- there are too many floating
         | abstractions that people can't anchor to any existing
         | knowledge.
         | 
         | This means CT can only REALLY be understood once you apply it
         | to a domain. The problem is that not many people outside of
         | mathematicians understand the domains that CT is traditionally
         | taught with.
         | 
         | CT for Engineers, CT for Programmers, CT for XYZ, is probably
         | the only viable way CT is going to see wider adoption.
        
           | Koshkin wrote:
           | In CT terms, "CT _has a universal property_... "
        
       | spekcular wrote:
       | I always groan when I see posts on HN with grandiose claims about
       | category theory, like this one.
       | 
       | I think it is actively harmful to propagate pseudo-mathematical
       | claims like the those, for example, found in the slides of Guest
       | Lecture 1:
       | 
       | >>> It's touched or greatly influenced all corners of
       | mathematics.
       | 
       | >>> It's become a gateway to learning mathematics.
       | 
       | And from the audio of the lecture (paraphrasing):
       | 
       | >>> Category theory is the stem cell that differentiates into and
       | lies at the root of all pure mathematics. ["All forms of pure
       | math" is also written on the slides.]
       | 
       | These statements are simply false. The vast majority of pure
       | mathematics research done today does not involve category theory
       | at all, and does not benefit from it. An even greater majority
       | (like 99%+) of mathematics done in industry and in national labs
       | does not involve category theory. Numerical analysis,
       | probability, statistics, partial differential equations,
       | dynamical systems, harmonic analysis, even lots of modern
       | differential geometry - no category theory to be seen!
       | 
       | Want proof? Pick up any introductory graduate textbook, or any
       | major journal in these fields.
       | 
       | Now, if you want to do research in number theory, or algebraic
       | topology, or algebraic geometry - sure, you likely would benefit
       | from categorical thinking. But those fields hardly have a
       | monopoly on pure mathematics. Even in, for example, Hatcher's
       | introductory graduate text on algebraic topology (perhaps the
       | most widely used), category theory is stuck in a small appendix
       | and you can read the entire thing without it, with no real loss
       | [1].
       | 
       | I don't have the energy right now to explain why I find the
       | lecture series misguided more generally, but I want to at least
       | flag these _obviously incorrect statements_ and urge caution.
       | 
       | [And before anyone grabs a PDE book and tells me the use of
       | cohomology groups in certain places means PDE uses category
       | theory, please note that e.g. homological algebraic and category
       | theory are different things.]
       | 
       | [1] OK, I guess you need to know what e.g. a natural
       | transformation is to read some parts of the last chapter, but no
       | one does that in an introductory course anyway. A motivated
       | teacher could easily present the material in such a way that this
       | didn't matter.
        
         | Koshkin wrote:
         | Personally, I wouldn't be _that_ skeptical. By its very nature
         | CT as a foundational theory and is relevant to, and has at
         | least in that sense indeed touched, all corners of mathematics.
         | (Mathematicians had the same skepticism about Set Theory when
         | it first appeared.) Especially the  "theoretical" (pure) math.
         | So, sure, "you can read the entire thing without it, with no
         | real loss", but this only says something about the particular
         | textbook and not the subject itself. I assure you, the _actual_
         | loss, whether you realize it or not, will be very real. Books
         | like Aluffi 's _Algebra: Chaper 0_ have a very good reason
         | behind them. Category Theory is _the_ chapter zero of the
         | modern _understanding_ of mathematics (and not only).
        
           | spekcular wrote:
           | Can you please explain to me how learning category theory is
           | relevant to, or would enhance the work of, a research
           | mathematician who works on, say, harmonic analysis or
           | probability theory?
           | 
           | What is the _actual loss_ to these mathematicians?
           | 
           | Also, your claim that category theory is a foundational
           | theory (in the sense that set theory is) is just mistaken.
           | Homotopy type theory claims to be such a theory, but homotopy
           | type theory should not be identified with category theory
           | more broadly.
        
             | Koshkin wrote:
             | I wouldn't try, but Helemskii's _Lectures And Exercises on
             | Functional Analysis_ show all this in exquisite detail.
             | 
             |  _The Convenient Setting of Global Analysis_ (freely
             | available as a PDF) makes extensive use of the categorical
             | notions and methods.
        
               | spekcular wrote:
               | This does not answer my question. The material in the
               | first book is all well-known. A standard reference is
               | Reed and Simon's _Methods of Modern Mathematical
               | Physics_. Categories don 't gain you anything there, and
               | in any case it's tangentially relevant to most work in
               | harmonic analysis and probabiility. The second book is
               | not relevant at all.
               | 
               | Just because you can produce books on analysis where
               | someone uses the word "category," does not mean a working
               | mathematician ought to care.
        
               | Koshkin wrote:
               | (Funny that you mentioned "a working mathematician.")
               | 
               | Anyway, wouldn't it be nice to _really_ understand, on
               | some (higher, admittedly) level, what it is that you are
               | _actually_ doing? Functors and all...
        
               | spekcular wrote:
               | But this is exactly my objection. Returning to your
               | example, I don't think working through Helemskii's book
               | helps one _really_ understand functional analysis
               | relative to a well-written standard treatment. What
               | interesting problems does this viewpoint permit a
               | probabilist or harmonic analyst to solve that the
               | standard approach does not? What theorems does it enable?
               | 
               | I find it bizarre that you (and others - I don't mean to
               | pick on you) seem to think that a translation to category
               | theoretic language is necessary (and sufficient?) to
               | understand what one is _actually_ doing. Do the many
               | professional mathematicians who prove important theorems
               | in functional analysis today without bothering to learn
               | this language not _actually_ understand what they are
               | doing [0]? But the undergraduate who reads Helemskii
               | does? This seems like an absurd notion of what it means
               | to _actually_ understand a subject.
               | 
               | [0] See, for example, many of the papers noted here:
               | https://en.wikipedia.org/wiki/Invariant_subspace_problem
        
         | bcheung wrote:
         | It's a bit of a white lie but I don't see it being harmful to
         | claim that. It is increasingly becoming true.
         | 
         | Lots of fields are adopting CT. And being taught CT earlier on
         | in the process would provide a useful framework for building
         | upon future knowledge.
         | 
         | Mathematics seems to have 10 different names for the same
         | concept depending on which field you are in. CT provides a
         | common vocabulary.
        
           | btilly wrote:
           | _It 's a bit of a white lie but I don't see it being harmful
           | to claim that. It is increasingly becoming true._
           | 
           | I do.
           | 
           | Category theory is something that appeals to some
           | mathematicians, and not to others. Those who it doesn't
           | appeal to are likely to wind up in fields like combinatorics,
           | functional analysis, numerical analysis, and so on. If you
           | inflict category theory prematurely on the latter group,
           | people who might have proven quite talented will be driven
           | away from mathematics.
           | 
           | And I feel this quite personally. I left mathematics for
           | other reasons. But still, had I had to deal with category
           | theory first, I'd have never gone into mathematics in the
           | first place.
        
         | neonological wrote:
         | >>> Category theory is the stem cell that differentiates into
         | and lies at the root of all pure mathematics. ["All forms of
         | pure math" is also written on the slides.]
         | 
         | I would say this statement is not false. It does seem to lie at
         | the root and is an alternative to set theory which means that
         | mathematics can be perceived with category theory as it's
         | foundation. Whether an actual written CT reformalization has
         | been executed within all the pure mathematical sub fields or
         | whether doing an actual formalization from the perspective of
         | CT will be a benefit at all is another topic all together.
         | 
         | I agree that category theory is not popular. However I feel
         | software engineers should have interest in it as Category
         | theory looks to intersect with an area of software engineering
         | that is currently done ad-hoc style with just gut feelings.
         | 
         | If you squint, Category theory looks to be a formalized theory
         | for the design and complexity of modules. Fully understanding
         | Category theory and how it applies to software could lead to a
         | future where design and architecture is "calculated" rather
         | then "designed."
        
         | nine_k wrote:
         | I suspect such claims might grow from the idea that you can
         | replace set-theoretic constructs with category-theoretic
         | constructs in certain places, and see what happens. It must be
         | pretty fundamental, in the sense that dependence on a set
         | theory lies in the foundation of many branches of mathematics.
         | I can't say how _universally_ such an approach can be applied;
         | likely not very much.
        
       | motohagiography wrote:
       | The way that CT is explained to engineers here is what tech
       | architects do every day, and with the rigour of formalisms that
       | would help clarify a lot of the muddled thinking some architects
       | suffer from. Arguably, an architect is someone who uses
       | categories and relationships between them to solve and optimize
       | for aggregate behaviour and outcomes.
       | 
       | I watched the first guest lecture, which was very good. I'm not a
       | mathematician, engineer, or a category theorist, but I can apply
       | the formalisms to system architecture instantly.
        
         | skybrian wrote:
         | I guess, but I'm reminded of the promises made for UML, where
         | in the end it just introduced some standard conventions for
         | whiteboard diagrams.
         | 
         | Abstract, domain-independent formalisms can make ideas _harder_
         | to understand than domain-specific, concrete examples. With
         | category theory, I 'm not seeing examples of the formalism
         | paying off that would justify the endeavor.
        
           | zozbot234 wrote:
           | UML did not have a categorical foundation in the way that,
           | e.g. commutative diagrams, tensor networks or proof nets do,
           | though. Categorical foundations help define some implied
           | properties and allowed operations (e.g. "diagram chasing" as
           | a diagrammatic representation of composition) that have no
           | equivalent in ad-hoc modeling notations like UML.
        
       | aWidebrant wrote:
       | Is this just the second coming of cellular automata?
        
       ___________________________________________________________________
       (page generated 2021-02-12 23:01 UTC)