TY - JOUR
T1 - Continuous Functions on Final Coalgebras
AU - Ghani, Neil
AU - Hancock, Peter
AU - Pattinson, Dirk
PY - 2009/8/8
Y1 - 2009/8/8
N2 - In a previous paper we gave a representation of, and simultaneously a way of programming with, continuous functions on streams, whether discrete-valued functions, or functions between streams. We also defined a combinator on the representations of such continuous functions that reflects composition. Streams are one of the simplest examples of non-trivial final coalgebras. Here we extend our previous results to cover the case of final coalgebras for a broader class of functors than that giving rise to streams. Among the functors we can deal with are those that arise from countable signatures of finite-place untyped operators. These have many applications. The topology we put on the final coalgebra for such a functor is that induced by taking for basic neighbourhoods the set of infinite objects which share a common 'prefix', a la Baire space. The datatype of prefixes is defined together with the set of 'growth points' in a prefix, simultaneously. This we call beheading. To program and reason about representations of continuous functions requires a language whose type system incorporates the dependent function and pair types, inductive definitions at types Set, I → Set and (Σ I : Set) SetI, coinductive definitions at types Set and I → Set, as well as universal arrows for such definitions.
AB - In a previous paper we gave a representation of, and simultaneously a way of programming with, continuous functions on streams, whether discrete-valued functions, or functions between streams. We also defined a combinator on the representations of such continuous functions that reflects composition. Streams are one of the simplest examples of non-trivial final coalgebras. Here we extend our previous results to cover the case of final coalgebras for a broader class of functors than that giving rise to streams. Among the functors we can deal with are those that arise from countable signatures of finite-place untyped operators. These have many applications. The topology we put on the final coalgebra for such a functor is that induced by taking for basic neighbourhoods the set of infinite objects which share a common 'prefix', a la Baire space. The datatype of prefixes is defined together with the set of 'growth points' in a prefix, simultaneously. This we call beheading. To program and reason about representations of continuous functions requires a language whose type system incorporates the dependent function and pair types, inductive definitions at types Set, I → Set and (Σ I : Set) SetI, coinductive definitions at types Set and I → Set, as well as universal arrows for such definitions.
KW - Continuous functions
KW - containers
KW - final coalgebras
UR - http://www.scopus.com/inward/record.url?scp=68549122652&partnerID=8YFLogxK
U2 - 10.1016/j.entcs.2009.07.081
DO - 10.1016/j.entcs.2009.07.081
M3 - Article
SN - 1571-0661
VL - 249
SP - 3
EP - 18
JO - Electronic Notes in Theoretical Computer Science
JF - Electronic Notes in Theoretical Computer Science
ER -