# Formalizing Mathematical Knowledge as a Biform Theory Graph: A Case   Study

**Authors:** Jacques Carette, William M. Farmer

arXiv: 1704.02253 · 2017-07-27

## TL;DR

This paper explores formalizing mathematical knowledge as a network of interconnected biform theories, using natural number arithmetic as a case study with two different formal systems, CTT_uqe and Agda.

## Contribution

It demonstrates the feasibility of representing mathematical knowledge as a theory graph of biform theories using two formal systems and compares their approaches.

## Key findings

- Successful formalization of natural number arithmetic as a theory graph
- Comparison of two formal systems for representing biform theories
- Insights into the advantages of using theory graphs for mathematical knowledge

## Abstract

A biform theory is a combination of an axiomatic theory and an algorithmic theory that supports the integration of reasoning and computation. These are ideal for formalizing algorithms that manipulate mathematical expressions. A theory graph is a network of theories connected by meaning-preserving theory morphisms that map the formulas of one theory to the formulas of another theory. Theory graphs are in turn well suited for formalizing mathematical knowledge at the most convenient level of abstraction using the most convenient vocabulary. We are interested in the problem of whether a body of mathematical knowledge can be effectively formalized as a theory graph of biform theories. As a test case, we look at the graph of theories encoding natural number arithmetic. We used two different formalisms to do this, which we describe and compare. The first is realized in ${\rm CTT}_{\rm uqe}$, a version of Church's type theory with quotation and evaluation, and the second is realized in Agda, a dependently typed programming language.

---
Source: https://tomesphere.com/paper/1704.02253