--- /dev/null
+\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); _ :? _; _ :? _; _ : nat |- ?26: Type
+n : nat; H : (eq nat n n); _ :? _; _ :? _; _ : nat |- ?27: ?26[n ; H ; _ ; _ ; __1]
+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]
+### (* TERM after disambiguation *)
+[n:nat][H:(eq nat n n)][g:(((nat->((eq nat __1 __1)->(le __2 O)))->(le n O))->True)](g [f:(nat->((eq nat __1 __1)->(le __2 O)))](f n H))
+### (* TYPE_OF the disambiguated term *)
+(n:nat)(H:(eq nat n n))(g:(((nat->((eq nat __1 __1)->(le __2 O)))->(le n O))->True))True
+### (* REDUCED disambiguated term *)
+[n:nat][H:(eq nat n n)][g:(((nat->((eq nat __1 __1)->(le __2 O)))->(le n O))->True)](g [f:(nat->((eq nat __1 __1)->(le __2 O)))](f n H))