Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
On proving the termination of algorithms by machine
Artificial Intelligence
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Termination of Nested and Mutually Recursive Algorithms
Journal of Automated Reasoning
Function Definition in Higher-Order Logic
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Inductive Datatypes in HOL - Lessons Learned in Formal-Logic Engineering
TPHOLs '99 Proceedings of the 12th 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
A Fixedpoint Approach to Implementing (Co)Inductive Definitions
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
Journal of Automated Reasoning
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Modelling general recursion in type theory
Mathematical Structures in Computer Science
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Defining and reasoning about recursive functions: a practical tool for the coq proof assistant
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Proving and disproving termination of higher-order functions
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Nominal techniques in Isabelle/HOL
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Certified Size-Change Termination
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Automating Side Conditions in Formalized Partial Functions
Proceedings of the 9th AISC international conference, the 15th Calculemas symposium, and the 7th international MKM conference on Intelligent Computer Mathematics
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
A Compiled Implementation of Normalization by Evaluation
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Another Look at Function Domains
Electronic Notes in Theoretical Computer Science (ENTCS)
Formalizing the Logic-Automaton Connection
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Formalising FinFuns --- Generating Code for Functions as Data from Isabelle/HOL
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
From higher-order logic to Haskell: there and back again
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Flyspeck II: the basic linear programs
Annals of Mathematics and Artificial Intelligence
Partial and Nested Recursive Function Definitions in Higher-order Logic
Journal of Automated Reasoning
Constructive type classes in Isabelle
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Finding lexicographic orders for termination proofs in Isabelle/HOL
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Verified decision procedures on context-free grammars
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Proof pearl: looping around the orbit
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
CTP-based programming languages?: considerations about an experimental design
ACM Communications in Computer Algebra
Validating and animating higher-order recursive functions in b
Rigorous Methods for Software Construction and Analysis
A Two-Valued Logic for Properties of Strict Functional Programs Allowing Partial Functions
Journal of Automated Reasoning
Hi-index | 0.00 |
Based on inductive definitions, we develop an automated tool for defining partial recursive functions in Higher-Order Logic and providing appropriate reasoning tools for them. Our method expresses termination in a uniform manner and includes a very general form of pattern matching, where patterns can be arbitrary expressions. Termination proofs can be deferred, restricted to subsets of arguments and are interchangeable with other proofs about the function. We show that this approach can also facilitate termination arguments for total functions, in particular for nested recursions. We implemented our tool as a definitional specification mechanism for Isabelle/HOL.