{"title":"基于原理图证明的程序开发框架","authors":"D. Basin, A. Bundy, Ina Kraan, S. Matthews","doi":"10.1109/IWSSD.1993.315502","DOIUrl":null,"url":null,"abstract":"Often, calculi for manipulating and reasoning about programs can be recast as calculi for synthesizing programs. The difference involves often only a slight shift of perspective: admitting metavariables into proofs. We propose that such calculi should be implemented in logical frameworks that support this kind of proof construction and that such an implementation can unify program verification and synthesis. The proposal is illustrated with a worked example developed in L.C. Paulson's (1990) Isabelle system. We also give examples of existent calculi that are closely related to the methodology we are proposing and others that can be profitably recast using the approach.<<ETX>>","PeriodicalId":259574,"journal":{"name":"Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design","volume":"207 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":"{\"title\":\"A framework for program development based on schematic proof\",\"authors\":\"D. Basin, A. Bundy, Ina Kraan, S. Matthews\",\"doi\":\"10.1109/IWSSD.1993.315502\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Often, calculi for manipulating and reasoning about programs can be recast as calculi for synthesizing programs. The difference involves often only a slight shift of perspective: admitting metavariables into proofs. We propose that such calculi should be implemented in logical frameworks that support this kind of proof construction and that such an implementation can unify program verification and synthesis. The proposal is illustrated with a worked example developed in L.C. Paulson's (1990) Isabelle system. We also give examples of existent calculi that are closely related to the methodology we are proposing and others that can be profitably recast using the approach.<<ETX>>\",\"PeriodicalId\":259574,\"journal\":{\"name\":\"Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design\",\"volume\":\"207 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1993-12-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"18\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IWSSD.1993.315502\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IWSSD.1993.315502","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A framework for program development based on schematic proof
Often, calculi for manipulating and reasoning about programs can be recast as calculi for synthesizing programs. The difference involves often only a slight shift of perspective: admitting metavariables into proofs. We propose that such calculi should be implemented in logical frameworks that support this kind of proof construction and that such an implementation can unify program verification and synthesis. The proposal is illustrated with a worked example developed in L.C. Paulson's (1990) Isabelle system. We also give examples of existent calculi that are closely related to the methodology we are proposing and others that can be profitably recast using the approach.<>