Require Export String.
From Undecidability.L Require Export Preliminaries.
(** * Definition of L *)
(** ** Syntax *)
Inductive term : Type :=
| var (n : nat) : term
| app (s : term) (t : term) : term
| lambda (s : term).
Definition lam s := exists t, s = lambda t.
Hint Unfold lam.

(* Specifications: *)
Lemma lambda_lam s : lam (lambda s).
Hint Resolve lambda_lam.