SearcharxivSearch

arXiv subjects

Jackson Brough

Publications and source records attributed to Jackson Brough.

2 recordsLinked to original sources

Formalizing the Real Numbers in Homotopy Type Theory with Cubical Agda

Real numbers in constructive mathematics have always seemed to require compromises of one form or another. Classical proofs of Cauchy completeness require countable choice, Bishop's setoid construction introduces persistent bookkeeping overhead on every definition and theorem, and Dedekind cuts force cumbersome universe-level tracking in predicative type theory. The Homotopy Type Theory (HoTT) book presents an alternative construction of the Cauchy real numbers as a higher inductive-inductive type family, avoiding all three compromises. We formalize the HoTT book reals in Cubical Agda, a proof assistant whose native support for higher inductive types allows the construction to be expressed directly. The code type-checks without postulates or holes, providing a foundation for further machine-assisted work in constructive analysis.

cs.LO

Target-Aware Implementation of Real Expressions

New low-precision accelerators, vector instruction sets, and library functions make maximizing accuracy and performance of numerical code increasingly challenging. Two lines of work$\unicode{x2013}$traditional compilers and numerical compilers$\unicode{x2013}$attack this problem from opposite directions. Traditional compiler backends optimize for specific target environments but are limited in their ability to balance performance and accuracy. Numerical compilers trade off accuracy and performance, or even improve both, but ignore the target environment. We join aspects of both to produce Chassis, a target-aware numerical compiler. Chassis compiles mathematical expressions to operators from a target description, which lists the real expressions each operator approximates and estimates its cost and accuracy. Chassis then uses an iterative improvement loop to optimize for speed and accuracy. Specifically, a new instruction selection modulo equivalence algorithm efficiently searches for faster target-specific programs, while a new cost-opportunity heuristic supports iterative improvement. We demonstrate Chassis' capabilities on 9 different targets, including hardware ISAs, math libraries, and programming languages. Chassis finds better accuracy and performance trade-offs than both Clang (by 3.5x) or Herbie (by up to 2.0x) by leveraging low-precision accelerators, accuracy-optimized numerical helper functions, and library subcomponents.

cs.PL