Lifting E-Graphs: A Function Isn't a Constant
AuthorsPhilip Zucker
Resources
This paper introduces a new way to handle variables inside e-graphs so algebraic rewrites can be done more safely and elegantly.
Key results
sin1(var10) is compared with sin2(var20) as related lifted terms
The paper states lifti(liftj(X)) = liftk(X) where k is the composition of i and j, illustrated with composed thinnings
What the paper found
Lifting E-Graphs: A Function Isn’t a Constant proposes a lifting-aware extension of e-graphs that treats context as part of term identity, avoiding unsound variable capture while increasing sharing across differently scoped expressions. Built on ideas from slotted e-graphs and Co-de Bruijn syntax, the paper represents lifted terms with fat identifiers that pair an integer class id with a thinning bitvector, then uses lift-pulling smart constructors and a thinning-aware union-find to canonicalize equalities under α-equivalence-like context changes. The key technical move is to make lifting a first-class combinator: lift compositions collapse by thinning composition, lift homomorphisms push through function symbols, and union can peel common thinnings to recover ordinary equality, or synthesize a fresh representative when two lifted forms are not directly reconcilable. The result is an e-graph modulo theories style design that can compact expressions such as x, y, z, w 7→ 42 + 42 into a single pulled form, while preserving distinctions like sin1 and sin2 only up to their shared lifted structure. The paper also generalizes the same machinery to annotated union-finds, including offset, monus, and factor variants, to show that group structure is not required for relational union-find annotations.
Original abstract
Variables are quite subtle and easy to get wrong. An approach is described to support rigid $α$ canonical variables in an e-graph. The lifting e-graph has a baked-in notion of functional lifting combinator. It is implemented by fattening the usual integer identifiers with thinning bitvectors, lift-pulling smart constructors, and a special thinning-aware union find variation. The approach is inspired by slotted e-graphs and Co-de Bruijn syntax.
Read the original paperMore in Graph Learning
Browse all 32 papers →CodeGraph: Open-Taxonomy Knowledge Graph for Source Code with Wikidata Grounding
Federico Pennino, Andrea Gurioli, Stefano Zacchiroli, Maurizio Gabbrielli, Paolo Ferragina
CodeGraph turns 167 million source files into a Wikidata-grounded knowledge graph of algorithms, paradigms, patterns, and software domains.
GraphWrit3R: End-to-End 3D Scene Graph Writing
Luka Milivojevic, Nikola Popovic, Sayan Deb Sarkar, Sebastian Koch, Iro Armeni, Luc Van Gool, Danda Pani Paudel
GraphWrit3R turns 3D spatial data into open-vocabulary scene graphs using multimodal encoders and an LLM, without requiring ground-truth object annotations at inference.
Statistical Inference for Causal Discovery under Selection and Latent Variables via Single-Target Interventions
Xiaotian Hou, Kwangmoon Park, Hongzhe Li
This work shows how a small, carefully designed set of single-variable interventions can recover causal structure even when hidden confounders and selection bias complicate the data.