fact: Fixpoint traverse (s : term) (vs : list (bool * eterm)) : term := match vs with | nil => s | (true, u) :: vs => traverse (app s (flatten u)) vs | (false, closure xs u) :: vs => traverse (app (flatten (closure xs (lam u))) s) vs end.
imports: List Relations Undecidability.L.L Undecidability.L.Util.L_facts ssreflect ssrbool ssrfun