Deductive Software Verification – The KeY Book

Volume 10001 of the series Lecture Notes in Computer Science pp 243-287


From Specification to Proof Obligations

  • Daniel GrahlAffiliated withKarlsruhe Institute of Technology
  • , Mattias UlbrichAffiliated withKarlsruhe Institute of Technology Email author 

* Final gross prices may vary according to local VAT.

Get Access


The calculus of the KeY prover operates on the logic JavaDL while Java programs are specified using the Java Modeling Language (JML). This chapter builds a formal bridge between the two logical languages by providing a denotational formal semantics for JML, translating expressions and contracts to formulas in JavaDL. Proof obligations which entail the correctness of contracts are defined for functional and dependency contracts. The issue of well-definedness of JML contracts is discussed and a formulation of a proof condition is presented.