Manage all types of time series data in a single, purposebuilt database. Run at any scale in any environment in the cloud, onpremises, or at the edge. Learn more →
Lean theoremproving Projects

It's been on my mind lately as well. I was trying out `symbolics.jl` (a CAS written in Julia), and it turned out that it didn't support symbolic integration beyond simple linear functions or polynomials (at least back then, things have changed now it seems). Implementing a generic algorithm for finding integrals is hard, but I was expecting more from that CAS since this seems to be implemented in most other CASs. The thing is that every single CAS that covers general maths knowledge will have to implement the same algorithm, while it's hard to do it even once!
I feel like at least a large part of the functionality of a general purpose CAS can be written down once, and every CAS out there could benefit from it, similar to what the Language Server Protocol did for programming tools. They also had to rewrite the same tool for some language multiple times because there are lots of editors out there, and the LSP cut the time investment down a lot. They did have to invest a large amount of time to get LSP up and running, and it'll have to be maintained, but I think it's orders of magnitudes more efficient than having every tool developed and maintained for every single (programming language, editor) pair out there.
Main problem is like you said how to write down mathematical knowledge in a way that all CASs can understand it. I've been learning about Mathlib lately [0], which seems like a great starting point for this. It is as far as I know one of the first machine readable libraries of mathematical knowledge; it has a large community which has been pushing it continuously forward for years into researchlevel mathematics and covering the entire undergraduate maths curriculum and it's still accelerating. If some kind of protocol can be designed to read from libraries like this and turn it into CAS code, that would be a major step towards making the CAS ecosystem more sustainable I think.
It's not exactly what you were talking about, as in, this would allow multiple CASs to coexist and benefit from each other, but I think that's better than having one massive CAS that has a monopoly. No software is perfect, but having a diverse set of choices that are open source would be more than enough to satisfy everyone.
(I have posted about this before on the Lean Zulip forum, it's open to everyone to read without an account [1])

InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purposebuilt database. Run at any scale in any environment in the cloud, onpremises, or at the edge.
Lean theoremproving related posts
 Towards a new SymPy: part 2 – Polynomials
 Lean 4.0.0, first official lean4 release
 It's not mathematics that you need to contribute to (2010)
 Did studying proof based math topics e.g. analysis make you a better programmer?
 [R] Large Language Models trained on code reason better, even on benchmarks that have nothing to do with code
 Is there a paid service where someone can explain a paper to me like I am 15?
 sigma >> capital pi

A note from our sponsor  InfluxDB
www.influxdata.com  28 Sep 2023
Index
Project  Stars  

1  mathlib  1,604 