Section LambdaFreeness.
Context {X: Const}.
Inductive lambda_free : exp X -> Prop :=
| lambda_free_var x: lambda_free (var x)
| lambda_free_const c: lambda_free (const c)
| lambda_free_app s t: lambda_free s -> lambda_free t -> lambda_free (s t).

Lemma lambda_free_subst_eqs sigma E:
(forall x, x ∈ Vars' E -> lambda_free (sigma x)) -> all_terms lambda_free E -> all_terms lambda_free (sigma •₊₊ E).