Skip to main navigation Skip to search Skip to main content

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 numberICFP
DOIs
Publication statusPublished - 5 Aug 2025

Keywords / Materials (for Non-textual outputs)

  • algebraic simplification
  • dependent types
  • free extension
  • frex
  • homomorphism
  • mathematically structured programming
  • universal algebra
  • universal property

Fingerprint

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

Cite this