I’d like to define the following function using Program Fixpoint or Function in Coq:
Program Fixpoint
Function
Require Import Coq.Lists.List. Import ListNota
You can now do this with Equations and get the right elimination principle automatically, using either structural nested recursion or well-founded recursion