Philip Zucker
@sandmouth.bsky.social
đ€ 285
đ„ 346
đ 125
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
7 months ago
0
7
1
reposted by
Philip Zucker
Lawrence Paulson
about 13 hours ago
Just out: Functional Data Structures, edited by Tobias Nipkow
0
13
6
reposted by
Philip Zucker
Lawrence Paulson
4 days ago
New on my blog: Set theory with types
lawrencecpaulson.github.io/2025/11/21/T...
loading . . .
Set theory with types
https://lawrencecpaulson.github.io/2025/11/21/Typed_Set_Theory.html
1
2
2
I've pushed Knuckledragger, my z3 based python proof assistant, up to PyPI
pypi.org/project/knuc...
loading . . .
knuckledragger
Interactive Theorem Prover
https://pypi.org/project/knuckledragger/
10 days ago
1
9
1
[New Blog Post] Implementing E Unification using SMT
www.philipzucker.com/smt_unify/
#logic
#automatedreasoning
#smt
loading . . .
Implementing E Unification using SMT
Unification is a logical flavored word for the notion of equation solving.
https://www.philipzucker.com/smt_unify/
15 days ago
0
2
0
reposted by
Philip Zucker
José A. Alonso
29 days ago
Towards a verified compiler for Distributed PlusCal. ~ Ghilain Bergeron, Horatiu Cirstea, Stephan Merz.
hal.science/hal-05329156...
#ITP
#LeanProver
0
2
1
reposted by
Philip Zucker
Catherine
about 1 month ago
please enjoy: my Wasm-hosted, Wasm-targeting build of Clang/Clang++/LLD: a self-contained, 25 MiB (gzipped) pure function
www.npmjs.com/package/@yow...
loading . . .
4
157
33
A toy hour clock example proof in a TLA dsl of knuckledragger. Basically combinators over `Int -> T` functions.
@hillelwayne.com
about 1 month ago
0
1
0
reposted by
Philip Zucker
José A. Alonso
about 1 month ago
A gentle introduction to the axiom of choice. ~ Andreas Blass, Dhruv Kulshreshtha.
arxiv.org/abs/2509.01830
#Math
#SetTheory
loading . . .
A Gentle Introduction to the Axiom of Choice
This article offers a gentle introduction to the axiom of choice. We introduce the axiom, discuss some common objections to it, and present three kinds of reasons to accept it. Although the exposition...
https://arxiv.org/abs/2509.01830
0
4
2
[New Blog Post] ZF style set theory in Knuckledragger I
www.philipzucker.com/zf_knuckle1/
#python
#logic
loading . . .
ZF style set theory in Knuckledragger I
Zermelo-Fraenkel set theory is a theory of sets.
https://www.philipzucker.com/zf_knuckle1/
about 1 month ago
0
0
0
reposted by
Philip Zucker
José A. Alonso
about 2 months ago
A formally verified IEEE 754 floating-point implementation of interval iteration for MDPs. ~ Bram Kohlen, Maximilian SchÀffeler, Mohammad Abdulaziz, Arnd Hartmanns, Peter Lammich.
arxiv.org/abs/2501.10127
#ITP
#IsabelleHOL
loading . . .
A Formally Verified IEEE 754 Floating-Point Implementation of Interval Iteration for MDPs
We present an efficiently executable, formally verified implementation of interval iteration for MDPs. Our correctness proofs span the entire development from the high-level abstract semantics of MDPs...
https://arxiv.org/abs/2501.10127
0
1
1
[New Blog Post] Toy Binary Decision Diagrams
www.philipzucker.com/toy_bdd/
#python
#logic
loading . . .
Toy Binary Decision Diagrams
Binary decision diagrams https://en.wikipedia.org/wiki/Binary_decision_diagram are a data structure for storing boolean functions, spiritually something like [Bool] -> Bool. You can tabulate such a th...
https://www.philipzucker.com/toy_bdd/
about 2 months ago
0
0
0
In honor of
#racketcon
Iâve bolted some quotation onto Knuckledragger
github.com/philzook58/k...
. Might even be sound!
loading . . .
knuckledragger/src/kdrag/theories/sexp.py at main · philzook58/knuckledragger
A Low Barrier Proof Assistant. Contribute to philzook58/knuckledragger development by creating an account on GitHub.
https://github.com/philzook58/knuckledragger/blob/main/src/kdrag/theories/sexp.py
about 2 months ago
0
0
0
reposted by
Philip Zucker
Hillel is taking a break
about 2 months ago
Continue to feel like 95% of "why programmers should learn category theory" blogs are really "why programmers should learn abstract algebra" Which is annoying because there are 1000s of blogs on category theory and 0 on abstract algebra
6
68
1
reposted by
Philip Zucker
José A. Alonso
about 2 months ago
Determinism types for functional logic programming. ~ Michael Hanus, Kai-Oliver Prott.
www.michaelhanus.de/publications...
#ITP
#Rocq
0
0
1
reposted by
Philip Zucker
José A. Alonso
about 2 months 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 2 months ago
0
3
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/
2 months ago
0
3
0
reposted by
Philip Zucker
José A. Alonso
2 months 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
2 months 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/
2 months ago
0
2
0
reposted by
Philip Zucker
José A. Alonso
2 months 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
2
1
reposted by
Philip Zucker
Michael Goerz
2 months 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
3 months 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/
3 months ago
0
6
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/
3 months ago
0
2
1
reposted by
Philip Zucker
José A. Alonso
3 months 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
3 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/
4 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/
4 months ago
1
2
1
reposted by
Philip Zucker
Flux
4 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/
4 months ago
0
1
0
reposted by
Philip Zucker
Bartosz Milewski
4 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
4 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
25
7
Something I think is interesting about Knuckledragger is that the meta (python) is very different than the object language (HOL/SMTLIB).
4 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/
4 months ago
0
2
0
reposted by
Philip Zucker
José A. Alonso
4 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
4 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
4 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
4 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
6 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
4 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
9
3
reposted by
Philip Zucker
Martin Kleppmann
4 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
4 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 đłïžâđ
4 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/
4 months ago
0
6
0
reposted by
Philip Zucker
Romain Thomas (@rh0main)
4 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
5 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
5 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/
5 months ago
0
8
1
reposted by
Philip Zucker
5 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
19
7
Load more
feeds!
log in