J. Blanchette, Fabian Meier, A. Popescu, Dmitriy Traytel
{"title":"高阶逻辑的基本非一致(Co)数据类型","authors":"J. Blanchette, Fabian Meier, A. Popescu, Dmitriy Traytel","doi":"10.1109/LICS.2017.8005071","DOIUrl":null,"url":null,"abstract":"Nonuniform (or “nested” or “heterogeneous”) datatypes are recursively defined types in which the type arguments vary recursively. They arise in the implementation of finger trees and other efficient functional data structures. We show how to reduce a large class of nonuniform datatypes and codatatypes to uniform types in higher-order logic. We programmed this reduction in the Isabelle/HOL proof assistant, thereby enriching its specification language. Moreover, we derive (co)induction and (co)recursion principles based on a weak variant of parametricity.","PeriodicalId":313950,"journal":{"name":"2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":"{\"title\":\"Foundational nonuniform (Co)datatypes for higher-order logic\",\"authors\":\"J. Blanchette, Fabian Meier, A. Popescu, Dmitriy Traytel\",\"doi\":\"10.1109/LICS.2017.8005071\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Nonuniform (or “nested” or “heterogeneous”) datatypes are recursively defined types in which the type arguments vary recursively. They arise in the implementation of finger trees and other efficient functional data structures. We show how to reduce a large class of nonuniform datatypes and codatatypes to uniform types in higher-order logic. We programmed this reduction in the Isabelle/HOL proof assistant, thereby enriching its specification language. Moreover, we derive (co)induction and (co)recursion principles based on a weak variant of parametricity.\",\"PeriodicalId\":313950,\"journal\":{\"name\":\"2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)\",\"volume\":\"39 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-06-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"15\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/LICS.2017.8005071\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/LICS.2017.8005071","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Foundational nonuniform (Co)datatypes for higher-order logic
Nonuniform (or “nested” or “heterogeneous”) datatypes are recursively defined types in which the type arguments vary recursively. They arise in the implementation of finger trees and other efficient functional data structures. We show how to reduce a large class of nonuniform datatypes and codatatypes to uniform types in higher-order logic. We programmed this reduction in the Isabelle/HOL proof assistant, thereby enriching its specification language. Moreover, we derive (co)induction and (co)recursion principles based on a weak variant of parametricity.