fact: Fixpoint term_enum_rec (k n: nat) : term := match k with | 0 => var 0 | S k => match Cantor.of_nat n with | (0, n') => var n' | (S (S n1), n2) => app (term_enum_rec k n1) (term_enum_rec k n2) | (1, n') => lam (term_enum_rec k n') end end.
imports: Undecidability.Synthetic.EnumerabilityFacts Undecidability.L.L Lia