8 ms·
Category Theory Illustrated: Logic (2021)
- psychoslave 2y agoDiscussed at the time, though with an other URL: https://news.ycombinator.com/item?id=28660131 https://news.ycombinator.com/item?id=28660131 (2 comments) https://news.ycombinator.com/item?id=28660157 https://news.ycombinator.com/item?id=28660157 (112 comments)
- Krei-se 2y agoThis is such a great page, i love it and came across it multiple times while studying the matter. I still would vote to learn it from Milewski though. Learning this is a journey and the author of ct-illustrated is, i think, still in the middle of it. Milewski has made that trip multiple times already. The book and his blog are great places. https://github.com/hmemcpy/milewski-ctfp-pdf https://github.com/hmemcpy/milewski-ctfp-pdf Book https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/ https://bartoszmilewski.com/2014/10/28/category-theory-for-p... Blog
- revskill 2y agoI don't understand what bartoszmilewski talked about, so his book seems useless to me. But at work i use category theory for all of my domain model.
- iman453 2y agoWould you be willing to share more about your domain modeling and how category theory helped?
- Krei-se 2y agoHe can abstract more models in general frameworks (This is true for every job). He just is hesitant taking the leap to go all Camus and derive money from absurdism ;)
- Krei-se 2y agoOh, i can solve this: You will understand his work better once you step out of the narrow category of your work domain model.
- revskill 2y agoHe uses math term to explain the math. No way i will use that method to understand the subject.
- Krei-se 2y agoYeah, but that's kinda the point i made in my original post: You can work towards the general math terms while translating your domain model into higher abstractions, but this will have consequences on your personal life. You can see this clearly in the ct-illustrated author that interweaves his struggle while learning the matter and wrote a journal about both his life and the topic. As Milewski teaches the subject, he is in a position to match both personal life, work and the topic into one book, so this is the goal, but it will entail you leaving the narrow perspective of your work. He can talk from math to math, but you have to - similar to the author of ct-illustrated - find your own way from translating your specific model into a more general one. If you want a handle to start: Think of a line that extends into + and - infinity: It will create a circle. Even though a circle is a 2 dimensional object, it's made of infinetly many distinct 1-dimensional lines. The same is true for your work: Even though it is made out of a distinct countable number of interwoven objects in your domain, this structure is part of a bigger abstraction. Doing more work, like drawing more distinct new objects will not take you onto the more general abstraction, but thinking about what all your domain models have in common. Try to work less, be lazy and the underlying mathematical models will appear in a language you already speak. In your case: Abstraction your work domain model into multiple clients (1 employer --> multiple employers in a similar line of work) will a) lead into your termination b) show how you can abstract your work away from 1 source of income and purpose into multiple ones. Good luck!
- Koshkin 2y agoA circle is a 1-dimensional manifold (which, indeed, could be embedded in a space that has more dimensions). This follows exactly from your own (correct) image of it as being created from (i.e. being locally homeomorphic to) straight lines. But the entire thing ("the territory") always turns out to be more than the set of parts it is "built from," and if you ignore this, not only you are bound to lose the forest for the trees, your understanding of the whole may end up being completely wrong.
- codethief 2y ago> I still would vote to learn it from Milewski though I've read the first dozen chapters of Milewski so far, and while I really enjoyed the first couple chapters, his style of not giving precise definitions or statements, nor using precise notation becomes really annoying after a while and makes the book practically useless as a reference. He seems to think everything is easier to understand when it's written in lighthearted, imprecise prose. No, not all.¹ ¹) https://news.ycombinator.com/item?id=41756286 https://news.ycombinator.com/item?id=41756286
- Iwan-Zotow 2y agoYou might want to look at https://www.artima.com/shop/modern_mathematics https://www.artima.com/shop/modern_mathematics
- codethief 2y agoThanks!
- xiande04 2y agoYep, this is precisely the problem I had with Milewski. It would have been nice if he included examples and definitions in a standard format.
- deleted 2y ago[deleted]
- overhead4075 2y agoCircles in circles doesn't really scale well if the inner circles are always vertically centered.
- Krei-se 2y agoOh i just realized the blog author himself created this post: Boris we love you! Best of luck on your journey and thanks for your work!
- boris_m 2y agoTouching. Thanks. And feel free to create some Github issues or write to me if you have some feedback.
- tezka 2y agoAny body can share a success story of using category theory gainfully to any CS/SWE problem that couldn't have been solved without? No Monads isn't one, you would invent it naturally when the situation calls for it. I spent a year studying in grad school and I ultimately abandoned it.
- platz 2y agoabstractions never solve problems that couldn't have been solved without them.
- Koshkin 2y agoSure; it's just that doing calculations with the Roman numerals takes longer.
- thfuran 2y agoRoman numerals are too abstract a representation of counting. I use potatoes.
- lying4fun 2y ago~”numbers are the abstract notion, the primitive way of counting is a bijection” W. Lawvere so the way people use “abstraction” sounds more like they are saying “a thing we (we think) are not used to”
- Krei-se 2y agoYou are very close. CT is about structure, not which problem this structure solves. Compilers are closest in what i can think of in this regard: They don't resolve one problem domain, but many. Which one you apply it on is up to you. One tool for one job is a simple rule you can adapt as a systems architect allowing you to build clear structure for the problem domain you come across. esbuild comes to mind as an example - the job was solved before, but keeping one purpose in mind and writing it from scratch solves the problem WAAAY faster. So no, no problem is solved inside the domain of product software development, but outside of it, you as a developer can (if you want and for speed) derive any structure from the absurd function instead of combining foreign frameworks.
- ogogmad 2y agoI think category theory is useful, but not yet in computing. I suspect it's hard if you don't really need it for anything. Do you really need to understand universal properties and adjoint functors and the Yoneda lemma? If you don't, you'll struggle to learn what those are. Interestingly, experience in functional programming can help you understand category theory, but not so much the other way round. For instance: Parametric polymorphism gives you intuition for natural transformations. And natural transformations are central to every application of category theory. The convincing applications of category theory are very mathematical. You'll find them in algebraic topology, representation theory, algebraic geometry, and non-classical logic.
- cg30e 2y agoIt is useful here: https://en.m.wikipedia.org/wiki/ZX-calculus https://en.m.wikipedia.org/wiki/ZX-calculus https://zxcalculus.com/ https://zxcalculus.com/ https://www.reddit.com/r/quantum/s/2NzsJaDYwm https://www.reddit.com/r/quantum/s/2NzsJaDYwm
- ogogmad 2y agoQuantum computing is still a bit niche, no? And graphical notations already existed in physics and quantum computing, I believe. What does the category theory do here, except reformulate things that experts already understood, but in category theory language? I think a convincing application of category theory should involve doing calculations with category theory concepts and definitions, which involve things like: commutative diagrams, representable functors, universal properties, adjoint functors. If a whole heap of these concepts doesn't get used - and you don't perform calculations with them - then you're just reformulating something using different terminology. Thanks anyway for the link. Very pretty.
- Koshkin 2y agoI wouldn't call "niche" something some big companies have been spending billions of dollars on.
- roughly 2y agoStarting from the beginning of the book, I came across this gem of a sentence, when speaking about math compared to science or engineering: > Because of this, mathematicians are in a weird and, I’d say, unique position of always having to defend what they do with respect to its value for other disciplines. I again stress that this is something that would be considered absurd when it comes to any other discipline. I think this is a concept that anyone who studied anything that does not directly lead to monetizable outcomes can relate to, but it's nice to hear even those whose gifts skew to the numeric also have to contend with "Milton Friedman's Razor".
- DiscourseFan 2y agoIts a good thing, then, that so many projects in "cultural studies" are actually funded directly by the DoD and the State Department. Hell, the entirety of "post-colonial" studies today is nothing more than the backend of US soft-power (and, presumably, if a war breaks out, hard power as well).
- jawjay 2y agoThis says “Logic is the science of the possible” but wouldn’t logic be the science of the definite? I mean the whole point is to be able to definitely say what is or isn’t valid, definitely.
- cubefox 2y agoThere is an error: > Modus ponens is a proposition that is composed of two other propositions (which here we denote A and B) and it states that if proposition A is true and also if proposition (A --> B) is true (that is if A implies B), then B is true as well. For example, if we know that “Socrates is a human” and that “humans are mortal” (or “being human implies being mortal”), we also know that “Socrates is mortal.” This example is not an instance of Modus ponens (a rule of propositional logic), it is rather a categorical syllogism, which require predicate logic.
- User23 2y agoInteresting diagrammatic notation. Does the author give inference rules for truth preserving transformations of diagrams?