Lably
Skip to content

KeY

Formal verification tool

  • 6 min read
  • 5 chapters

Related on Lably

Through Java (programming language), Debugging and Logic

Overview

The usual user input to KeY consists of a Java source file with annotations in JML. Both are translated to KeY's internal representation, dynamic logic. From the given specifications, several proof obligations arise which are to be discharged, i.e. a proof has to be found. To this ends, the program is symbolically executed with the resulting changes to program variables stored in so-called updates. Once the program has been processed completely, there remains a first-order logic proof obligation. At the heart of the KeY system lies a first-order theorem prover based on sequent calculus, which is used to close the proof. Interference rules are captured in so called taclets which consist of an own simple language to describe changes to a sequent.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication

Source and licence. Adapted from the Wikipedia article “KeY” (this version, 2026-07-24) by its contributors, shared under CC BY-SA 4.0. Lablypedia has left out its tables, references and most pictures, and linked it to other Lablypedia articles.