







An SMT solver for bit-vectors, floating-points, arrays and uninterpreted functions.
Symbolica | Modern Computer Algebra
High-performance symbolic-numeric computing for Python and Rust.
Satisfiability Modulo Theories: A Beginner’s Tutorial — Satisfiability Modulo Theories: A Beginner's Tutorial documentation
Great minds have long dreamed of creating machines that can function as general-purpose problem solvers. Satisfiability modulo theories (SMT) has emerged as one pragmatic realization of this dream, providing significant expressive power and automation. This tutorial is a beginner’s guide to SMT. It includes an overview of SMT and its formal foundations, a catalog of the main theories used in SMT solvers, and illustrations of how to obtain models and proofs. Throughout the tutorial, examples and exercises are provided as hands-on activities for the reader. They can be run using either Python or the SMT-LIB language, using either the cvc5 or the z3 SMT solver.
Chris Peikert on Twitter / X
WOW!! 🤯Among many jaw-dropping results, this proves NP-hardness of the Closest Vector and Nearest Codeword Problems for *polynomial* approximation factors, for the first time ever, and via a totally new approach (Reed-Solomon techniques). Amazing! https://t.co/3yh3scLX5R— Chris Peikert (@ChrisPeikert) August 1, 2026
Quantization from the ground up | ngrok blog
A complete guide to quantization: how LLMs store parameters as floats, why shrinking them to 4 or 8 bits barely hurts accuracy, and how to measure the tradeoff.

Calculating with lenses | Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the ...

Compiling Higher-Order Specifications to SMT Solvers: How to Deal with Rejection Constructively | Proceedings of the 12th ACM SIGPLAN International Conference on Certified Programs and Proofs
We present a decision procedure that combines reasoning about datatypes and codatatypes. The dual of the acyclicity rule for datatypes is a uniqueness rule that identifies observationally equal codatatype values, including cyclic values. The procedure ...


The Interface of Kai Krause's Software @mprove
Matthias Müller-Prove, Innovative Benutzungsschnittstellen, 1998/99, University of Hamburg

OpenSPH
A new graphical application that uses the OpenSPH solver, but with a user interface that is more interactive, intuitive, and easy to use. This version is still under development.
Array programming with NumPy
Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data in vectors, matrices and higher-dimensional arrays. NumPy is the primary array programming library for the Python language. It has an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, materials science, engineering, finance and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves1 and in the first imaging of a black hole2. Here we review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data. NumPy is the foundation upon which the scientific Python ecosystem is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Owing to its central position in the ecosystem, NumPy increasingly acts as an interoperability layer between such array computation libraries and, together with its application programming interface (API), provides a flexible framework to support the next decade of scientific and industrial analysis.

clingo
Current answer set solvers work on variable-free programs. Hence, a grounder is needed that, given an input program with first-order variables, computes an e...
A Gentle Introduction to Secure Computation
In Fall 2015, I took CS 276, a graduate level introduction to theoretical cryptography. For the final project, I gave a short presentation on secure computation.
Triton: A dynamic binary analysis library
Triton: A dynamic binary analysis library
The Kaitchup Index: A Leaderboard for LLMs and Their Quantized Versions
Comparing formats like GGUF, GPTQ, and AWQ, with different bitwidths

A faster way to calculate the day-of-the-week
A range of fast modulus techniques that beat compiler output
Issue 084: Spreadsheets
Welcome to the 84th issue of De Programmatica Ipsum, about Spreadsheets. In this edition, we declare spreadsheets the most popular software programming environment of all time; in the Library section, we learn how to use Lotus 1-2-3 for science reading "Spreadsheet Physics" by Charles Misner and Patrick Cooney; and in our Vidéothèque section, we discover that Excel is a Turing-complete, functional programming language through the eyes of Dr. Felienne Hermans.
