. Specification languages are best used in environments that provide effective theorem proving. Having such support available, it is feasible to contemplate forms of typechecking that can use the services of a theorem prover. This allows interesting extensions to the type systems provided for specification languages. I describe one such extension called "predicate subtyping" and illustrate its utility as mechanized in PVS. 1 Introduction For programming languages, type systems and their associated typecheckers are intended to ensure the absence of certain undesirable behaviors during program execution . The undesired behaviors generally include untrapped errors such as adding a boolean to an integer, and may (e.g., in Java) encompass security violations. If the language is "type safe," then all programs that can exhibit these undesired behaviors will be rejected during typechecking. Execution is not a primary concern for specification languages, but typechecking can still se..
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.