• Corpus ID: 195848251

Trustworthy Graph Algorithms

  title={Trustworthy Graph Algorithms},
  author={Mohammad Abdulaziz and Kurt Mehlhorn and Tobias Nipkow},
The goal of the LEDA project was to build an easy-to-use and extendable library of correct and efficient data structures, graph algorithms and geometric algorithms. We report on the use of formal program verification to achieve an even higher level of trustworthiness. Specifically, we report on an ongoing and largely finished verification of the blossom-shrinking algorithm for maximum cardinality matching. 

Figures from this paper

Verified Textbook Algorithms - A Biased Survey

The state of the art of verifying standard textbook algorithms is surveyed, largely on the classic text by Cormen et al.

Discovering and Certifying Lower Bounds for the Online Bin Stretching Problem

The first non-trivial lower bounds for Online Bin Stretching with 6, 7 and 8 bins are provided, and the best known lower bound for 3 bins is increased.

Intelligent Computer Mathematics: 13th International Conference, CICM 2020, Bertinoro, Italy, July 26–31, 2020, Proceedings

Constraints Solvers: A Guided Tour and Informalizing Undergraduate Mathematics are reviewed.



LEDA: A Library of Efficient Data Types and Algorithms

LEDA is a library of efficient data types and algorithms that is a clear separation of specification and implementation, and its extendibility is its ease of use.

An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs

This paper presents an efficient implementation of Edmonds' algorithm for finding a maximum matching based on a system of labels that encodes the structure of alternating paths.

A Graph Library for Isabelle

This library supports general infinite directed graphs (digraphs) with labeled and parallel arcs, but care has been taken not to complicate reasoning on more restricted classes of digraphs.

Formalizing Network Flow Algorithms: A Refinement Approach in Isabelle/HOL

We present a formalization of classical algorithms for computing the maximum flow in a network: the Edmonds–Karp algorithm and the push–relabel algorithm. We prove correctness and time complexity of

Formally Verified Algorithms for Upper-Bounding State Space Diameters

This work investigates completeness thresholds related to the diameter of the underlying transition system, and describes the formal verification in HOL4 of compositional algorithms for computing a relatively tight upper bound on the system diameter.

From Algorithms to Working Programs: On the Use of Program Checking in LEDA

This paper reports on the use of program checking in the LEDA library of efficient data types and algorithms, and describes some of the algorithms used in this library.

Maximum matching and a polyhedron with 0,1-vertices

The emphasis in this paper is on relating the matching problem to the theory of continuous linear programming, and the algorithm described does not involve any "blind-alley programming" -which, essentially, amounts to testing a great many combinations.


This chapter discusses geometric algorithms, which are often composed of a set of basic geo metric predicates and constructions, also called primitives, and the challenges of implementing such primitives with fixed-precision floating-point arithmetic.

Certifying algorithms

Verification of Certifying Computations through AutoCorres and Simpl

The feasibility of performing the entire verification within Isabelle provides higher trust guarantees and it is particularly promising for checkers that require domain-specific reasoning.