5 research outputs found
Formalising Mathematics in Simple Type Theory
Despite the considerable interest in new dependent type theories, simple type
theory (which dates from 1940) is sufficient to formalise serious topics in
mathematics. This point is seen by examining formal proofs of a theorem about
stereographic projections. A formalisation using the HOL Light proof assistant
is contrasted with one using Isabelle/HOL. Harrison's technique for formalising
Euclidean spaces is contrasted with an approach using Isabelle/HOL's axiomatic
type classes. However, every formal system can be outgrown, and mathematics
should be formalised with a view that it will eventually migrate to a new
formalism
From LCF to Isabelle/HOL
Interactive theorem provers have developed dramatically over the past four
decades, from primitive beginnings to today's powerful systems. Here, we focus
on Isabelle/HOL and its distinctive strengths. They include automatic proof
search, borrowing techniques from the world of first order theorem proving, but
also the automatic search for counterexamples. They include a highly readable
structured language of proofs and a unique interactive development environment
for editing live proof documents. Everything rests on the foundation conceived
by Robin Milner for Edinburgh LCF: a proof kernel, using abstract types to
ensure soundness and eliminate the need to store proofs. Compared with the
research prototypes of the 1970s, Isabelle is a practical and versatile tool.
It is used by system designers, mathematicians and many others
Organizing numerical theories using axiomatic type classes
Mathematical reasoning may involve several arithmetic types, including those of the natural, integer, rational, real and complex numbers. These types satisfy many of the same algebraic laws. These laws need to be made available to users, uniformly and preferably without repetition, but with due account for the peculiarities of each type. Subtyping, where a type inherits properties from a supertype, can eliminate repetition only for a fixed type hierarchy set up in advance by implementors. The approach recently adopted for Isabelle uses axiomatic type classes, an established approach to overloading. Abstractions such as semirings, rings, fields and their ordered counterparts are defined and theorems are proved algebraically. Types that meet the abstractions inherit the appropriate theorems.