 
Summary: Formalizing O notation in Isabelle/HOL
Jeremy Avigad and Kevin Donnelly
Carnegie Mellon University
Abstract. We describe a formalization of asymptotic O notation using
the Isabelle/HOL proof assistant.
1 Introduction
Asymptotic notions are used to characterize the approximate longterm behavior
of functions in a number of branches of mathematics and computer science,
including analysis, combinatorics, and computational complexity. Our goal here
is to describe an implementation of one important asymptotic notion  "big O
notation"  using the Isabelle/HOL proof assistant.
Developing a library to support such reasoning poses a number of interesting
challenges. First of all, ordinary mathematical practice involving O notation
relies on a number of conventions, some determinate and some ambiguous, so
deciding on an appropriate formal representation requires some thought. Second,
we will see that a natural way of handling the notation is inherently higher
order; thus the implementation is a way of putting the higherorder features of
a theorem prover to the test. Finally, O notation is quite general, since many of
the definitions and basic properties make sense for the analysis of any domain
of functions A B where B has the structure of an ordered ring (or even, more
