Browse > Article
http://dx.doi.org/10.5626/JOK.2016.43.12.1342

Coinductive Subtyping for Recursive and Union Types  

Im, Hyeonseung (Kangwon National Univ.)
Publication Information
Journal of KIISE / v.43, no.12, 2016 , pp. 1342-1350 More about this Journal
Abstract
Induction and coinduction are well-established proof principles, which are widely used in mathematics and computer science. In particular, induction is taught in most undergraduate programs and well understood in the field of computer science. In contrast, coinduction is not as widespread or well understood as induction. In this paper, we introduce coinduction by defining a subtype system for recursive and union types and proving the transitivity property of the system. This paper will help to promote familiarity with coinduction and provides a basis for a subtype system for recursive types with other advanced type constructors and connectives.
Keywords
induction; coinduction; least/greatest fixed point; subtyping; recursive types; union types;
Citations & Related Records
연도 인용수 순위
  • Reference
1 R. Milner. Communication and Concurrency. Prentice Hall, 1989.
2 A. Tarski, "A lattice-theoretical fixpoint theorem and its applications," Pacific Journal of Mathematics, Vol. 5, No. 2, pp. 285-309, 1955.   DOI
3 M. Brandt and F. Henglein, "Coinductive axiomatization of recursive type equality and subtyping," Fundamenta Informaticae, Vol. 33, No. 4, pp. 309-338, 1998.
4 P. Aczel. An Introduction to Inductive Definitions, Chapter C.7. North-Holland, 1977.
5 B. Courcelle, "Fundamental properties of infinite trees," Theoretical Computer Science, Vol. 25, pp. 95-169, 1983.   DOI
6 X. Leroy and H. Grall, "Coinductive big-step operational semantics," Inf. Comput., Vol. 207, No. 2, pp. 284- 304. (2009)   DOI
7 B. C. Pierce, "Bounded quantification is undecidable," Proc. of POPL, pp. 305-315, 1992.
8 V. Gapeyev, M. Y. Levin, and B. C. Pierce, "Recursive subtyping revealed," Journal of Functional Programming, Vol. 12, No. 6, pp. 511-548, 2002.   DOI
9 R. M. Amadio and L. Cardelli, "Subtyping recursive types," ACM Trans. Program. Lang. Syst., Vol. 15, No. 4, pp. 575-631, 1993.   DOI
10 A. Frisch, G. Castagna, and V. Benzaken, "Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types," J. ACM, Vol. 55, No. 4, 2008.
11 D. Sangiorgi. Introduction to Bisimulation and Coinduction. Cambridge University Press, 2011.
12 D. Kozen and A. Silva, "Practical coinduction," Math. Struct. in Comp. Science, Published online: 9 February 2016. Doi:10.1017/S0960129515000493.   DOI