This doctoral thesis addresses one major difficulty in formal proof: removing obstructions
to intuition which hamper the proof endeavour. We investigate this in the context
of formally verifying geometric algorithms using the theorem prover Isabelle, by first
proving the Graham’s Scan algorithm for finding convex hulls, then using the challenges
we encountered as motivations for the design of a general, modular framework
for combining mathematical tools.
We introduce our integration framework — the Prover’s Palette, describing in detail
the guiding principles from software engineering and the key differentiator of our
approach — emphasising the role of the user. Two integrations are described, using
the framework to extend Eclipse Proof General so that the computer algebra systems
QEPCAD and Maple are directly available in an Isabelle proof context, capable of running
either fully automated or with user customisation. The versatility of the approach
is illustrated by showing a variety of ways that these tools can be used to streamline the
theorem proving process, enriching the user’s intuition rather than disrupting it. The
usefulness of our approach is then demonstrated through the formal verification of an
algorithm for computing Delaunay triangulations in the Prover’s Palette