Skip to content

Conversation

@johnchandlerburnham
Copy link
Member

Implement a Lean 4 kernel typechecker using a DAG representation with BUBS (Bottom-Up Beta Substitution) for efficient reduction. The kernel operates on a mutable DAG rather than tree-based expressions, enabling in-place substitution and shared subterm reduction.

12 modules: doubly-linked list, DAG nodes with 10 pointer variants, BUBS upcopy with 12 parent cases, Expr/DAG conversion, universe level operations, WHNF via trail algorithm, definitional equality with lazy delta/proof irrelevance/eta, type inference, and checking for quotients and inductives.

Implement a Lean 4 kernel typechecker using a DAG representation with
BUBS (Bottom-Up Beta Substitution) for efficient reduction. The kernel
operates on a mutable DAG rather than tree-based expressions, enabling
in-place substitution and shared subterm reduction.

12 modules: doubly-linked list, DAG nodes with 10 pointer variants,
BUBS upcopy with 12 parent cases, Expr/DAG conversion, universe level
operations, WHNF via trail algorithm, definitional equality with lazy
delta/proof irrelevance/eta, type inference, and checking for
quotients and inductives.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant