\lambda n:nat.
\lambda H:n=n.\lambda g:(?\to (le n 0))\to True.(g \lambda f.(f n H))
### (* METASENV after disambiguation *)
-n : nat; H : (eq nat n n); _ :? _; _ :? _; x : nat |- ?26: Type
-n : nat; H : (eq nat n n); _ :? _; _ :? _; x : nat |- ?27: ?26[n ; H ; _ ; _ ; x]
-n : nat; H : (eq nat n n); _ :? _ |- ?8: Type
-n : nat; H : (eq nat n n); _ :? _ |- ?9: ?8[n ; H ; _]
-n : nat; H : (eq nat n n) |- ?5: Type
-n : nat; H : (eq nat n n) |- ?6: ?5[n ; H]
+ |- ?4: Type
+n : nat; H : (eq nat n n) |- ?5: ?4[]
### (* TERM after disambiguation *)
[n:nat][H:(eq nat n n)][g:(((x:nat)((eq nat x x)->(le x O))->(le n O))->True)](g [f:(x:nat)((eq nat x x)->(le x O))](f n H))
### (* TYPE_OF the disambiguated term *)