NTH

Lifting E-Graphs: A Function Isn't a Constant

AuthorsPhilip Zucker

July 14, 2026 2 min read
Watch on YouTube
The one-line take

This paper introduces a new way to handle variables inside e-graphs so algebraic rewrites can be done more safely and elegantly.

Key results

1
lifted sine contexts

sin1(var10) is compared with sin2(var20) as related lifted terms

2
common lifting rule

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 paper

More in Graph Learning

Browse all 32 papers →
02Graph Learning

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.

Read analysis