Assertions and Recursions

We provide an algebraic description of subtypes and the way they propagate through recursive functions. By abstracting from the concrete domain of functions or relations we obtain a framework which is independent of strict or non-strict, deterministic or non-deterministic semantics. Applications include efficiency increasing simplification of recursions as well as proofs about recursions by noetherian induction, such as termination proofs.

[1]  Helmuth Partsch,et al.  Specification and Transformation of Programs - A Formal Approach to Software Development , 1990, Texts and Monographs in Computer Science.

[2]  Friedrich L. Bauer,et al.  The Munich Project CIP , 1988, Lecture Notes in Computer Science.

[3]  C. A. R. Hoare,et al.  Sequential Calculus , 1995, Inf. Process. Lett..

[4]  Friedrich L. Bauer,et al.  The Munich Project CIP: Volume I: The Wide Spectrum Language CIP-L , 1985 .

[5]  Roland Carl Backhouse,et al.  Induction and Recursion on Datatypes , 1995, MPC.

[6]  Martin Russling,et al.  A General Scheme for Breadth-First Graph Traversal , 1995, MPC.

[7]  Bernhard Möller,et al.  Applicative Assertions , 1989, MPC.

[8]  Roland Carl Backhouse,et al.  Fixed-Point Calculus , 1995, Inf. Process. Lett..

[9]  David Gries,et al.  Specification and Transformation of Programs: A Formal Approach to Software Development , 1990 .

[10]  J. Conway Regular algebra and finite machines , 1971 .

[11]  Christine Paulin-Mohring,et al.  Mathematics of Program Construction , 1998, Lecture Notes in Computer Science.

[12]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[13]  Friedrich L. Bauer,et al.  Formal Program Construction by Transformations-Computer-Aided, Intuition-Guided Programming , 1989, IEEE Trans. Software Eng..

[14]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[15]  Bernhard Möller,et al.  Shorter Paths to Graph Algorithms , 1992, Sci. Comput. Program..

[16]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[17]  Richard S. Bird,et al.  Algebra of programming , 1997, Prentice Hall International series in computer science.