Frex: dependently typed algebraic simplification

Guillaume Allais, Edwin Brady, Nathan Corbyn, Ohad Kammar, Jeremy Yallop

Research output: Contribution to journalArticlepeer-review

Abstract

We present a new design for an algebraic simplification library structured around concepts from universal algebra: theories, models, homomorphisms, and universal properties of free algebras and free extensions of algebras. The library's dependently typed interface guarantees that both built-in and user-defined simplification modules are terminating, sound, and complete with respect to a well-specified class of equations. We have implemented the design in the Idris 2 and Agda dependently typed programming languages and shown that it supports modular extension to new theories, proof extraction and certification, goal extraction via reflection, and interactive development.
Original languageEnglish
Article number237
Pages (from-to)30-65
Number of pages36
JournalProceedings of the ACM on Programming Languages
Volume9
Issue numberIssue ICFP
Early online date5 Aug 2025
DOIs
Publication statusPublished - Aug 2025

Keywords

  • Dependent types
  • Frex
  • Free extension
  • Mathematically structured programming
  • Universal algebra
  • Algebraic simplification
  • Homomorphism
  • Universal property

Fingerprint

Dive into the research topics of 'Frex: dependently typed algebraic simplification'. Together they form a unique fingerprint.

Cite this