Philip Zucker
@sandmouth.bsky.social
📤 277
📥 340
📝 115
Computer Friend, Not a Bird www.philipzucker.com
pinned post!
I put a new preprint up summarizing a year or so of fun e-graph ideas. Check it out!
#egraphs
#logic
#compilers
arxiv.org/abs/2504.14340
loading . . .
Omelets Need Onions: E-graphs Modulo Theories via Bottom-up E-matching
E-graphs are a data structure for equational reasoning and optimization over ground terms. One of the benefits of e-graph rewriting is that it can declaratively handle useful but difficult to orient i...
https://arxiv.org/abs/2504.14340
5 months ago
0
5
1
reposted by
Philip Zucker
José A. Alonso
about 16 hours ago
Formally verifying a vertical cell decomposition algorithm. ~ Yves Bertot, Thomas Portet.
drops.dagstuhl.de/storage/00li...
#ITP
#Rocq
0
0
1
[New Blog Post] Proving the Infinitude of Primes in Knuckledragger
#python
#logic
www.philipzucker.com/knuckle_prim...
loading . . .
Proving the Infinitude of Primes in Knuckledragger
Cody challenged me to prove that there are an infinitely many primes in Knuckledragger, saying it’s the minimum thing to do to demonstrate you have a proof assistant. https://en.wikipedia.org/wiki/Euc...
https://www.philipzucker.com/knuckle_primes/
about 10 hours ago
0
2
1
[New Blog Post] Proof Rules for MetaSMT
#python
#logic
www.philipzucker.com/kdrag_proof_...
loading . . .
Proof Rules for MetaSMT
Knuckledragger https://github.com/philzook58/knuckledragger is my system for interactive theorem proving in python. The core system is not python specific and has some interesting theoretical aspects.
https://www.philipzucker.com/kdrag_proof_rules/
6 days ago
0
2
0
reposted by
Philip Zucker
José A. Alonso
11 days ago
Case study: Verified Vampire proofs in the lambdapi-calculus modulo. ~ Anja Petković Komel, Michael Rawson, Martin Suda.
arxiv.org/abs/2503.15541
#ATP
#Vampire
#ITP
#Dedukti
loading . . .
Case Study: Verified Vampire Proofs in the LambdaPi-calculus Modulo
The Vampire automated theorem prover is extended to output machine-checkable proofs in the Dedukti concrete syntax for the LambdaPi-calculus modulo. This significantly reduces the trusted computing ba...
https://arxiv.org/abs/2503.15541
0
5
1
reposted by
Philip Zucker
Alex Nelson
12 days ago
Read later
arxiv.org/abs/2305.15382
loading . . .
Theorem Proving in Dependently-Typed Higher-Order Logic -- Extended Preprint
Higher-order logic HOL offers a very simple syntax and semantics for representing and reasoning about typed data structures. But its type system lacks advanced features where types may depend on terms...
https://arxiv.org/abs/2305.15382
0
1
1
[New Blog Post] A Slotted Hash Cons for Alpha Invariance
www.philipzucker.com/slotted_hash...
#hashing
#egraph
#lambda
loading . . .
A Slotted Hash Cons for Alpha Invariance
Slotted e-graphs https://dl.acm.org/doi/10.1145/3729326 are a data structure that compactly stores many equivalent terms in an alpha invariant aware way. I’ve been very excited by them but also very c...
https://www.philipzucker.com/slotted_hash_cons/
14 days ago
0
2
0
reposted by
Philip Zucker
José A. Alonso
16 days ago
Stratified datalog and program analysis (in Isabelle/HOL). ~ Anders Schlichtkrull, René Rydhof Hansen, Flemming Nielson.
www.isa-afp.org/entries/Stra...
#ITP
#IsabelleHOL
loading . . .
Stratified Datalog and Program Analysis
Stratified Datalog and Program Analysis in the Archive of Formal Proofs
https://www.isa-afp.org/entries/Stratified_Datalog.html
0
1
1
reposted by
Philip Zucker
Michael Goerz
17 days ago
A quick note on Lindblad operators in composite systems. Something I've been confused about for years.
#quantum
goerz-research.github.io/2025-09-11_C...
Also contains a useful
#JuliaLang
implementation for a partial trace function, if you ever need that (surprisingly tricky!)
loading . . .
https://goerz-research.github.io/2025-09-11_Composite_Dissipation/CompositeDissipation.html
0
6
1
reposted by
Philip Zucker
Cody
27 days ago
I'm actually kind of proud of this one:
open.spotify.com/episode/6LNn...
loading . . .
TREE(3) and the Kruskal theorem
Spotify video
https://open.spotify.com/episode/6LNnPGh3pKlc4qQHfzTnmi?si=24ec7dd082004664
1
1
1
[New Blog Post] Compositional Datalog on SQL: Relational Algebra of the Environment
#datalog
#database
#sql
www.philipzucker.com/compose_data...
loading . . .
Compositional Datalog on SQL: Relational Algebra of the Environment
I spent sone time making Datalogs that translated into SQL. https://www.philipzucker.com/tiny-sqlite-datalog/
https://www.philipzucker.com/compose_datalog/
about 1 month ago
0
5
1
[New Blog Post] A Python CLI for Verifying Assembly
#formalmethods
#assembly
#compilers
www.philipzucker.com/asm_verify3/
loading . . .
A Python CLI for Verifying Assembly
I’ve been building a system that verifies assembly programs via symbolic execution. I think the following are the most novel points of my approach:
https://www.philipzucker.com/asm_verify3/
about 1 month ago
0
2
1
reposted by
Philip Zucker
José A. Alonso
about 1 month ago
The Vampire diary ~ Filip Bártek et als.
arxiv.org/abs/2506.03030
#ATP
#Vampire
loading . . .
The Vampire Diary
During the past decade of continuous development, the theorem prover Vampire has become an automated solver for the combined theories of commonly-used data structures. Vampire now supports arithmetic,...
https://arxiv.org/abs/2506.03030
0
1
1
reposted by
Philip Zucker
José A. Alonso
about 2 months ago
Second analysis lecture "Filter" (June 17, 2025). ~ Alex Kontorovich.
alexkontorovich.github.io/2025SimonsFo...
#ITP
#LeanProver
#Math
0
2
1
[New Blog Post] Knuckledragger Analysis Etudes
www.philipzucker.com/knuckle_anal...
loading . . .
Knuckledragger Analysis Etudes
I got kind of discouraged maybe 6 months ago trying some real analysis stuff.
https://www.philipzucker.com/knuckle_analysis1/
about 2 months ago
0
1
0
[New Blog Post] Semantic Refinement/Dependent Typing for Knuckledragger/SMTLIB Pt 1
www.philipzucker.com/refinement_k...
#types
#smt
loading . . .
Semantic Refinement/Dependent Typing for Knuckledragger/SMTLIB Pt 1
It has been a question from the beginning how to emulate dependent types in Knuckledragger.
https://www.philipzucker.com/refinement_kdrag1/
about 2 months ago
1
2
1
reposted by
Philip Zucker
Flux
about 2 months ago
Isle 🏝️ is my new
#FPGA
project. Isle is a simple, modern computer — an open design that encourages tinkering, experimentation, and doing your own thing. I hope to inspire you to come on a journey with me and build your own computer.
projectf.io/isle/fpga-co...
2
31
12
[New Blog Post] Verified Assembly 2: Memory, RISC-V, Cuts for Invariants, and Ghost Code
www.philipzucker.com/asm_verify2/
#ghidra
#assembly
loading . . .
Verified Assembly 2: Memory, RISC-V, Cuts for Invariants, and Ghost Code
I’ve been hitting a good stride moving forward on this, which is good because I’ve been pretty mentally constipated on doing anything that I can even pretend is useful.
https://www.philipzucker.com/asm_verify2/
2 months ago
0
1
0
reposted by
Philip Zucker
Bartosz Milewski
2 months ago
Another homotopy blog post.
bartoszmilewski.com/2025/07/26/w...
loading . . .
(Weak) Factorization Systems
Previously (Weak) Homotopy Equivalences. An average function between sets, $latex f \colon A \to B$ is neither surjective nor injective. We can however isolate the two “failure modes” i…
https://bartoszmilewski.com/2025/07/26/weak-factorization-systems/
0
5
2
reposted by
Philip Zucker
Björkus "No time_t to Die" Dorkus
2 months ago
... Well. I got a paper number, despite thinking I'd just hold onto it. No wording but I think it's about as complete as it can be.
thephd.dev/_vendor/futu...
loading . . .
N3657: Functions with Data - Closures in C (A Comprehensive Proposal Overviewing Blocks, Nested Functions, and Lambdas)
https://thephd.dev/_vendor/future_cxx/papers/C%20-%20Functions%20with%20Data%20-%20Closures%20in%20C.html
2
26
7
Something I think is interesting about Knuckledragger is that the meta (python) is very different than the object language (HOL/SMTLIB).
2 months ago
1
2
0
[New Blog Post] Semi-Automated Assembly Verification in Python using pypcode Semantics
#ghidra
#assembly
www.philipzucker.com/assembly_ver...
loading . . .
Semi-Automated Assembly Verification in Python using pypcode Semantics
I’ve worked on binary verification tooling for a while.
https://www.philipzucker.com/assembly_verify/
2 months ago
0
2
0
reposted by
Philip Zucker
José A. Alonso
2 months ago
The calculated typer (Functional Pearl). ~ Zac Garby, Patrick Bahr, Graham Hutton.
people.cs.nott.ac.uk/pszgmh/typer...
#Haskell
#FunctionalProgramming
0
5
2
reposted by
Philip Zucker
José A. Alonso
2 months ago
Teaching software specification (Experience report). ~ Cameron Moy, Daniel Patterson.
ccs.neu.edu/~camoy/pub/l...
#CompSci
#Teaching
#ITP
#LeanProver
#ACL2
0
2
2
reposted by
Philip Zucker
arxiv cs.PL
2 months ago
Tom Smeding, Miko{\l}aj Konarski, Simon Peyton Jones, Andrew Fitzgibbon Dual-Numbers Reverse AD for Functional Array Languages
https://arxiv.org/abs/2507.12640
0
0
1
reposted by
Philip Zucker
José A. Alonso
2 months ago
A simple formalization of alpha-equivalence. ~ Kalmer Apinis, Danel Ahman.
arxiv.org/abs/2507.10181
#ITP
#Rocq
loading . . .
A simple formalization of alpha-equivalence
While teaching untyped $λ$-calculus to undergraduate students, we were wondering why $α$-equivalence is not directly inductively defined. In this paper, we demonstrate that this is indeed feasible. Sp...
https://arxiv.org/abs/2507.10181
0
2
2
reposted by
Philip Zucker
Torsten „Teggy“ Grust
4 months ago
buttondown.com/jaffray/arch...
loading . . .
Trampolines for SQL
It is CIDR time and that means there is a lot of out-there papers in the world of databases to look at. If you are not familiar, CIDR is the Conference on...
https://buttondown.com/jaffray/archive/trampolines-for-sql/
0
4
2
reposted by
Philip Zucker
Luc Tielen
3 months ago
Great blogpost about partial evaluation / futamura projections applied to WASM:
cfallin.org/blog/2024/08...
loading . . .
Compilation of JavaScript to Wasm, Part 3: Partial Evaluation
https://cfallin.org/blog/2024/08/28/weval/
1
8
3
reposted by
Philip Zucker
Martin Kleppmann
3 months ago
I first wrote up the idea for this 6 years ago, but it took a huge amount of work to actually turn it into reality. Thank you to Orion for the heavy lifting, and all the other Automerge contributors for making it happen!
add a skeleton here at some point
0
65
7
reposted by
Philip Zucker
José A. Alonso
3 months ago
Exploiting instantiations from paramodulation proofs in Isabelle/HOL. ~ Lukas Bartl, Jasmin Blanchette, Tobias Nipkow.
www.tcs.ifi.lmu.de/mitarbeiter/...
#ITP
#IsabelleHOL
0
1
1
reposted by
Philip Zucker
mcyoung 🏳️🌈
3 months ago
i love c++
mcyoung.xyz/2025/07/14/b...
loading . . .
The Best C++ Library · mcyoung
https://mcyoung.xyz/2025/07/14/best/
6
32
7
[New Blog Post] Using Lean like an External SMT Solver from Python
www.philipzucker.com/lean_smt/
#LeanLang
@lean-lang.org
loading . . .
Using Lean like an External SMT Solver from Python
It seems that the only thing I don’t want to use Lean for is it’s main purpose. That tracks.
https://www.philipzucker.com/lean_smt/
3 months ago
0
6
0
reposted by
Philip Zucker
Romain Thomas (@rh0main)
3 months ago
New blog post on implementing patchelf-like functionalities using LIEF's Rust bindings:
lief.re/blog/2025-07...
loading . . .
LIEF patchelf
This blog post introduces a modern LIEF-based version of patchelf
https://lief.re/blog/2025-07-13-patchelf/
0
3
2
reposted by
Philip Zucker
Alex Nelson
3 months ago
Read later
arxiv.org/abs/2507.06360
loading . . .
Pyrosome: Verified Compilation for Modular Metatheory
We present Pyrosome, a generic framework for modular language metatheory that embodies a novel approach to extensible semantics and compilation, implemented in Coq. Common techniques for semantic reas...
https://arxiv.org/abs/2507.06360
0
1
1
reposted by
Philip Zucker
Kristopher Micinski
3 months ago
May 25-27, 2025, I hosted an event, the "Minnowbrook Logic Programming Seminar," in Blue Mountain Lake, NY. I recorded 11 talks on Datalog-related interests, totaling over 9+ hours of video, which I have just now published on YouTube
youtu.be/3ec9VfMUVa8
loading . . .
Minnowbrook Logic Programming Seminar (Supercut w/ Extras)
YouTube video by Kristopher Micinski
https://youtu.be/3ec9VfMUVa8
2
18
6
[New Blog Post] Doing Lean Dirty: Lean as a Jupyter Notebook Replacement
www.philipzucker.com/dirty_lean/
#lean4
loading . . .
Doing Lean Dirty: Lean as a Jupyter Notebook Replacement
import Lean import Std.Data.HashMap import Std.Data.HashSet
https://www.philipzucker.com/dirty_lean/
3 months ago
0
8
1
reposted by
Philip Zucker
3 months ago
Markus Himmel has written a blog post about how to write a simple imperative program in Lean and then how to verify that the program is bug-free.
markushimmel.de/blog/my-firs...
loading . . .
My first verified (imperative) program
One of the many exciting new features in the upcoming Lean 4.22 release is a preview of the new verification infrastructure for proving properties of imperative programs. In this post, I’ll take a fir...
https://markushimmel.de/blog/my-first-verified-imperative-program/
1
18
7
reposted by
Philip Zucker
Lawrence Paulson
3 months ago
Constructing the Lie Algebra of Smooth Vector Fields on a Lie Group in Isabelle/HOL
link.springer.com/article/10.1...
loading . . .
Constructing the Lie Algebra of Smooth Vector Fields on a Lie Group in Isabelle/HOL - Journal of Automated Reasoning
This paper describes a formal theory of smooth vector fields, Lie groups and the Lie algebra of a Lie group in the theorem prover Isabelle. Lie groups are abstract structures that are composable, inve...
https://link.springer.com/article/10.1007/s10817-025-09724-x
0
3
1
reposted by
Philip Zucker
steph
3 months ago
Finally got around to using a treap for my Rust CVM implementation, as Knuth (literally:
cs.stanford.edu/~knuth/paper...
) intended. Its implementation is compact (~150 LoC, but maybe there's some perf left to wring out of it), but it works real well:
crates.io/crates/cvmco...
loading . . .
crates.io: Rust Package Registry
https://crates.io/crates/cvmcount
1
21
6
reposted by
Philip Zucker
Megan HG
3 months ago
Starting off uniform circular motion with the whirling stopper is classic but the data can be inconsistent. How might I make the central force more uniform without spending hundreds on dedicated apparatus?
#ITeachPhysics
6
3
1
reposted by
Philip Zucker
Andy Pavlo
3 months ago
People asked for the rest of the lecture videos for CMU-DB's optimizer course (
15799.courses.cs.cmu.edu/spring2025
). Unfortunately I got super sick and was in the hospital for 4 weeks. Thankfully
@wslim.bsky.social
+ Jignesh taught the remaining lectures, but we didn't record those classes.
loading . . .
CMU 15-799 :: Special Topics in Databases: Query Optimization (Spring 2025)
This course is a hands-on exploration of the most challenging problem in computer science: database query optimization. It will cover the classical and state-of-the-art methods and algorithms for conv...
https://15799.courses.cs.cmu.edu/spring2025/
1
13
2
[New Blog Post] Inequality Union Finds: Baby Steps to Refinement E-graphs
#compiler
www.philipzucker.com/le_find/
loading . . .
Inequality Union Finds: Baby Steps to Refinement E-graphs
Something I’ve been seeking for a while is a notion of a “refinement e-graph”.
https://www.philipzucker.com/le_find/
3 months ago
0
3
0
reposted by
Philip Zucker
José A. Alonso
3 months ago
A Rocq formalization of simplicial Lagrange finite elements. ~ Sylvie Boldo, François Clément, Vincent Martin, Micaela Mayero, Houda Mouhcine.
inria.hal.science/hal-05128954...
#ITP
#Rocq
#Math
0
2
1
reposted by
Philip Zucker
Frank McSherry
3 months ago
Next in the Datalog series: writing an optimizer. I used e-graphs to get a feel for how they work, and .. debugging e-graph rules is a lot different from debugging Rust. I really like the idea of forcing myself to use it, and teaching it what rules I think I know.
github.com/frankmcsherr...
loading . . .
https://github.com/frankmcsherry/blog/blob/master/posts/2025-06-03.md#planning-and-optimizing
0
6
2
reposted by
Philip Zucker
Yaron Minsky
3 months ago
A gem from Stephen Dolan, which proposes replacing the "generational hypothesis" that drives the design of generational GCs with a notion of lifetime dispersion as measured by the gini coefficient. Nice to see economics playing a role here!
dl.acm.org/doi/pdf/10.1...
1
34
7
[New Blog Post] Telescopes Are Tries: A Dependent Type Shellac on SQLite
#database
#logic
www.philipzucker.com/telescope_tr...
loading . . .
Telescopes Are Tries: A Dependent Type Shellac on SQLite
It seems to me that telescopes https://ncatlab.org/nlab/show/type+telescope , the dependently typed notion of context, is more central to the topic of dependent types than the dependent types are.
https://www.philipzucker.com/telescope_tries/
3 months ago
0
0
0
[New Blog Post] PLDI 2025 and E-Graphs Modulo Theories Talk
www.philipzucker.com/pldi_2025/
@sigplan-pldi.bsky.social
loading . . .
PLDI 2025 and E-Graphs Modulo Theories Talk
I gave a talk at EGRAPHS 2025 - Omelets Need Onions: E-graphs Modulo Theories via Bottom Up E-Matching link slides youtube
https://www.philipzucker.com/pldi_2025/
3 months ago
0
7
0
reposted by
Philip Zucker
3 months ago
Verified Nanopasses for Compiling Conditionals (draft)
www.dropbox.com/scl/fi/cac5j...
loading . . .
https://www.dropbox.com/scl/fi/cac5jemdpo9duj25aq0n6/verified-nanopass.pdf?rlkey=sfmjjf5fpzwmfwgexd2x3swfv&dl=1
0
4
3
reposted by
Philip Zucker
Michael Freeman
3 months ago
Rotating saddle: wait for the end 🤯
#iTeachPhysics
loading . . .
Paul Trap
YouTube video by uclaphysicsvideo
https://www.youtube.com/watch?v=Xb-zpM0UOzk
1
6
1
reposted by
Philip Zucker
Sam Westrick
3 months ago
taking a go at oxcaml today first attempt: let's try a parallel reduction. Idea is to compute the "sum" of [f(lo), ..., f(hi-1)] in parallel, combining via some associative function g (and corresponding zero element, z).
1
33
5
reposted by
Philip Zucker
Talia Ringer
3 months ago
arxiv.org/abs/2310.06959
loading . . .
Proof Repair across Quotient Type Equivalences
Proofs in proof assistants like Coq can be brittle, breaking easily in response to changes. To address this, recent work introduced an algorithm and tool in Coq to automatically repair broken proofs i...
https://arxiv.org/abs/2310.06959
0
7
2
Load more
feeds!
log in