fact: Fixpoint flatten (u : eterm) : term := let '(closure ctx t) := u in subst (fun n => ren (fun _ => 0) (nth n (map flatten ctx) (var 0))) t.
imports: Undecidability.LambdaCalculus(Krivine Lambda Util.term_facts) Undecidability.L.Util.L_facts List Lia Relations ssreflect