3 Programs, Theories, and Specifications
In this chapter, we are going to illustrate the basics of the RISC ProgramExplorer by some small
examples (which are included in the software distribution) that describe how to write formally
specified programs. In more detail, we are going to show how
- to write programs in a and have them parsed and type-checked;
- to use a in order to and have them parsed and type-checked;
- to annotate programs with (see Appendix C) and have them parsed and type-checked;
- to prove the generated type-checking conditions, either by automatic proofs (using
the integrated Cooperating Validity Checker Lite CVCL [3, 2]), or, if this should
not succeed, by a computer-assisted interactive proof (using the integrated RISC
ProofNavigator [8, 5]).
In Chapter 4, we will discuss how to investigate the semantics of these programs and how to reason
about them (i.e., how to prove their correctness with respect to their specification).