| Jeremy Gibbons, Graham Hutton, and Thorsten Altenkirch. When is a function a fold or an unfold? Electronic Notes in Theoretical Computer Science, 44(1), 2001. Proceedings of the 4th International Workshop on Coalgebraic Methods in Computer Science. |
....8.2 The Converse of a Function Theorem One natural question is how widely the converse of a function theorem can be applied. In other words, how to determine whether the converse of a function theorem can be applied to a particular function. Part of the answer is given by Gibbons and Hutton in [36]. If the converse of a function can be written as a fold, the function itself must be an unfold. The necessary and su#cient conditions for a function to be an unfold given in [36] can thus be used as a test before applying the converse of a function theorem. We have proved a generalisation of the ....
....theorem can be applied to a particular function. Part of the answer is given by Gibbons and Hutton in [36] If the converse of a function can be written as a fold, the function itself must be an unfold. The necessary and su#cient conditions for a function to be an unfold given in [36] can thus be used as a test before applying the converse of a function theorem. We have proved a generalisation of the converse of the function theorem, which inverts a simple relation to a hylomorphism. The generalised converse of a function theorem extends the original one in two ways: it ....
[Article contains additional citation context not shown here]
J. Gibbons, G. Hutton, and T. Altenkirch. When is a function a fold or an unfold? In A. Corradini, M. Lenisa, and U. Montanari, editors, Coalgebraic Methods in Computer Science, number 44.1 in Electronic Notes in Theoretical Computer Science, April 2001.
....algorithm in Section 5 is an optimised special case and how they relate to each other. One natural question is how widely the theorem can be applied. In other words, how to determine whether the converse of a function theorem can be applied a particular function. Part of the answer is given in [14]: if the converse of a function can be written as a fold, the function itself must be an unfold. The necessary and su#cient conditions for a function to be an unfold given in [14] can thus be used as a test before applying the converse of a function theorem. One possible reason why inverting ....
....whether the converse of a function theorem can be applied a particular function. Part of the answer is given in [14] if the converse of a function can be written as a fold, the function itself must be an unfold. The necessary and su#cient conditions for a function to be an unfold given in [14] can thus be used as a test before applying the converse of a function theorem. One possible reason why inverting imperative programs were more often talked about could be that theories about non determinism in the context of refinement calculus are more established. In [33,2] for instance, ....
J. Gibbons, G. Hutton, and T. Altenkirch. When is a function a fold or an unfold? In A. Corradini, M. Lenisa, and U. Montanari, editors, Coalgebraic Methods in Computer Science, number 44.1 in Electronic Notes in Theoretical Computer Science, April 2001.
No context found.
J. Gibbons, G. Hutton, and T. Altenkirch. When is a function a fold or an unfold? Electronic Notes in Theoretical Computer Science, 44(1), Apr. 2001. Proceedings of Coalgebraic Methods in Computer Science.
No context found.
Gibbons, J., Hutton, G., Altenkirch, T.: When is a Function a Fold or an Unfold?, in: Proceedings of the 4th International Workshop on Coalgebraic Methods in Computer Science, number 44.1 in Electronic Notes in Theoretical Computer Science, Elsevier Science, April 2001.
....must always be polymorphic. So it can be used to implement some polymorphic functions, like that of flattening a nest to a list, but not usually for monomorphic functions such as sum. Even polymorphic functions cannot necessarily be written as folds, just as they cannot on regular datatypes [GHA01]. We can illustrate the difficulty in expressing sum as a fold on the above example (5) Writing the parameter f as an infix operator and using the Haskell syntax of writing the prefix form of an infix operator in parentheses (#) we have fold e (#) example = 1# ( 2,3) 4,5) 6,7) ....
....to investigate whether there is a class of problems on regular datatypes that can be specified as efficient folds, and then manipulated through the proof rules. There are still a number of questions that we have yet to answer, such as when is a function on either regular or nested datatypes a fold [GHA01], or an efficient fold Moreover, if a function can be expressed as an efficient fold, under what conditions does this give a significant improvement in performance On the theoretical side, there are similarities between the initial algebra definitions of generalised and efficient folds and those ....
J. Gibbons, G. Hutton and T. Altenkirch. When is a function a fold or an unfold? Electronic Notes in Theoretical Computer Science 44 No 1 (2001) http://www.elsevier.nl/locate/entcs/volume44.html.
No context found.
Jeremy Gibbons, Graham Hutton, and Thorsten Altenkirch. When is a function a fold or an unfold? Electronic Notes in Theoretical Computer Science, 44(1), 2001. Proceedings of the 4th International Workshop on Coalgebraic Methods in Computer Science.
No context found.
J. Gibbons, G. Hutton, and T. Altenkirch. When is a function a fold or an unfold? In A. Corradini, M. Lenisa, and U. Montanari, editors, Coalgebraic Methods in Computer Science, number 44.1 in Electronic Notes in Theoretical Computer Science, April 2001.
No context found.
Jeremy Gibbons, Graham Hutton, and Thorsten Altenkirch. When is a function a fold or an unfold? In Andrea Corradini, Marina Lenisa, and Ugo Montanari, editors, Proceedings 4th Workshop on Coalgebraic Methods in Computer Science, CMCS'01, Genova, Italy, 6-7 Apr. 2001, volume 44(1). Elsevier, Amsterdam, 2001.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC