fact: Fixpoint traverse_my_term (f : nat -> nat -> my_value) l t := match t with | MyTValue v => MyTValue (traverse_my_value f l v) | MyTApp t1 t2 => MyTApp (traverse_my_term f l t1) (traverse_my_term f l t2) end with traverse_my_value f l v := match v with | MyVVar x => f l x | MyVAbs t => MyVAbs (traverse_my_term f (1 + l) t) end.
imports: Dblib.DblibTactics Dblib.DeBruijn