{"title":"漫游类型:共归纳递归的形式化","authors":"Venanzio Capretta","doi":"10.2201/NIIPI.2013.10.4","DOIUrl":null,"url":null,"abstract":"Wander types are a coinductive version of inductive-recursive definitions. They are defined by simultaneously specifying the constructors of the type and a function on the type itself. The types of the constructors can refer to the function component and the function itself is given by pattern matching on the constructors. Wander types are different from inductive-recursive types in two ways: the structure of the elements is not required to be well-founded, so infinite applications of the constructors are allowed; and the recursive calls in the definition of the function are not required to be on structurally smaller arguments. Wander types generalize several known type formers. We can use the functional component to control the way the data branch. This allows not only the implementation of coinduction, but also of induction, by imposing well-foundedness through an appropriate function definition. Special instances of wander types are: plain inductive and coinductive types, inductive-recursive types, mixed inductive-coinductive types, continuous stream processors.","PeriodicalId":91638,"journal":{"name":"... Proceedings of the ... IEEE International Conference on Progress in Informatics and Computing. IEEE International Conference on Progress in Informatics and Computing","volume":"56 1","pages":"47"},"PeriodicalIF":0.0000,"publicationDate":"2013-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Wander types : A formalization of coinduction-recursion\",\"authors\":\"Venanzio Capretta\",\"doi\":\"10.2201/NIIPI.2013.10.4\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Wander types are a coinductive version of inductive-recursive definitions. They are defined by simultaneously specifying the constructors of the type and a function on the type itself. The types of the constructors can refer to the function component and the function itself is given by pattern matching on the constructors. Wander types are different from inductive-recursive types in two ways: the structure of the elements is not required to be well-founded, so infinite applications of the constructors are allowed; and the recursive calls in the definition of the function are not required to be on structurally smaller arguments. Wander types generalize several known type formers. We can use the functional component to control the way the data branch. This allows not only the implementation of coinduction, but also of induction, by imposing well-foundedness through an appropriate function definition. Special instances of wander types are: plain inductive and coinductive types, inductive-recursive types, mixed inductive-coinductive types, continuous stream processors.\",\"PeriodicalId\":91638,\"journal\":{\"name\":\"... Proceedings of the ... IEEE International Conference on Progress in Informatics and Computing. IEEE International Conference on Progress in Informatics and Computing\",\"volume\":\"56 1\",\"pages\":\"47\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-03-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"... Proceedings of the ... IEEE International Conference on Progress in Informatics and Computing. IEEE International Conference on Progress in Informatics and Computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.2201/NIIPI.2013.10.4\",\"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 the ... IEEE International Conference on Progress in Informatics and Computing. IEEE International Conference on Progress in Informatics and Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2201/NIIPI.2013.10.4","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Wander types : A formalization of coinduction-recursion
Wander types are a coinductive version of inductive-recursive definitions. They are defined by simultaneously specifying the constructors of the type and a function on the type itself. The types of the constructors can refer to the function component and the function itself is given by pattern matching on the constructors. Wander types are different from inductive-recursive types in two ways: the structure of the elements is not required to be well-founded, so infinite applications of the constructors are allowed; and the recursive calls in the definition of the function are not required to be on structurally smaller arguments. Wander types generalize several known type formers. We can use the functional component to control the way the data branch. This allows not only the implementation of coinduction, but also of induction, by imposing well-foundedness through an appropriate function definition. Special instances of wander types are: plain inductive and coinductive types, inductive-recursive types, mixed inductive-coinductive types, continuous stream processors.