Proving termination of normalization functions for conditional expressions
Journal of Automated Reasoning
Information and Computation - Semantics of Data Types
The ALF proof editor and its proof engine
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
Termination of Nested and Mutually Recursive Algorithms
Journal of Automated Reasoning
Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Fix-Point Equations for Well-Founded Recursion in Type Theory
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Another Look at Nested Recursion
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Partial functions in constructive formal theories
Proceedings of the 6th GI-Conference on Theoretical Computer Science
Recursive Definitions in Type Theory
Proceedings of the Conference on Logic of Programs
Simple general recursion in type theory
Nordic Journal of Computing
Type-Theoretic Functional Semantics
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Extracting General Recursive Program Schemes in Nuprl's Type Theory
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
PTCS '01 Proceedings of the International Seminar on Proof Theory in Computer Science
Simple general recursion in type theory
Nordic Journal of Computing
A Type of Partial Recursive Functions
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Recursive functions with higher order domains
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Privacy in data mining using formal methods
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
The optimal fixed point combinator
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Hi-index | 0.00 |
We extend Bove's technique for formalising simple general recursive algorithms in constructive type theory to nested recursive algorithms. The method consists in defining an inductive special-purpose accessibility predicate, that characterizes the inputs on which the algorithm terminates. As a result, the type-theoretic version of the algorithm can be defined by structural recursion on the proof that the input values satisfy this predicate. This technique results in definitions in which the computational and logical parts are clearly separated; hence, the type-theoretic version of the algorithm is given by its purely functional content, similarly to the corresponding program in a functional programming language. In the case of nested recursion, the special predicate and the type-theoretic algorithm must be defined simultaneously, because they depend on each other. This kind of definitions is not allowed in ordinary type theory, but it is provided in type theories extended with Dybjer's schema for simultaneous inductive-recursive definitions. The technique applies also to the formalisation of partial functions as proper type-theoretic functions, rather than relations representing their graphs.