Sign in

Bruno Gavranović

@bgavran.bsky.social
992 followers 66 following 148 posts

I'm building neural networks that generate provably correct code, and the software infrastructure for training them. Recently experimenting with TensorType: github.com/bgavran/TensorType www.brunogavranovic.com

PostsRepliesMedia
Bruno Gavranović @bgavran.bsky.social · 09/09/2026
RE: mathstodon.xyz/@bgavran/11666032133… Regarding recent news
mathstodon.xyz
Bruno Gavranović (@bgavran@mathstodon.xyz)
C3, but with a caveat: The negative externalities the row A highlights are real, and not to be dismissed. However, these are not a fundamental aspect of this technology, but at the moment a result of its lackluster deployment, lagging regulation, and practically absent consequences for unethical and exploitative practices. We can and should use this technology to empower, and humbly confront how it redefines human exceptionalism.
050
Bruno Gavranović @bgavran.bsky.social · 29/07/2026
Finally added a reinforcement learning section to the list: github.com/bgavran/Category_Theory_… I'm sure I'm missing a few papers
github.com
GitHub - bgavran/Category_Theory_Machine_Learning: List of papers studying machine learning through the lens of category theory
List of papers studying machine learning through the lens of category theory - bgavran/Category_Theory_Machine_Learning
130
Bruno Gavranović @bgavran.bsky.social · 06/07/2026
Almost forgot to mention: I'll be presenting TensorType today at 16:30 EEST at the ACT conference actconf2026.github.io/programme.html
150
Reposted by Bruno Gavranović
Manuel Baltieri @manuelbaltieri.bsky.social · 26/06/2026
Our work on compositional behavioural semantics for state abstraction was accepted at ICML! Link: arxiv.org/abs/2606.25357 State abstraction compresses an RL state space while trying to retain decision-relevant behaviour. What survives? 1/
arxiv.org
Compositional Behavioral Semantics for State Abstraction in Reinforcement Learning
State abstraction plays a key role in scaling reinforcement learning to complex but structured systems. In studying such systems, a wide range of behavioral structures have been studied in reinforceme...
1102
Bruno Gavranović @bgavran.bsky.social · 29/05/2026
We can and should use this technology to empower, and humbly confront how it redefines human exceptionalism.
030
Bruno Gavranović @bgavran.bsky.social · 29/05/2026
RE: mathstodon.xyz/@julesh/116658899165… C3, but with a caveat:
mathstodon.xyz
julesh (@julesh@mathstodon.xyz)
I am firmly an A3, which is a difficult position to live with
150
Bruno Gavranović @bgavran.bsky.social · 21/04/2026
It was pointed out to me that the factor in this blog post is off by 1000x. AlphaZero achieves superhuman performance compared to GPT4 not with 30x fewer parameters, but 30000x fewer, which is an even more stark difference.
040
Bruno Gavranović @bgavran.bsky.social · 20/04/2026
While this now feels "obvious", this distinction of "differentiating through a fixed program" versus "learning which program we generate" is one I've never seen acknowledged before
030
Bruno Gavranović @bgavran.bsky.social · 20/04/2026
and it ended up morphing into a novel perspective on what it means to integrate dependent types into training.
120
Bruno Gavranović @bgavran.bsky.social · 20/04/2026
I just published a new blog post! Types and Neural Networks ( www.brunogavranovic.com/posts/2026-… ) It's about what comes into view once dependent type systems become a part of neural network training.
1235
Bruno Gavranović @bgavran.bsky.social · 15/04/2026
New blog post coming up soon! I'm very excited about some of the work we've been doing at GLAIVE about making the output space of frontier models *typed*. Stay tuned :)
060
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
What is really exciting is that *type-safe einsum* is now fully within reach, and I have a pretty good idea how to implement it.
010
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
uses directly the function above, which is merely a wrapper around dependent lenses.
120
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
On the technical side it finally enabled tensor reshapes to fully fall out of the categorical machinery: they're extensions of morphisms of containers. That is, tensor reshape defined here: github.com/bgavran/TensorType/blob/…
github.com
TensorType/src/Data/Tensor/Tensor.idr at main · bgavran/TensorType
Framework for type-safe pure functional and non-cubical tensor processing, written in Idris 2 - bgavran/TensorType
110
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
That is, compare the syntax for creating a non-cubical tensor (image attached to this post) vs one for non-cubical ones (image in the original post)
110
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
This also solved a few technical issues behind the scenes, and eased ergonomics around distinguishing between creation of cubical tensors (which I want to have backward compatibility with), and non-cubical tensors (which this framework enables).
110
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
b) cannot by accident sum over sequence length, for instance, instead of "batch" There's still a long way to go to get this fully integrated, but I'm quite excited
120
Bruno Gavranović @bgavran.bsky.social · 14/04/2026
I never wrote about it here, but as of some time ago I figured out a basic implementation for named axes in TensorType: github.com/bgavran/TensorType This means that now you're: a) forced to assign some meaning to all your axes)
152
Reposted by Bruno Gavranović
Charlie Warzel @cwarzel.bsky.social · 07/04/2026
something strange and horrible and somehow fitting that we should have a very real threat of madman civilizational destruction at the very moment when we also have humans on the dark side of the moon taking pictures that show how small, precious, and beautiful our world and existence is
332930689
Bruno Gavranović @bgavran.bsky.social · 07/04/2026
"Coalgebras for categorical deep learning: Representability and universal approximation" arxiv.org/abs/2603.03227
040
Bruno Gavranović @bgavran.bsky.social · 02/04/2026
Probably joining these, or engaging in the discussions/joining who your followers follow is a good way to get started
120
Bruno Gavranović @bgavran.bsky.social · 02/04/2026
2) Various 'Zulip's: CT Zulip (categorytheory.zulipchat.com), Lean Zulip (leanprover.zulipchat.com), Idris Zulip (idris-lang.zulipchat.com) ...
categorytheory.zulipchat.com
Public view of Category Theory | Zulip team chat
Browse the publicly accessible channels in Category Theory without logging in.
110
Bruno Gavranović @bgavran.bsky.social · 02/04/2026
1) Mathstodon/ BlueSky. It seems to be more 'academic' in my experience than 'industrial', and compared to old twitter there's considerably less discussion about the underlying technology here, and more about societal impacts
110
Bruno Gavranović @bgavran.bsky.social · 02/04/2026
Thanks for reaching out! Unfortunately after the exodus from Twitter in my experience the community became more disjoint than before. Nonetheless, there are still many hubs where researchers congregate. This is mostly:
categorytheory.zulipchat.com
Public view of Category Theory | Zulip team chat
Browse the publicly accessible channels in Category Theory without logging in.
120
Reposted by Bruno Gavranović
Zanzi Tangle @zanzi.bsky.social · 26/03/2026
Where are the nuanced left-wing takes on modern AI and LLMs? So much of the discourse around this tech is centered on rejecting it because of who currently owns it. But like all tech, it can be used for both oppression and liberation. Who is focusing on the latter?
4182
Bruno Gavranović @bgavran.bsky.social · 25/03/2026
Lots of exciting stuff has been happening at GLAIVE: mathstodon.xyz/@julesh/116279930318… mathstodon.xyz/@Andrev@types.pl/116…
mathstodon.xyz
julesh (@julesh@mathstodon.xyz)
New blog post: Sequents for sequence II: Balancing the strangeness budget Ending with a teaser reveal https://julesh.com/posts/2026-03-23-sequents-sequence-ii.html
000
Reposted by Bruno Gavranović
Micah @rincewind.run · 15/03/2026
Discworld QOTD, from Monstrous Regiment “Stopping a battle is much harder than starting it. Starting it only requires you to shout ‘Attack!’ but when you want to stop it, everyone is busy.”
91154313
Reposted by Bruno Gavranović
ieva @hyperboieva.bsky.social · 05/03/2026
Masteful sequence of quotes in Mike and Ike which I never noticed before
2274
Reposted by Bruno Gavranović
Greg Pak @gregpak.net · 04/03/2026
never, ever, ever, ever accept "how will you pay for it?" as an argument against social programs.
1971412584
Bruno Gavranović @bgavran.bsky.social · 20/02/2026
RE: mathstodon.xyz/@julesh/116103778140… Some more work I've been a part of:
mathstodon.xyz
julesh (@julesh@mathstodon.xyz)
Attached: 1 image New blog post! Autodiff through function types: Categorical semantics the ultimate backpropagator https://julesh.com/posts/2026-02-20-categorical-semantics-ultimate-backpropagator.html
020
Reposted by Bruno Gavranović
julesh @julesh.mathstodon.xyz.ap.brid.gy · 20/02/2026
New blog post! Autodiff through function types: Categorical semantics the ultimate backpropagator julesh.com/posts/2026-02-20-categor…
1143
Reposted by Bruno Gavranović
Ethan Mollick @emollick.bsky.social · 14/02/2026
The transition from “AI can’t do novel science” to “of course AI does novel science” will be like every other similar AI transition. First the over-enthusiastic claims that are debunked, then smart people use AI to help them, then AI starts to do more of the work, then minor discoveries, & then…
310512
Reposted by Bruno Gavranović
beka valentine @bekavalentine.bsky.social · 14/02/2026
there is a widespread belief among people with even a little technical and scientific savvy that Alchemy was a bunch of hooey, that they never published their experiments, that alchemists had to each discover on their own not to drink mercury, etc but this is urban legend!
19031
Reposted by Bruno Gavranović
Ethan Mollick @emollick.bsky.social · 06/02/2026
This is not what is happening at all. The amount of misinformation on BlueSky about AI is insane, and it keeps promising that AI is all hype that is going away soon. A really dangerous position that cedes all AI policy and decisions about how it will be used to others. Also Futurism is clickbait
1927440
Bruno Gavranović @bgavran.bsky.social · 09/02/2026
That's not what ndarrays are: they are homogeneous arrays of elements: numpy.org/devdocs/refe...
numpy.org
numpy.ndarray — NumPy v2.5.dev0 Manual
100
Bruno Gavranović @bgavran.bsky.social · 09/02/2026
"it's impossible to reproduce ndarray in a type safe way." What part of it is impossible to reproduce?
100
Bruno Gavranović @bgavran.bsky.social · 08/02/2026
This is a catch-22 problem: nobody is working on non-cubical tensors because they're slow, and they're slow because nobody is working on them. One of the goals of TensorType is to try out machine learning with them. If something new works, that'll be good incentive to work on making it fast
011
Bruno Gavranović @bgavran.bsky.social · 08/02/2026
Indeed, eventually the plan is to use mutable arrays, and either partially write a new, or leverage existing backends for fast tensor contractions. The plan is to first make it correct, then make it fast
200
Bruno Gavranović @bgavran.bsky.social · 02/02/2026
Even more, building things concretely ended up facilitating research: I now understand that a tensor is simply a composition of containers, and that this perspective is *enough* to get us everything that NumPy gives us. It's just a matter of implementing it.
031
Bruno Gavranović @bgavran.bsky.social · 02/02/2026
I'm quite proud of how far I've been able to get with TensorType: github.com/bgavran/TensorType What started out as a casual "I wonder if I can implement type-safe tensors" question has now evolved into a fully-fledged library
github.com
GitHub - bgavran/TensorType: Framework for type-safe pure functional and non-cubical tensor processing, written in Idris 2
Framework for type-safe pure functional and non-cubical tensor processing, written in Idris 2 - bgavran/TensorType
3204
Reposted by Bruno Gavranović
ieva @hyperboieva.bsky.social · 27/01/2026
Come and visit me at the poster session at #QIP26 today! :)))
053
Bruno Gavranović @bgavran.bsky.social · 22/01/2026
If you're interested in some of the design choices behind TensorType, have a look at the great blog post that @Andrev just posted: types.pl/@Andrev/1159... TLDR; Tensors in NumPy are secretly built out of the composition product of containers
types.pl
Andre Videla (@Andrev@types.pl)
Glaive has a new blog post aimed at curious engineers https://glaive-research.org/2026/01/21/Generalised-tensors.html
093
Reposted by Bruno Gavranović
Conor Titania Mc Bride @pigworker.bsky.social · 20/01/2026
Dear USAans, ICE will not let you complete an electoral process which might result in a government that might hold them to account. If you want your democracy back, you have to get rid of them *first*. Abolish ICE, you say? How, I ask?
031
Reposted by Bruno Gavranović
"Online Rent-a-Sage" Bret Devereaux @bretdevereaux.bsky.social · 14/01/2026
On the drive home I was idly thinking about what changes I'd make, if I could, to our system of governance after this administration is - ideally - gone. I suppose in no particular order, here is a list of what I'd do, sorted by the mechanism for doing it.
2438883
Bruno Gavranović @bgavran.bsky.social · 08/12/2025
If you've been curious what I've been up to, the recently published report from GLAIVE reveals a part of it: glaive-research.org/2025/12/08/q4-r…
glaive-research.org
Q4 2025 report
Glaive Research Report Q4 2025
030
Bruno Gavranović @bgavran.bsky.social · 17/11/2025
And if I got it right, ∂List = List × List -> two lists
000
Bruno Gavranović @bgavran.bsky.social · 17/11/2025
Different products of containers, with examples on the List container: List ⊗ List -> rectangular array List ∘ List -> ragged array List × List -> two lists List + List -> a boolean value and a list
100
Bruno Gavranović @bgavran.bsky.social · 17/11/2025
I should also say that C needs to be a decidable container, meaning that the domain/codomain of ∂ is likely muddled even further?
000
Bruno Gavranović @bgavran.bsky.social · 17/11/2025
But surely there is a (largest) subcategory of Cont for which the derivative is well-defined. Is it known what that subcategory is?
100
Bruno Gavranović @bgavran.bsky.social · 17/11/2025
This is because its action on morphisms cannot be defined for an arbitrary lens (to see this, take the unique lens I -> 1, where I is the unit of the tensor product of containers, and 1 is the terminal container. Then the set of lenses ∂I -> ∂1 is empty.)
100