Frex: dependently-typed algebraic simplification

06/27/2023
by   Guillaume Allais, et al.
0

We present an extensible, mathematically-structured algebraic simplification library design. We structure the library using universal algebraic concepts: a free algebra – fral – and a free extension – frex – of an algebra by a set of variables. The library's dependently-typed API guarantees simplification modules, even user-defined ones, are terminating, sound, and complete with respect to a well-specified class of equations. Completeness offers intangible benefits in practice – our main contribution is the novel design. Cleanly separating between the interface and implementation of simplification modules provides two new modularity axes. First, simplification modules share thousands of lines of infrastructure code dealing with term-representation, pretty-printing, certification, and macros/reflection. Second, new simplification modules can reuse existing ones. We demonstrate this design by developing simplification modules for monoid varieties: ordinary, commutative, and involutive. We implemented this design in the new Idris2 dependently-typed programming language, and in Agda.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/09/2021

The Agda Universal Algebra Library, Part 1: Foundation

The Agda Universal Algebra Library (UALib) is a library of types and pro...
research
06/05/2020

Leveraging the Information Contained in Theory Presentations

A theorem prover without an extensive library is much less useful to its...
research
01/26/2023

A Complete Inference System for Skip-free Guarded Kleene Algebra with Tests

Guarded Kleene Algebra with Tests (GKAT) is a fragment of Kleene Algebra...
research
04/26/2022

Non-determinsitic algebraic rewriting as adjunction

We develop a general model theoretic semantics to rewriting beyond the u...
research
09/27/2021

The software design of Gridap: a Finite Element package based on the Julia JIT compiler

We present the software design of Gridap, a novel finite element library...
research
02/06/2023

Algebraic Semantics of Datalog with Equality

We discuss the syntax and semantics of relational Horn logic (RHL) and p...
research
02/25/2021

Tuning as a Means of Assessing the Benefits of New Ideas in Interplay with Existing Algorithmic Modules

Introducing new algorithmic ideas is a key part of the continuous improv...

Please sign up or login with your details

Forgot password? Click here to reset