1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Require Import List. Program Fixpoint f a : { x : nat | x > 0 } := match a with | 0 => 1 | S a' => g a a' end with g a b : { x : nat | x > 0 } := match b with | 0 => 1 | S b' => f b' end. Check f. Check g.