Philip Zucker
@sandmouth.bsky.social
📤 314
📥 361
📝 182
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
about 1 year ago
0
8
1
A new blog post, Arenas, Cyclic Terms, and Flat Equational Systems
www.philipzucker.com/arena_coegra...
#datastructures
loading . . .
Arenas, Cyclic Terms, and Flat Equational Systems
I was invited a few months ago into discussions with Cheng Zhang, Sam Coward and Alexandra Silva on some work integrating loopy infinite streamy things into e-graphs. A few years back, I was barking u...
https://www.philipzucker.com/arena_coegraph2_rational/
7 days ago
0
2
0
A New Blog Post: Lifting E-Graphs
www.philipzucker.com/lifting_egra...
#egraphs
loading . . .
Lifting E-Graphs
I submitted a talk to the EGRAPHS workshop and it was accepted! https://pldi26.sigplan.org/details/egraphs-2026-papers/13/Lifting-E-Graphs-A-Function-Isn-t-a-Constant
https://www.philipzucker.com/lifting_egraph/
14 days ago
0
2
0
reposted by
Philip Zucker
Kiran
17 days ago
Z3! You're on WATCH! Latest update to
lean.py
is a drop in replacement for Z3! Everyone's trying to put SMT solvers in their theorem prover, how about putting a theorem prover in your SMT solver? and here's the crazy thing: One click install, if you know Z3, you KNOW
lean.py
. You are not ready.
add a skeleton here at some point
3
35
8
reposted by
Philip Zucker
José A. Alonso
18 days ago
Four–in-a-row in Rocq. ~ Laurent Théry.
inria.hal.science/hal-05625464...
#RocqProver
#ITP
0
0
1
reposted by
Philip Zucker
Kiran
20 days ago
Craziest thing about
lean.py
? You can roll your own (almost) feature-parity successor to Dafny. Python programs. Lean obligations. Grind as a solver. Proof complete. Program verified. Python code. Real.
add a skeleton here at some point
4
51
8
Interesting, someone is reviving prover9
github.com/AlgorithmicT...
loading . . .
GitHub - AlgorithmicTruth/Prover9: Prover9 is a resolution and paramodulation-based theorem prover for first-order and equational logic, and Mace4 searches for finite counterexamples.
Prover9 is a resolution and paramodulation-based theorem prover for first-order and equational logic, and Mace4 searches for finite counterexamples. - AlgorithmicTruth/Prover9
https://github.com/AlgorithmicTruth/Prover9
20 days ago
0
2
0
[New Blog Post] Reading Proof Objects and Completed Rewrite Systems from eprover into Knuckledragger
www.philipzucker.com/proof_proces...
#python
#logic
#automatedtheoremproving
#formalmethods
loading . . .
Reading Proof Objects and Completed Rewrite Systems from eprover into Knuckledragger
Automated reasoning is fun.
https://www.philipzucker.com/proof_processing/
22 days ago
1
3
0
Pretty interesting experiment in rust bindings to vampire
docs.rs/vampire-prov...
I feel like this is an uphill maintenance battle though
loading . . .
vampire_prover - Rust
A Rust interface to the Vampire theorem prover.
https://docs.rs/vampire-prover/latest/vampire_prover/
25 days ago
0
2
1
vprover.github.io/vampireGuide/
loading . . .
Online Vampire Guide
Description will go into a meta tag in <head />
https://vprover.github.io/vampireGuide/
25 days ago
0
1
0
reposted by
Philip Zucker
José A. Alonso
26 days ago
Verified tableaux: from modal logics to modal fixpoint logics.
link.springer.com/article/10.1...
#CoqProver
#ITP
#Logic
loading . . .
Verified Tableaux: from Modal Logics to Modal Fixpoint Logics - Journal of Automated Reasoning
We formalise tableau procedures for the modal logics K, KT, and S4, and the modal fixpoint logic LTL, in the proof assistant Coq version 8.17.1. This involves encoding the algorithms, and formally pro...
https://link.springer.com/article/10.1007/s10817-026-09754-z
0
1
2
[New Blog Post] Family Orienting Python Frozenset Dependent Type Theory
www.philipzucker.com/dtt_python_f...
#logic
#python
#typetheory
loading . . .
Family Orienting Python Frozenset Dependent Type Theory
I like trying to finitize things and put them in mundane trappings.
https://www.philipzucker.com/dtt_python_family/
29 days ago
0
3
0
reposted by
Philip Zucker
Rondo Dondo
about 1 month ago
scheme-rs 0.2 has been released! Lots of new features but my favorite is the params system which allows you to share rust mutable variables over a scheme delimited continuation. This solves the “how do I share this mutable reference with my scripting language” problem
github.com/maplant/sche...
loading . . .
Release Version 0.2.0 · maplant/scheme-rs
Added Added import restrictions system via allowlists (thanks @wizzeh!). Added automatically importing (rnrs (6)) if no imports are present in a scheme program. Added Basic threading library (thr...
https://github.com/maplant/scheme-rs/releases/tag/v0.2.0
0
6
2
reposted by
Philip Zucker
Lawrence Paulson
about 1 month ago
New on my blog: Mizar: the first usable proof assistant for mathematics
lawrencecpaulson.github.io/2026/05/07/M...
loading . . .
Mizar: the first usable proof assistant for mathematics
https://lawrencecpaulson.github.io/2026/05/07/Mizar.html
1
8
3
reposted by
Philip Zucker
Kiran
about 1 month ago
ML researchers know Python. Proof engineers know Lean. Never the two should meet.. Until now! Announcing
Lean.py
, effortless Lean to Python and Python to Lean bindings! - Write Lean tactics in Python - Access the Python ecosystem in Lean
github.com/kiranandcode...
add a skeleton here at some point
4
56
21
reposted by
Philip Zucker
Alex Nelson
about 1 month ago
Announcing: Myo, the LCF-style proof assistant based on Intuitionistic first-order logic plus Feferman's FS0 set theory. It's very coarse, literally the first public commit and nothing more. But it's quite capable.
codeberg.org/pqnelson/myo
loading . . .
myo
An LCF-style proof assistant for Intuitionistic first-order logic + Feferman's FS0 set theory
https://codeberg.org/pqnelson/myo
1
3
1
[New Blog Post] Lifting and Lowering Functions with The Dump Calculus
www.philipzucker.com/dump_calculus/
#python
#functionalprogramming
#logic
#egraphs
loading . . .
Lifting and Lowering Functions with The Dump Calculus
I’ve been trying to think about how to make a nameless de bruijn-y e-graph and that has led me down a road to consider some interesting functional combinators for lifting and lowering functions.
https://www.philipzucker.com/dump_calculus/
about 1 month ago
0
1
0
reposted by
Philip Zucker
Oisín Kidney
about 1 month ago
Tries for Polynomials
doisinkidney.com/posts/2026-0...
loading . . .
Tries for Polynomials - Donnacha Oisín Kidney
https://doisinkidney.com/posts/2026-04-28-poly-trie.html
0
8
5
reposted by
Philip Zucker
Arnaud Spiwack
about 1 month ago
People on the internet (👋
@bartoszmilewski.bsky.social
,
@sjoerdvisscher.w3future.com
) made my mind drift toward proarrow equipments today. I never really paid attention before. It's a quite minimalistic, but natural setting. 1/5
1
2
2
reposted by
Philip Zucker
Alex Nelson
about 2 months ago
Otten and Kreitz's "T-String-Unification: Unifying Prefixes in Non-Classical Proof Methods" seems like a suitable proxy, though... (Well, I hope, because I don't have access to Wallen's book, so I cannot say if it is adequate or not as a substitute.)
0
0
1
Thinning/Lifting E-Graphs for Alpha Equivalence: Checkpoint I
www.philipzucker.com/thin_egraph/
#rust
#egraphs
loading . . .
Thinning/Lifting E-Graphs for Alpha Equivalence: Checkpoint I
Thinnings are something that shows up when you think about binders and contexts. I’ve been trying to build an alpha equivalence aware e-graph using the concept. For a moment complexity seemed spiralli...
https://www.philipzucker.com/thin_egraph/
about 2 months ago
0
3
0
reposted by
Philip Zucker
verijit
about 2 months ago
Hi! We build fast verilog simulators using just in time compilation. Our simulator outperforms existing verilog simulators by up to x100. verijit is a project by
@cfbolz.bsky.social
and Can Joshua Lehmann. Check out out demo video here:
www
.
youtube.com/watch?v=PXgUsEjvAOY
loading . . .
Verijit – Up to 100x faster Verilog simulation
YouTube video by verijit
https://youtube.com/watch?v=PXgUsEjvAOY
1
7
6
reposted by
Philip Zucker
Cody
about 2 months ago
Finally proved the critical pair lemma in Lean! Not sure if it's been done before (in Lean, it's been done in Isabelle and Coq both, I believe).
github.com/codyroux/tra...
I prematurely announced this, but I hadn't quite proven the full theorem yet...
loading . . .
traat-lean/Traat/criticalpairs.lean at 4a37997cfb0abdbbeba2a74f4407cc643ffc53ee · codyroux/traat-lean
Lean formalization of selected lemmas from "Term Rewriting and All That" - codyroux/traat-lean
https://github.com/codyroux/traat-lean/blob/4a37997cfb0abdbbeba2a74f4407cc643ffc53ee/Traat/criticalpairs.lean#L1530
1
5
1
reposted by
Philip Zucker
Kiran
about 2 months ago
Ayooo??? new blog post??? already????
kirancodes.me/posts/log-wh...
3
32
2
reposted by
Philip Zucker
Brandon Rohrer
about 2 months ago
My blog had evolved into an unfriendly wall of links. To fix this I added an on-ramp section at the beginning.
brandonrohrer.org
2
14
1
reposted by
Philip Zucker
Arnaud Spiwack
2 months ago
So. I did a thing. This was actually quite a lot of work, so I'm quite proud of this one. I wrote a tiny example of a sheaf interpreter (in Haskell).
github.com/aspiwack/she...
1/8
loading . . .
GitHub - aspiwack/sheaf-lang-demo: An experiment to see what interpretation into (pre)sheaves categories look like
An experiment to see what interpretation into (pre)sheaves categories look like - aspiwack/sheaf-lang-demo
https://github.com/aspiwack/sheaf-lang-demo
2
12
8
reposted by
Philip Zucker
Max Willsey
2 months ago
EGRAPHS Workshop deadline in two weeks (Apr 17)! Plenty of time to whip up your presentation proposal. Remote/in-person, in-progress or already published work is welcome.
add a skeleton here at some point
0
1
2
[New Blog Post] Alpha Equivalent Hash Consing with Thinnings
www.philipzucker.com/thin_hash_co...
#logic
#datastructure
loading . . .
Alpha Equivalent Hash Consing with Thinnings
Another step on a journey to a thinning egraph.
https://www.philipzucker.com/thin_hash_cons_codebruijn/
2 months ago
0
0
0
reposted by
Philip Zucker
Adrian Sampson
3 months ago
☕️ LATTE, our little workshop on hardware design languages/compilers/etc., has 24 (!) rad-looking position papers this year. It’s on Monday, and you can attend on Zoom or in Pittsburgh:
https://capra.cs.cornell.edu/latte26/
loading . . .
LATTE ’26
https://capra.cs.cornell.edu/latte26/
1
1
4
A little taste of refinement python
3 months ago
1
6
0
Awesome! There was a pyiodide build but it stalled out
github.com/Z3Prover/z3/...
is this a different approach?
add a skeleton here at some point
3 months ago
0
0
0
reposted by
Philip Zucker
José A. Alonso
3 months ago
A formalization of abstract rewriting in Agda. ~ Sam Arkle, Andrew Polonsky.
arxiv.org/abs/2603.109...
#Agda
loading . . .
A Formalization of Abstract Rewriting in Agda
We present a constructive formalization of Abstract Rewriting Systems (ARS) in the Agda proof assistant, focusing on standard results in term rewriting. We define a taxonomy of concepts related to ter...
https://arxiv.org/abs/2603.10936v1
0
2
1
[New Blog Post] Monus, Factor, and Thinning Union Finds
www.philipzucker.com/thin_monus_uf/
#python
#math
#logic
loading . . .
Monus, Factor, and Thinning Union Finds
I have kind of a recipe book I follow to thinking about generalized e-graphs or e-graph modulo theories. One recipe is to try and swap a regular union find out with some notion of generalized union fi...
https://www.philipzucker.com/thin_monus_uf/
3 months ago
0
0
0
reposted by
Philip Zucker
Alex Nelson
3 months ago
Feferman's FS0 is built atop *classical* first-order logic with equality. Do we gain anything by restricting ourselves to *Intuitionistic* first-order logic with equality? I mean, besides a headache...
0
1
1
Refinement Modeling and Verification of RISC-V Assembly using Knuckledragger
www.philipzucker.com/refine_assem...
#assembly
#riscv
#formalmethods
#python
with video
www.youtube.com/watch?v=NQGh...
loading . . .
Refinement Modeling and Verification of RISC-V Assembly using Knuckledragger
Binary verification is useful on a couple counts:
https://www.philipzucker.com/refine_assembly/
3 months ago
0
1
0
[New Blog Post] Thinnings: Sublist Witnesses and de Bruijn Index Shift Clumping
www.philipzucker.com/thin1/
#python
#logic
#math
loading . . .
Thinnings: Sublist Witnesses and de Bruijn Index Shift Clumping
There was a thread on mastodon recently where Conor Mcbride was discussing some really cool stuff. I think the intent was to get at something more interesting, but this is the first place I’ve seen th...
https://www.philipzucker.com/thin1/
3 months ago
0
2
0
[New Blog Post] State of Knuckledragger III: Kernel Changes, Symbolic Union, AI, and more
www.philipzucker.com/state_o_knuc...
#python
#logic
#theoremproving
loading . . .
State of Knuckledragger III: Kernel Changes, Symbolic Union, AI, and more
Maybe a good idea to take stock of how Knuckledragger https://github.com/philzook58/knuckledragger is going for myself and whomever might be interested.
https://www.philipzucker.com/state_o_knuck_3/
3 months ago
0
1
0
reposted by
Philip Zucker
Michael Kinyon
3 months ago
The simplest known single axiom for groups in terms of multiplication & inverses: ((z * (x * y)^{-1})^{-1} * (z * y^{-1})) * (y^{-1} * y)^{-1} = x (Source: K. Kunen. Single axioms for groups. J. Automated Reasoning 9 (1992), 291-308)
4
32
4
reposted by
Philip Zucker
José A. Alonso
3 months ago
When Agda met Vampire. ~ Artjoms Šinkarovs, Michael Rawson.
arxiv.org/abs/2602.188...
#Agda
#ITP
#Vampire
#ATP
loading . . .
When Agda met Vampire
Dependently-typed proof assistants furnish expressive foundations for mechanised mathematics and verified software. However, automation for these systems has been either modest in scope or complex in ...
https://arxiv.org/abs/2602.18844v1
0
2
1
reposted by
Philip Zucker
Austin Henley
4 months ago
“The amount of serendipity that will occur in your life, your Luck Surface Area, is directly proportional to the degree to which you do something you’re passionate about combined with the total number of people to whom this is effectively communicated.”
1
7
1
[New Blog Post] An AC Hash Cons with AC matching
www.philipzucker.com/ac_hashcons/
loading . . .
An Associative-Commutative (AC) Hash Cons with AC matching
There is an approach to problem solving where you take simpler and simpler subproblems until they are quite obvious, and then you build back up to the thing you want.
https://www.philipzucker.com/ac_hashcons/
4 months ago
0
0
0
[New Blog Post] Weighted Union Find and Ground Knuth Bendix Completion
www.philipzucker.com/weighted_uf/
loading . . .
Weighted Union Find and Ground Knuth Bendix Completion
A union find variant I think is simple and interesting is the “weighted” union find. This is distinguished from “size” or “rank” in that weight is considered a property of the id given by the user, no...
https://www.philipzucker.com/weighted_uf/
4 months ago
0
5
1
[New Blog Post] SMTLIB as a Compiler IR I
www.philipzucker.com/smt_compiler...
#compiler
#smtlib
loading . . .
SMTLIB as a Compiler IR I
I like SMT solvers. Compilers are cool. What kind of babies can they make?
https://www.philipzucker.com/smt_compiler_i/
4 months ago
0
5
1
reposted by
Philip Zucker
Andy Wingo
4 months ago
six thoughts on generating c ~~
wingolog.org/archives/202...
loading . . .
six thoughts on generating c — wingolog
wingolog: article: six thoughts on generating c
https://wingolog.org/archives/2026/02/09/six-thoughts-on-generating-c
0
5
3
Proving Cauchy-Schwarz for vec3 in knuckledragger
4 months ago
0
0
0
reposted by
Philip Zucker
AAPTHQ
4 months ago
Enjoy this free-access article from the latest issue of The Physics Teacher.
doi.org/10.1119/5.02...
#PhysicsTeachers
#PhysicsEducation
#Physics
#TPT
loading . . .
Orbits of Balls in a Funnel and a Spherical Surface
Many articles have been published concerning experiments with funnels and other curved surfaces to illustrate Kepler’s laws of planetary motion.1–5 The main obj
https://doi.org/10.1119/5.0229223
0
7
2
[New Blog Post] Calling Lean Functions As Python Functions
www.philipzucker.com/leancall/
#lean4
#python
loading . . .
Calling Lean Functions As Python Functions
I think Lean is neat.
https://www.philipzucker.com/leancall/
4 months ago
1
4
0
[New Blog Post] Term Ordering Etudes: Ground Lexicographic Path Ordering
www.philipzucker.com/lpo_etudes/
#logic
loading . . .
Term Ordering Etudes: Ground Lexicographic Path Ordering
Term orderings are a concept that is both obvious and bizarre.
https://www.philipzucker.com/lpo_etudes/
4 months ago
0
1
0
reposted by
Philip Zucker
José A. Alonso
5 months ago
Elementary proofs of ring commutativity theorems. ~ Michael Kinyon, Desmond MacHale.
arxiv.org/abs/2601.125...
#ATP
#Prover9
#Math
loading . . .
Elementary proofs of ring commutativity theorems
Jacobson's commutativity theorem says that a ring is commutative if, for each $x$, $x^n = x$ for some $n > 1$. Herstein's generalization says that the condition can be weakened to $x^n-x$ being centra...
https://arxiv.org/abs/2601.12599v1
0
3
1
[New Blog Post] Subterms Modulo Theories I
www.philipzucker.com/subterm_mod_...
#logic
loading . . .
Subterms Modulo Theories I
Terms are nice (trees with ordered children). They make sense You can do rewriting on them, unification (equation solving) and (unfailing) completion (equational search). They are at least a relative ...
https://www.philipzucker.com/subterm_mod_miller/
5 months ago
0
2
0
A video and notebook on a short Introduction to SMT solvers
colab.research.google.com/github/philz...
www.youtube.com/watch?v=cI2s...
loading . . .
Google Colab
https://colab.research.google.com/github/philzook58/philzook58.github.io/blob/master/pynb/2026_smt_talk_dahgstuhl_egraphs.ipynb
5 months ago
0
5
1
Load more
feeds!
log in