From Specification to Proof Obligations
- First Online:
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.
Unable to display preview. Download preview PDF.