Simulating Induction-Recursion for Partial Algorithms

We describe a generic method to implement and extract partial recursive algorithms in Coq in a purely constructive way, using L. Paulson's if-then-else normalization as a running example.