(**Sofar,wehaveseenmanyexamplesofwhatwemightcall%``%#"#classical program verification.#"#%''%Wewriteprograms,writetheirspecifications,andthenprovethattheprogramssatisfytheirspecifications.TheprogramsthatwehavewritteninCoqhavebeennormalfunctionalprogramsthatwecouldjustaswellhavewritteninHaskellorML.Inthischapter,westartinvestigatingusesof%\index{dependenttypes}%_dependenttypes_tointegrateprogramming,specification,andprovingintoasinglephase.Thetechniqueswewilllearnmakeitpossibletoreducethecostofprogramverificationdramatically.*)
(**Sofar,wehaveseenmanyexamplesofwhatwemightcall"classical program verification."Wewriteprograms,writetheirspecifications,andthenprovethattheprogramssatisfytheirspecifications.TheprogramsthatwehavewritteninCoqhavebeennormalfunctionalprogramsthatwecouldjustaswellhavewritteninHaskellorML.Inthischapter,westartinvestigatingusesof%\index{dependenttypes}%_dependenttypes_tointegrateprogramming,specification,andprovingintoasinglephase.Thetechniqueswewilllearnmakeitpossibletoreducethecostofprogramverificationdramatically.*)