Citation Link: https://doi.org/10.25819/ubsi/10541
CompilerForCAP – Building and compiling categorical towers in algorithmic category theory
Alternate Title
CompilerForCAP – Aufbau und Kompilierung von kategoriellen Türmen in algorithmischer Kategorientheorie
Source Type
Doctoral Thesis
Author
Zickgraf, Fabian
Institute
Issue Date
2024
Abstract
In this thesis we develop CompilerForCAP, a compiler for optimizing and verifying categorical towers in algorithmic category theory. To see the need for a compiler, we start with some setup: First, we show how algorithmic category theory can be interpreted as a high-level programming language, and introduce the software framework CAP: Categories, Algorithms, and Programming. Moreover, we introduce programming conventions which allow us to prove that categorical algorithms written in CAP are faithful to the mathematics done on paper. Next, we introduce the concept of categorical towers, which has been used before to make constructions in categories algorithmic. We will see that computations in categorical towers naturally come with a sizeable performance overhead. This shows the need for a compiler like CompilerForCAP.
Afterwards, we present various applications of categorical towers exhibiting the advantages of the approach. The two main applications are the computation of lifts in categories of finitely presented modules over certain rings and algorithms for the closed monoidal structure of the category of ZX-diagrams, a category appearing in quantum computing. As an application, we use the category of ZX-diagrams to model a foundational functional programming language for quantum computers.
Afterwards, we see in detail how CompilerForCAP can optimize the categorical towers in the presented applications and provide benchmarks showing the performance gains in concrete computations. As we will see, CompilerForCAP can make the difference between "finishes in seconds" and "will never finish". The central mechanism that makes these optimizations possible are reinterpretations of categorical towers, which allow to simplify the data structures of categorical towers. Finally, we show that CompilerForCAP can also be used as a proof assistant for verifying categorical implementations.
In summary, CompilerForCAP can generate efficient and verified implementations, allowing us to make full use of the advantages of building categorical towers on a computer.
Afterwards, we present various applications of categorical towers exhibiting the advantages of the approach. The two main applications are the computation of lifts in categories of finitely presented modules over certain rings and algorithms for the closed monoidal structure of the category of ZX-diagrams, a category appearing in quantum computing. As an application, we use the category of ZX-diagrams to model a foundational functional programming language for quantum computers.
Afterwards, we see in detail how CompilerForCAP can optimize the categorical towers in the presented applications and provide benchmarks showing the performance gains in concrete computations. As we will see, CompilerForCAP can make the difference between "finishes in seconds" and "will never finish". The central mechanism that makes these optimizations possible are reinterpretations of categorical towers, which allow to simplify the data structures of categorical towers. Finally, we show that CompilerForCAP can also be used as a proof assistant for verifying categorical implementations.
In summary, CompilerForCAP can generate efficient and verified implementations, allowing us to make full use of the advantages of building categorical towers on a computer.
File(s)![Thumbnail Image]()
Loading...
Name
Dissertation_Zickgraf_Fabian.pdf
Size
1.44 MB
Format
Adobe PDF
Checksum
(MD5):08c4482d8b3ab20e47f4b49409018456
Owning collection